编辑消息后添加内联键盘

时间:2018-01-10 18:49:58

标签: python-2.7 telegram-bot python-telegram-bot

我有一段代码用于编辑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个按钮)。我该怎么办?

2 个答案:

答案 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找到,您可以一次编辑消息文本,消息标题或回复标记。由于你的消息没有内联键盘,你不能在编辑时添加它(没有键盘 - >没有办法编辑没有,我希望你能得到我)。因此,您必须先创建键盘,然后才能编辑它。