文件

Discord

discord package 以 gateway event、REST 發送、附件保存與原生 Discord interaction 封裝 bwmarrin/discordgo

啟動與 dispatch

New(token) 設定 guild、guild-message、direct-message 及 message-content intent。Start(ctx) 先用 User("@me") 驗證 token,再開啟 WebSocket。dispatch 會略過 bot 自己的訊息,並同步呼叫 handler。請在 Discord Developer Portal 啟用 Message Content Intent,否則一般訊息沒有文字內容。

發送與保存

Method 行為
Send / Delete 發送文字 reply 或刪除訊息
SendFiles 在一則訊息中 streaming 上傳 1–10 個附件
SendVoice Gemini TTS 的 OGG audio attachment,不是原生 voice bubble
Save UUID 檔名下載,25 MiB 上限

原生互動

SendInput 發送 button,點擊後開啟 modal;送出後會以 Input.Text 呼叫 ReplySendSelectSendMultiSelect 使用 Discord String Select menu。select state 以 UUID 保存並於完成後移除;單選走 Text,多選走 CallbackPicks

Status

status 以 channel 為單位保存、1 秒 debounce,第一次會在引用訊息加預設 🤔 reaction。FinishStatus 等待進行中的 edit、清 reaction,再刪 status 訊息。

EN