# Discord Bot 實戰工作坊
## 這堂課要做什麼?
今天的目標不是學更多語法,而是完成一個可以實際互動的 Discord Bot。
在這 1.5 小時內,你需要做到:
- 想出一個明確主題
- 完成至少 2 個指令
- 加入 1 個 AI 功能(Gemini)
- 讓其他人可以進你的 server 試玩
---
## 規則
你的 Bot 需要符合:
- 至少 2 個指令
- 至少 1 個 AI 功能
- 有明確用途或互動設計
- 其他人能理解怎麼使用
不建議:
- 純聊天 bot(輸入一句 → AI 回一句)
- 題目過大(例如萬能助理、完整 RPG)
建議先做「最小可完成版本」,再考慮擴充。
---
## 主題方向(選一個即可)
### 遊戲 / 互動
- 海龜湯延伸
- 猜單字 / 猜角色
- 簡單劇情互動
### 學習
- 單字 / 題目練習
- 問答 bot
- 重點解釋
### 社群娛樂
- 抽卡
- 今日運勢
- 簡單生成內容(迷因、句子)
重點不是做大,而是做清楚。
---
## AI 工具使用方式
常見錯誤:
```
幫我寫一個 discord bot
```
建議問法:
```
我已經有一個 discord bot(python, discord.py)
我要新增一個 !quiz 指令
功能:
1. 隨機出題
2. 使用者回答後判斷正確與否
請幫我寫這個 function
```
原則:
- 描述目前進度
- 明確說要補哪一段功能
- 優先問「小問題」
---
## 範例拆解
主題:英文單字 bot
最小版本可以是:
- `!word` → 顯示一個單字
- `!quiz` → 出一題
- `!explain` → 用 AI 解釋
不要一開始就做完整系統,先讓基本流程跑起來。
---
## Step 1:先定義你的 Bot(不要急著寫 code)
請先寫下:
```
Bot 名稱:
主題:
要解決什麼問題 / 提供什麼互動:
指令 1:
指令 2:
AI 用在哪:
今天最少要完成什麼:
```
完成後再開始實作。
---
## Step 2:實作順序
建議依序完成:
1. 讓 bot 能回應基本指令
```
!test → 回應固定訊息
```
2. 接入 AI(Gemini)
> 上次進度
3. 完成第一個功能
4. 完成第二個功能
---
## 常見問題
1. Bot 沒反應
- token 設定錯誤
- intents 未開啟
2. API 無回應
- API key 未設定
- request 格式錯誤
遇到問題可以:
- 查錯誤訊息
- 問 AI(提供完整錯誤)
---
## 試玩與交流
可以去玩玩看別人的 bot,並簡單觀察:
- 這個 bot 的用途是什麼
- 哪個設計是好的
- 有沒有讓人困惑的地方
重點是理解「別人怎麼設計互動」。
---
## 收尾
今天完成的是第一版。
如果你覺得這個 bot 有潛力,可以繼續延伸,作為期末分享小專案的主題。
---
## 補充(有時間再做)
- 定時任務(自動發訊息)
- 記錄使用者資料
- 多人互動設計
- 訊息格式優化(embed)
---
## 核心原則
小而完整的作品,比大型但未完成的設計更重要。