我有一段代码用于编辑Telegram上的消息。
def startbutton(bot, update):
query = update.callback_query
toss_keyboard = [[ InlineKeyboardButton("1", callback_data='1'),
InlineKeyboardButton("2", callback_data='2'),
InlineKeyboardButton("3", callback_data='3'),
InlineKeyboardButton("4", callback_data='4'),
InlineKeyboardButton("5", callback_data='5'),
InlineKeyboardButton("6", callback_data='6')
]]
toss_markup = InlineKeyboardMarkup(toss_keyboard)
bot.edit_message_text(text="Click on any of the buttons below:", chat_id=None,message_id=None, inline_message_id = query.inline_message_id)
邮件编辑完全正常,但我想在SAME邮件中编辑邮件后添加上面的toss_keyboard(6个按钮)。我该怎么办?
答案 0 :(得分:1)
只需将reply_markup=toss_keyboard
添加到edit_message_text
即可。以前的答案是错误的。 edit_message_text
可以在一次通话中编辑文本加回复标记,但edit_reply_markup
仅编辑键盘。
顺便说一句,您可以使用此快捷方式减少编辑调用中的冗余信息:query.message.edit_text("new text", reply_markup=some_new_markup)
答案 1 :(得分:0)
您可以在documentation找到,您可以一次编辑消息文本,消息标题或回复标记。由于你的消息没有内联键盘,你不能在编辑时添加它(没有键盘 - >没有办法编辑没有,我希望你能得到我)。因此,您必须先创建键盘,然后才能编辑它。