我如何处理问题的答案?

我的处理程序回调:


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 上做到这一点?


UPD:

当 HandleView 函数运行时,用户必须输入一些内容。如何为此输入设置处理程序?


UPD2:我使用了 golang 和“github.com/go-telegram-bot-api/telegram-bot-api/v5”


幕布斯7119047
浏览 81回答 1
1回答

守着星空守着你

您应该通过轮询或 webhook 两种方法之一从电报服务器获取更新。每对都在 GitHub 页面上通过示例进行了解释。此外,您可能需要在用户的回复和您发送的消息之间建立联系。例如,您可以保存发送后获得的消息 ID,并要求用户使用消息的回复功能发送他的回答。然后您可以通过比较 MessageID 知道答案与该消息相关。
打开App,查看更多内容
随时随地看视频慕课网APP