我正在电报中创建一个机器人,我有一个菜单。问题是,每当有人选择一个选项时,就会发送一条新消息,而不是修改菜单。我知道这是因为send_message函数,但我不知道如何去做。
@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)我几周前就开始编程了,我请求你的耐心。非常感谢您的耐心。
发布于 2021-12-31 14:05:34
所以..。这是因为你没有在电报api中学习。如果您想编辑消息而不是发送新消息,您就不会使用send_message!
您将使用edit_message_text,在本例中,您的代码如下所示:
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)https://stackoverflow.com/questions/70129871
复制相似问题