Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在telegrambot中创建标记菜单_Python_User Interface_Menu_Bots_Telegram Bot - Fatal编程技术网

Python 如何在telegrambot中创建标记菜单

Python 如何在telegrambot中创建标记菜单,python,user-interface,menu,bots,telegram-bot,Python,User Interface,Menu,Bots,Telegram Bot,我正在尝试使用Updateclass创建一个带有菜单的电报机器人。我会将InlineMenuKeyboard与ReplyKeyboardMarkup相结合 我使用注释创建了一个机器人,它可以很好地处理这两种菜单。但我不喜欢这种结构 但是在这里,inlineKeyboard工作正常,ReplyKeyboardMarkup不显示。 我不是创建机器人的专家,这就是为什么如果有人能寄给我一些具有正确架构和结构的机器人的例子,我会很高兴的 #/usr/bin/python3 从telegram.ext导入

我正在尝试使用
Update
class创建一个带有菜单的电报机器人。我会将
InlineMenuKeyboard
ReplyKeyboardMarkup
相结合

我使用注释创建了一个机器人,它可以很好地处理这两种菜单。但我不喜欢这种结构

但是在这里,
inlineKeyboard
工作正常,
ReplyKeyboardMarkup
不显示。 我不是创建机器人的专家,这就是为什么如果有人能寄给我一些具有正确架构和结构的机器人的例子,我会很高兴的

#/usr/bin/python3
从telegram.ext导入更新程序
从telegram.ext导入CommandHandler,CallbackQueryHandler
从电报导入InlineKeyboardButton,InlineKeyboardMarkup
从telebot导入类型
###############################机器人############################################
def启动(机器人,更新):
update.message.reply_text(主菜单_message(),
回复\标记=主菜单\键盘()
def测试(机器人,更新):
打印(“测试”)
标记\设置\菜单=类型。ReplyKeyboardMarkup(调整键盘大小=真,行\宽度=2)
标记\设置\菜单.添加(类型.键盘按钮(“更改名称”),
类型。键盘按钮(“更改电话号码”),
types.KeyboardButton('这是一个测试')
打印(“测试1.5”)
update.message.reply_text('hELLO',
回复\标记=标记\设置\菜单)
打印(“测试2”)
def创建设置菜单():
标记\设置\菜单=类型。ReplyKeyboardMarkup(调整键盘大小=真,行\宽度=2)
标记\设置\菜单.添加(类型.键盘按钮(“更改名称”),
类型。键盘按钮(“更改电话号码”),
类型.键盘按钮(cs.home_表情符号)
返回标记设置菜单
def主菜单(机器人,更新):
query=update.callback\u查询
bot.编辑消息文本(chat\u id=query.message.chat\u id,
message\u id=query.message.message\u id,
text=主菜单消息(),
回复\标记=主菜单\键盘()
def first_菜单(机器人,更新):
query=update.callback\u查询
bot.编辑消息文本(chat\u id=query.message.chat\u id,
message\u id=query.message.message\u id,
text=第一个菜单消息(),
回复\u标记=第一个\u菜单\u键盘()
def第二菜单(机器人,更新):
query=update.callback\u查询
bot.编辑消息文本(chat\u id=query.message.chat\u id,
message\u id=query.message.message\u id,
text=第二个菜单消息(),
回复\标记=第二个\菜单\键盘()
#对于每个回调数据选项,依此类推
def第一个子菜单(机器人,更新):
通过
def第二个子菜单(机器人,更新):
通过
############################键盘#########################################
def主菜单键盘()
键盘=[[InlineKeyboardButton('Option 1',callback_data='m1')],
[InlineKeyboardButton('Option 2',callback_data='m2')],
[InlineKeyboardButton('Option 3',callback_data='m3')]]
返回InlineKeyboardMarkup(键盘)
def第一菜单键盘():
键盘=[[InlineKeyboardButton('Submenu 1-1',callback_data='m1_1')],
[InlineKeyboardButton('Submenu 1-2',callback_data='m1_2'),
[InlineKeyboardButton('Main menu',callback_data='Main')]]
返回InlineKeyboardMarkup(键盘)
def第二菜单键盘():
键盘=[[InlineKeyboardButton('Submenu 2-1',callback_data='m2_1')],
[InlineKeyboardButton('Submenu 2-2',callback_data='m2_2'),
[InlineKeyboardButton('Main menu',callback_data='Main')]]
返回InlineKeyboardMarkup(键盘)
def创建标记菜单():
标记\菜单=类型。ReplyKeyboardMarkup(调整大小\键盘=真,行\宽度=3)
标记菜单。添加(类型。键盘按钮('Order room'),
类型.键盘按钮(“管理订单”),
类型.键盘按钮(“订单历史记录”),
类型.键盘按钮('⚙️设置“),
类型.键盘按钮('❓“帮助”)
返回InLineKeyboard按钮(标记菜单)
#===============================================================================
#############################信息#########################################
def主菜单消息():
return“选择主菜单中的选项:1111”
def第一菜单消息():
return“在第一个菜单中选择子菜单:”
def第二菜单消息():
return“在第二个菜单中选择子菜单:”
#############################处理者#########################################
更新程序=更新程序('==令牌===')
add_处理程序(CommandHandler('start',start))
add_处理程序(CommandHandler('test',test))
add_处理程序(CallbackQueryHandler(主菜单,pattern='main'))
add_处理程序(CallbackQueryHandler(第一个_菜单,pattern='m1'))
add_处理程序(CallbackQueryHandler(第二个_菜单,pattern='m2'))
updater.dispatcher.add_处理程序(CallbackQueryHandler)(第一个子菜单,
模式(m1_1'))
updater.dispatcher.add_处理程序(CallbackQueryHandler)(第二个子菜单,
模式(m2_1'))
updater.start_polling()
################################################################################