# Discord 猜謎互動機器人 (Lottery Bot) 這是一個基於 `discord.py` 開發的互動式 Discord 機器人,專門用於舉辦「看圖猜寶可夢」或「經典動畫角色」的猜謎活動。支援斜線指令 (Slash Commands) 並具備自動倒數計時與總複習功能。 ## 🌟 功能亮點 * **看圖猜謎**:內建寶可夢(150+隻)與經典動畫角色資料庫。 * **倒數計時**:出題後自動進入倒數,時間到自動公佈答案與圖片。 * **清單管理**:自動洗牌題目,並記錄目前進度,避免重複出現相同題目。 * **總複習模式**:自動播放模式,每秒巡迴顯示一位角色。 * **基礎工具**:提供延遲測試 (Ping) 與機器人資訊查詢。 ## 🛠️ 專案結構 * `discord-bot.py`: 機器人啟動入口,處理 Cog 載入與指令同步。 * `cogs/` * `base.py`: 存放基礎指令(如 info, ping)。 * `lottery.py`: 核心功能,處理猜謎邏輯、清單管理與倒數計時。 * `pokemon.json`: 寶可夢圖片與名稱資料庫。 * `animate.json`: 動畫角色圖片與作品資料庫。 * `.env`: 存放敏感資訊(如 Token、Guild ID)。 ## ⚙️ 安裝教學 ### 1. 準備環境 確保您的環境已安裝 Python 3.8 或以上版本。 ### 2. 安裝必要套件 在終端機執行以下指令: ```bash pip install discord.py python-dotenv ``` ### 3. 設定環境變數 建立一個 `.env` 檔案(或參考 `.env.example`),並填入您的資訊: ```env DISCORD_BOT_TOKEN=你的機器人Token GUILD_ID=你的伺服器ID ``` ### 4. 啟動機器人 ```bash python discord-bot.py ``` ## 🎮 指令說明 ### 猜謎指令 (`/`) | 指令 | 說明 | | --- | --- | | `/建立抽選清單` | 重新打亂並初始化寶可夢或動畫角色的題目清單。 | | `/抽選清單` | 顯示目前剩餘的題目數量。 | | `/抽寶可夢 [秒數]` | 隨機出一題寶可夢,並在指定秒數後揭曉答案。 | | `/抽動畫 [秒數]` | 隨機出一題動畫角色,並在指定秒數後揭曉答案。 | | `/動畫角色總複習` | 開始自動播放所有動畫角色圖片。 | | `/停止` | 停止進行中的總複習模式。 | ### 基礎指令 | 指令 | 說明 | | --- | --- | | `/info` | 查看機器人當前狀態與伺服器統計。 | | `/ping` | 測試網路延遲。 | | `/echo [文字]` | 讓機器人重複你說的話。 | --- **開發者**:唐宋 **技術棧**:Python, Discord.py, JSON