我正在寫一個小的 go bot。我使用了這個庫https://pkg.go.dev/github.com/go-telegram-bot-api/telegram-bot-api/[email protected]雖然它是版本 4,但是發送貼紙時一切正常以下代碼有效:bot.Send(tgbotapi.NewStickerShare(update.Message.Chat.ID, "hereIsTheIDOfTheSticker"))但是當我決定升級到版本 5 時,貼紙壞了?,F在我不知道如何發送它們。有人可以幫忙解決這個問題嗎?
1 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
我認為圖書館使用它的方式已經改變。
該功能NewStickerShare
不再存在。相反,您需要使用名為的新函數NewSticker
:
該
NewSticker
函數接受兩個參數:聊天ID
int64
如您所見,該
RequestFileData
接口具有以下協定:
type RequestFileData interface { NeedsUpload() bool UploadData() (string, io.Reader, error) SendData() string}
我們需要為您的 Sticker 實施此合同,或者找到圖書館已經實施的結構。可能庫為我們提供了一些東西,我們現在有了
FileID
實現這些方法的結構。
由此,一旦你想發送貼紙的 ID,你需要開發這樣的東西:
stickerID := tgbotapi.FileID("hereIsTheIDOfTheSticker") msg := tgbotapi.NewSticker(update.Message.Chat.ID, stickerID) bot.Send(msg)
如果你需要更多的結構來實現RequestFileData
契約,圖書館提供了其中的一些:FilePath
,FileReader
......每個都有你自己的目標。
我希望它可以幫助你 :)
- 1 回答
- 0 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消