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

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