核心概念
go-bot 使用同步 reply handler 與平台原生互動元件。
生命週期
呼叫 New、註冊 Reply,再呼叫 Start(ctx)。New 建立 client 而不開啟傳輸;Start 驗證憑證;Close 為幂等。
| 平台 | 傳輸 | 驗證 |
|---|---|---|
| Telegram | long-polling goroutine | GetMe |
| Discord | REST 後 gateway | User("@me") |
| LINE | HTTP server | GetBotInfo 與 net.Listen |
Reply 與互動流程
handler 回傳非空字串會自動回覆文字;若程式自行送媒體或控制回應,則回傳空字串。Telegram 的單選走 CallbackData、多選走 CallbackPicks;Discord 將 modal input 放入 Text、多選值放入 CallbackPicks。LINE 刻意不實作 select/input/status。
媒體與 status
三平台的媒體下載皆使用 UUID 暫存檔,大小上限依序為 20 MiB、25 MiB、50 MiB。Telegram 與 Discord 的 status 以 chat/channel 為單位 debounce,FinishStatus 清 reaction 並移除 status 訊息。