Converge 是一個功能完整的跨平台訊息橋接系統,無縫連接 Line 和 Discord 兩大通訊平台。除了基本的訊息同步功能,還整合了 AI 對話、Web 管理介面、Webhook 系統等進階功能,適合用於團隊協作、社群整合、自動化通知等多種場景。
- 🏢 團隊協作 - 整合 Line 與 Discord 的團隊溝通
- 🤖 AI 助手 - 提供智能對話與自動回覆
- 🔔 自動通知 - GitHub/GitLab 等第三方服務通知
- 📊 數據監控 - 即時訊息統計與配額管理
- 🌐 多平台整合 - 統一管理多個通訊平台
- 🔄 雙向訊息同步 - Line ↔ Discord 即時訊息轉發
- 🖼️ 多媒體支援 - 圖片、影片、音訊、檔案自動轉發
- 🤖 AI 智能對話 - 整合 Google Gemini Pro,支援上下文對話
- 👤 使用者管理 - 完整的使用者資料與訊息記錄
- 📊 配額管理 - 智能控制 API 使用量,避免超限
- 🎨 管理儀表板 - 視覺化的即時數據與圖表
- 📈 統計分析 - 使用者活躍度、訊息量趨勢分析
- 🔍 訊息搜尋 - 強大的關鍵字搜尋與篩選
- ⚙️ 系統監控 - CPU、記憶體、資料庫狀態監控
- 🔔 Webhook 系統 - 支援 GitHub、GitLab 等第三方整合
- 🏥 健康檢查 - Kubernetes/Docker Ready/Liveness 支援
- 📡 Prometheus 指標 - 標準格式的監控指標導出
- 🛡️ 安全機制 - Webhook 簽名驗證、請求限流
- 🔧 Discord 指令 -
!status、!quota、!stats等豐富指令 - 📝 Line 指令 -
#status、#help群組指令支援
| 類別 | 技術 | 版本 |
|---|---|---|
| 語言 | Python | 3.8+ |
| Bot Framework | Discord.py | 2.0+ |
| Messaging API | Line Bot SDK | 3.0+ |
| AI Engine | Google Gemini | Pro |
| Web Framework | Flask | 3.0 |
| Database | SQLite | 3 |
| Monitoring | Prometheus | - |
┌─────────────────────────────────────────────────────────────────┐
│ Converge System │
└─────────────────────────────────────────────────────────────────┘
│
┌────────────────────────┼────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Discord Bot │◄──────►│ Flask Web │◄──────►│ Line Bot │
│ (Discord.py) │ │ (Webhook) │ │ (Messaging) │
└──────────────┘ └──────────────┘ └──────────────┘
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ Gemini AI │ │
│ │ (対話引擎) │ │
│ └──────────────┘ │
│ │ │
└────────────────────────┼────────────────────────┘
▼
┌──────────────┐
│ SQLite DB │
│ (數據存儲) │
└──────────────┘
Converge/
├── 📂 api/ # Web API & Dashboard
│ ├── routes.py # REST API 端點
│ ├── webhook.py # Webhook 處理
│ └── dashboard.py # 儀表板路由
├── 📂 core/ # 核心模組
│ ├── discord_bot.py # Discord 機器人管理
│ └── ai_engine.py # AI 引擎
├── 📂 models/ # 數據模型
│ ├── database.py # 資料庫管理
│ ├── user.py # 使用者模型
│ ├── message.py # 訊息模型
│ └── quota.py # 配額模型
├── 📂 services/ # 業務邏輯
│ ├── media_handler.py # 媒體處理
│ └── message_processor.py # 訊息處理
├── 📂 handlers/ # 事件處理
│ └── commands.py # 指令處理
├── 📂 utils/ # 工具函數
│ ├── logger.py # 日誌系統
│ └── retry.py # 重試機制
├── 📂 templates/ # HTML 模板
│ ├── dashboard.html # 儀表板
│ ├── users.html # 使用者管理
│ ├── messages.html # 訊息記錄
│ └── settings.html # 系統設定
├── 📂 static/ # 靜態資源
│ ├── css/ # 樣式表
│ └── js/ # JavaScript
├── 📂 docs/ # 文檔
│ ├── API.md # API 文檔
│ ├── DEPLOYMENT.md # 部署指南
│ ├── DEVELOPMENT.md # 開發指南
│ ├── CONTRIBUTING.md # 貢獻指南
│ └── SECURITY.md # 安全政策
├── 📄 main_new.py # 主程式 (新版)
├── 📄 config.py # 配置管理
├── 📄 requirements.txt # Python 依賴
├── 📄 .env.example # 環境變數範本
└── 📄 README.md # 本文件
- Python 3.8 或更高版本
- Discord Bot Token (取得方式)
- Line Messaging API (取得方式)
- Google Gemini API Key (取得方式)
- HTTPS 服務器 (用於 Line Webhook,可使用 ngrok)
git clone https://github.com/kaiyasi/Converge.git
cd Convergepython -m venv venv
# Linux/macOS
source venv/bin/activate
# Windows
venv\Scripts\activatepip install -r requirements.txt# 複製環境變數範本
cp .env.example .env
# 編輯 .env 檔案,填入您的 API 金鑰
nano .env # 或使用您喜歡的編輯器python main_new.py在 .env 檔案中配置以下參數:
# Discord 設定
DISCORD_TOKEN=your_discord_bot_token
DISCORD_CHANNEL_ID=your_channel_id
# Line 設定
LINE_CHANNEL_SECRET=your_line_channel_secret
LINE_CHANNEL_ACCESS_TOKEN=your_line_access_token
LINE_GROUP_ID=your_line_group_id
# Google Gemini AI
GOOGLE_API_KEY=your_gemini_api_key
# 伺服器設定
HOST=0.0.0.0
PORT=8080
DEBUG=False
# 配額限制
AI_DAILY_LIMIT=20
LINE_MONTHLY_LIMIT=500詳細配置說明請參閱 配置文檔。
| 指令 | 說明 | 範例 |
|---|---|---|
!status |
查看機器人狀態 | !status |
!quota |
查看 API 配額 | !quota |
!stats |
查看使用統計 | !stats |
!users |
查看使用者列表 | !users line |
!dbstats |
查看資料庫統計 | !dbstats |
!ping |
測試延遲 | !ping |
!help |
顯示幫助 | !help |
| 指令 | 說明 |
|---|---|
#status |
查看機器人狀態 |
#help |
顯示幫助訊息 |
直接私訊 Line Bot 即可開始 AI 對話:
你: 你好
Bot: 🤖 你好!有什麼我可以幫助你的嗎?
GET /api/health響應範例:
{
"status": "healthy",
"timestamp": "2025-10-19T18:30:00",
"checks": {
"database": "ok",
"discord_bot": "ok",
"ai_engine": "ok"
}
}GET /api/statsGET /api/metrics完整 API 文檔請參閱 API.md。
訪問 http://localhost:8080/ 即可打開 Web 管理介面。
| 頁面 | 路徑 | 說明 |
|---|---|---|
| 儀表板 | / |
即時統計、圖表、系統監控 |
| 使用者管理 | /users |
查看、搜尋、管理使用者 |
| 訊息記錄 | /messages |
訊息查詢、搜尋、匯出 |
| 系統設定 | /settings |
系統資訊、資料庫管理 |
📸 查看截圖
截圖功能開發中...
# 啟用除錯模式
export DEBUG=True
python main_new.py# 安裝測試依賴
pip install -r requirements-dev.txt
# 執行測試
pytest tests/
# 檢查程式碼品質
flake8 .
black --check .請遵循我們的 貢獻指南。
Q: 如何獲取 Discord Bot Token?
請參閱 Discord 設定指南。
Q: Line Webhook 驗證失敗怎麼辦?
- 確認
.env中的LINE_CHANNEL_SECRET正確 - 確保使用 HTTPS (本地可用 ngrok)
- 檢查 Webhook URL 格式:
https://your-domain.com/callback
Q: AI 對話沒有回應?
- 檢查
GOOGLE_API_KEY是否正確 - 確認是否超過每日配額 (預設 20 次)
- 查看日誌檔案
logs/bot.log中的錯誤訊息
更多問題請查看 完整 FAQ。
我們歡迎各種形式的貢獻!
-- 🐛 回報 Bug: 開啟 Issue -- 💡 提出功能建議: 開啟 Discussion
- 📝 改善文檔: 提交 Pull Request
- 🔧 貢獻代碼: 查看 CONTRIBUTING.md
感謝所有為此專案做出貢獻的開發者!
本專案採用 MIT 授權條款。
如果您發現安全漏洞,請不要公開發布。請參閱我們的安全政策進行私下回報。
- 📢 官方 Discord 群組: SerelixStudio_Discord
- :camera_with_flash: 官方 IG: SerelixStudio_IG
- :e_mail: 官方 Gmail: serelixstudio@gmail.com
- Discord.py - Discord API 封裝
- Line Bot SDK - Line Messaging API
- Google Generative AI - Gemini AI
- Flask - Web 框架
- Bootstrap - UI 框架
- Chart.js - 圖表庫
Converge by kaiyasi - 跨平台訊息橋接機器人 🔗 讓溝通更簡單 如果這個專案對你有幫助,請給我們一個 ⭐️