Send a command using InlineKeyboardButton python telegram bot(使用InlineKeyboardButton PYTHON电报机器人发送命令)
本文介绍了使用InlineKeyboardButton PYTHON电报机器人发送命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在PYTHON电报机器人中,InlineKeyboardButton是否可以在按下时发送类似/cancel的命令?
例如,当用户按下Cancel按钮时,他们将自动发送/Cancel命令,然后由机器人处理该命令。
从这里的示例:
https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/inlinekeyboard2.py
conv_handler = ConversationHandler(
entry_points=[CommandHandler('start', start)],
states={
FIRST: [CallbackQueryHandler(one, pattern='^' + str(ONE) + '$'),
CallbackQueryHandler(two, pattern='^' + str(TWO) + '$'),
CallbackQueryHandler(three, pattern='^' + str(THREE) + '$'),
CallbackQueryHandler(four, pattern='^' + str(FOUR) + '$')],
SECOND: [CallbackQueryHandler(start_over, pattern='^' + str(ONE) + '$'),
CallbackQueryHandler(end, pattern='^' + str(TWO) + '$')]
},
fallbacks=[CommandHandler('start', start)]
)
我希望能够这样做,以便在按下按钮时可以更改我的入口点并使用不同的对话处理程序。
按下该按钮将生成/Cancel命令,该命令将使机器人转到不同的对话处理程序。
这可能吗?
推荐答案
为了处理InlineKeyboardButton的输入,您定义了一个CallbackQueryHandler,它将处理用户按下的按钮的callback_data。
即使您指定了命令,CallbackQueryHandler处理输入的命令也会
#'/help' sent to CallbackQueryHandler
options.append(InlineKeyboardButton("a", callback_data="/help"))
如果我正确理解您要实现的目标,我会定义一个Callback QueryHandler方法,该方法随后控制工作流,甚至可以调用命令(如果这是您需要做的)
def callback_query_handler(update, context):
# process input
input = update.callback_query.data
# invoke handler
if input == '/help':
help_command_handler(update, context)
这篇关于使用InlineKeyboardButton PYTHON电报机器人发送命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:使用InlineKeyboardButton PYTHON电报机器人发送命令
基础教程推荐
猜你喜欢
- 对多索引数据帧的列进行排序 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
