文件

架構

go-bot 維持平台 package 的獨立性,並共用一項公開慣例:Reply(handler) 回傳非空字串時,會回覆至觸發對話。

系統總覽

flowchart LR
  App[Application] --> TG[telegram]
  App --> DC[discord]
  App --> LN[line]
  TG --> TTS[tts]
  DC --> TTS
  TG --> TGA[Telegram API]
  DC --> DGA[Discord API]
  LN --> LNA[LINE API]
  TTS --> Gemini[Gemini TTS]
  TTS --> FFmpeg[ffmpeg]

邊界

Package 傳輸方式 重點
telegram long polling 訊息、callback keyboard、媒體、status
discord WebSocket gateway 附件、原生元件、status
line HTTP webhook reply、push、媒體下載
tts HTTPS + process PCM 轉 OGG/OPUS

平台 package 刻意各自維持 Input 與 handler 型別,因為事件 payload 與 ID 不同。

EN