首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Telebot子菜单

Telebot子菜单
EN

Stack Overflow用户
提问于 2021-11-26 20:46:40
回答 1查看 944关注 0票数 0

我正在电报中创建一个机器人,我有一个菜单。问题是,每当有人选择一个选项时,就会发送一条新消息,而不是修改菜单。我知道这是因为send_message函数,但我不知道如何去做。

代码语言:javascript
复制
@bot.message_handler(commands=['menu'])
def menu(message):
   keyboard = telebot.types.InlineKeyboardMarkup()
   keyboard.add(telebot.types.InlineKeyboardButton('Reglas', callback_data='Reglas'))
   keyboard.add(telebot.types.InlineKeyboardButton('Consultas', callback_data='Consultas'))
   keyboard.add(telebot.types.InlineKeyboardButton('Historia', callback_data='Historia'))
   keyboard.add(telebot.types.InlineKeyboardButton('Tiradas', callback_data='Tiradas'))
   keyboard.add(telebot.types.InlineKeyboardButton('Admin', callback_data='adm'))
   bot.send_message(message.chat.id,'Has llamado al menu?',reply_markup=keyboard)
@bot.callback_query_handler(func=lambda c:True)
def submenus(c):
        if c.data == 'Tiradas':
    keyboard = telebot.types.InlineKeyboardMarkup()
    keyboard.add(telebot.types.InlineKeyboardButton('Tirada suelta', callback_data='ts'))
    keyboard.add(telebot.types.InlineKeyboardButton('Tirada de personajes',callback_data='tp'))
    bot.send_message(c.message.chat.id, 'Deseas tiradas sueltas o para crear personajes?', reply_markup=keyboard)

我几周前就开始编程了,我请求你的耐心。非常感谢您的耐心。

EN

回答 1

Stack Overflow用户

发布于 2021-12-31 14:05:34

所以..。这是因为你没有在电报api中学习。如果您想编辑消息而不是发送新消息,您就不会使用send_message!

您将使用edit_message_text,在本例中,您的代码如下所示:

代码语言:javascript
复制
bot.edit_message_text(chat_id=c.message.chat.id, message_id=c.message.message_id, text='Deseas tiradas sueltas o para crear personajes?', reply_markup=keyboard)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70129871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档