我开发了一个电报机器人并使用了webhook。但是,我不知道如何使用InlineKeyboard和CallbackQuery。如果有人知道,请在下面写下一个简单的例子
我的尝试:
func AddFundsAction(botText BotMessage, NewBot *tgBotApi.BotAPI) {
chatUser := int64(botText.Message.From.Id)
markup := tgBotApi.NewInlineKeyboardMarkup(
tgBotApi.NewInlineKeyboardRow(
tgBotApi.NewInlineKeyboardButtonData("3", "3"),
),
)
reply := tgBotApi.NewMessage(chatUser, "hello, world!")
reply.ReplyMarkup = &markup
res, _ := NewBot.Send(reply)
fmt.Println(res)
}
错误:Bad Request: chat not found
最佳答案
我使用了HandlFunc而不是ListenWebHook,但我无法实现我的想法。
这个对我有用:
setWebhook(NewBot)
updates := NewBot.ListenForWebhook("/" + configuration.BOT_TOKEN)
go successfulPaymentListen()
go http.ListenAndServeTLS(fmt.Sprintf("%s:%s", configuration.BOT_HOST, configuration.BOT_PORT), configuration.CERT_FILE, configuration.CERT_KEY, nil)
for update := range updates {
if update.Message != nil {
recognizeCommand(update)
} else if update.CallbackQuery != nil {
log.Print(update.CallbackQuery.Data)
}
}
关于go - InlineKeyboard + Webhook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63834022/