我如何处理问题的答案?
How do I process the answer to a question?
我的处理程序回调:
func (b *Bot) HandleView(bot *tgbotapi.BotAPI, update tgbotapi.Update) error {
zap.L().Debug("handler", zap.Reflect("HandleView", update))
smileSearch := "\xF0\x9F\x94\x8E\t"
text := fmt.Sprintf("%v <b>Please enter phrase</b>\n\n", smileSearch)
msg := tgbotapi.NewMessage(update.CallbackQuery.From.ID, text)
msg.ParseMode = "html"
if _, err := bot.Send(msg); err != nil {
return err
}
return nil
}
我需要在单独的处理程序中处理用户输入。如何在 golang 上实现?
更新:
当 HandleView 函数运行时,用户必须输入一些内容。如何为此输入设置处理程序?
UPD2:
我使用了 golang 和“github.com/go-telegram-bot-api/telegram-bot-api/v5”
您应该通过轮询或 webhook 两种方法之一从电报服务器获取更新。 GitHub 页面上的每一对都通过示例进行了解释。
此外,您可能需要将用户的回复与您发送的消息联系起来。例如,您可以保存发送后获得的消息 ID,并要求用户使用消息的回复功能发送他的回答。然后您可以通过比较 MessageID 来判断答案与该消息相关。
我的处理程序回调:
func (b *Bot) HandleView(bot *tgbotapi.BotAPI, update tgbotapi.Update) error {
zap.L().Debug("handler", zap.Reflect("HandleView", update))
smileSearch := "\xF0\x9F\x94\x8E\t"
text := fmt.Sprintf("%v <b>Please enter phrase</b>\n\n", smileSearch)
msg := tgbotapi.NewMessage(update.CallbackQuery.From.ID, text)
msg.ParseMode = "html"
if _, err := bot.Send(msg); err != nil {
return err
}
return nil
}
我需要在单独的处理程序中处理用户输入。如何在 golang 上实现?
更新:
当 HandleView 函数运行时,用户必须输入一些内容。如何为此输入设置处理程序?
UPD2: 我使用了 golang 和“github.com/go-telegram-bot-api/telegram-bot-api/v5”
您应该通过轮询或 webhook 两种方法之一从电报服务器获取更新。 GitHub 页面上的每一对都通过示例进行了解释。
此外,您可能需要将用户的回复与您发送的消息联系起来。例如,您可以保存发送后获得的消息 ID,并要求用户使用消息的回复功能发送他的回答。然后您可以通过比较 MessageID 来判断答案与该消息相关。