如何解决Telegram-python-Bot使用callback_query
我正在尝试从用户那里获取输入文本。.
与他互动后,他到达了职能部门
keyboard = [[InlineKeyboardButton("exapmple",callback_data='example')]]
reply_markup = InlineKeyboardMarkup(keyboard)
所以在更新中,我得到了callback_query
他选择按钮示例后,我要求他输入文本。
对于我来说,这项工作我可以通过按钮输入,但不能通过他自己的输入输入
def getInput(update,context):
query = update.callback_query
query.answer()
input = query.data
我想得到类似的输入
input = update.message.text
但是因为我得到callback_query我没有消息。 所以我如何切换到消息或使用callback_query获取输入
编辑: 我到达了getInput与
dp.add_handler(CallbackQueryHandler(getInput,pattern='example'))
解决方法
如果要在用户单击按钮后立即获取文本,请使用ConversationHandler。
文档:https://python-telegram-bot.readthedocs.io/en/stable/telegram.ext.conversationhandler.html
示例:https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/conversationbot.py
,回调查询的响应是
text = update.callback_query.data
如果用户决定键入某些内容,则该消息将作为默认文本消息处理
def main_handler(update,context):
print(update.message.text)
updater.dispatcher.add_handler(MessageHandler(Filters.text,main_handler))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。