Discord AI機器人
Project
2025-12-08
33
1
# Discord-AI Assistant 🤖



這是一個功能強大的 Discord 機器人,整合了 **Google Gemini AI** 與 **Cloudflare Workers AI**,支援多種模型切換並具備**對話記憶**功能。它能夠記住與用戶的上下文互動,提供更自然、連貫的對話體驗。
## ✨ 主要功能
- 🧠 **智慧對話**:利用 Gemini AI 進行自然語言處理,回答各種問題。
- 💾 **對話記憶**:機器人會記住過去的對話內容(儲存於 `memory` 資料夾),實現連續對話。
- 🔄 **多模型切換**:支援即時切換不同的 AI 模型(如 `gemini-1.5-pro`, `gemini-1.5-flash` 等)。
- 🗑️ **記憶管理**:用戶可隨時清除自己的對話紀錄。
- ⚡ **低延遲**:整合 Cloudflare Workers AI (選用) 以提供更多元的模型選擇。
## 🛠️ 安裝與設定
### 1. 前置需求
確保您的系統已安裝 Python 3.8 或以上版本。
### 2. 安裝套件
複製此專案到本地端,並安裝 `requirements.txt` 中的必要套件:
```bash
git clone [https://github.com/clre20/Discord-AI.git](https://github.com/clre20/Discord-AI.git)
cd Discord-AI
pip install -r requirements.txt
````
若手動安裝,請執行:
```bash
pip install discord.py google-generativeai requests asyncio
```
### 3\. 設定參數
打開 `ai8.py` (或原 `bot.py`) 文件,並修改以下變數以填入您的 API 金鑰與 Token:
```python
# 設定 Google Gemini API 金鑰
API_KEY = "您的_Gemini_API_Key"
# 設定 Discord 機器人 Token
BOT_TOKEN = "您的_Discord_Bot_Token"
# (選用) 設定 Cloudflare AI 端點
url = "[https://example.com](https://example.com)" # 需搭配 Cloudflare-Workers-AI 使用
# 設定指令前綴
COMMAND_PREFIX = "*"
```
> ⚠️ **安全提示**:建議不要將 API Key 直接提交到公開的 GitHub 庫中。在正式環境中,建議改用環境變數 (`os.getenv`) 來讀取這些敏感資訊。
## 🚀 啟動機器人
確認設定完成後,執行以下指令啟動機器人:
```bash
python ai8.py
```
成功啟動後,您將在終端機看到類似以下的訊息:
```
機器人已啟動,身分: <Bot_Name>
指令前綴: *
記憶體資料夾: memory
模型設定檔: memory/mode.json
...
```
## 🎮 指令列表
| 指令 | 說明 | 範例 |
| :--- | :--- | :--- |
| `@機器人 [訊息]` | 與機器人進行對話 (需提及機器人) | `@MyBot 你好嗎?` |
| `*mode [模型名稱]` | 切換使用的 AI 模型 | `*mode gemini-1.5-pro` |
| `*del` | 清除目前用戶的對話記憶 | `*del` |
| `*ping` | 查看機器人目前的網路延遲 | `*ping` |
### 支援的模型範例
- `gemini-1.5-pro`
- `gemini-1.5-flash`
- `gemini-2.0-flash-lite`
- *(以及其他您在設定檔中定義的 Cloudflare 模型)*
## 📂 專案結構
```
Discord-AI/
├── ai8.py # 機器人主程式
├── requirements.txt # 依賴套件列表
├── README.md # 說明文件
└── memory/ # 自動生成,用於儲存對話記憶與設定
├── mode.json # 模型設定檔
└── ... # 用戶對話紀錄
```
## 🤝 相關專案
- [Cloudflare-Workers-AI](https://github.com/clre20/Cloudflare-Workers-AI) - 此機器人可搭配使用的後端 API。
<p align="center"\>
Made with ❤️ by \<a href="https://github.com/clre20"\>clre20\</a\>
</p\>
返回首頁