使用Telegram-InlineKeyboardMarkup,当按下按钮时,我可以向用户提供反馈吗?

时间:2016-11-22 20:05:41

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

def start(bot, update):
    keyboard = [[InlineKeyboardButton("Apples", callback_data='1')],
        [InlineKeyboardButton("Oranges", callback_data='2')],
        [InlineKeyboardButton("Beans", callback_data='3')],
        [InlineKeyboardButton("Rice", callback_data='4')],
        [InlineKeyboardButton("Bread", callback_data='5')],                
        [InlineKeyboardButton("Tomatos", callback_data='6')],                
        [InlineKeyboardButton("Strawberry", callback_data='7')]
    ]
    reply_markup = InlineKeyboardMarkup(keyboard)
    update.message.reply_text('Multiple choice Quizz \nSelect all vegetables:', reply_markup=reply_markup)

使用InlineKeyboardMarkup,我是否可以在不隐藏或删除InlineKeyboardMarkup的情况下为用户按钮选择提供反馈?

例如,当用户选择InlineKeyboardButton时,我可以:

Change the InlineKeyboardButton text
Change the appearance of the InlineKeyboardButton
Edit initial message in update.message.reply_text ( )

我正在尝试查看是否可以进行多项选择问题,如果是,我需要提供一种方法让用户知道按钮已被选中或按下。

3 个答案:

答案 0 :(得分:3)

是的,您可以使用用户所做的选择更新(编辑)当前消息文本,这是用户与内联按钮交互时的简单快速视觉反馈。

您可以使用editXXX方法。

请参阅https://core.telegram.org/bots/api#updating-messages

editMessageText - 更改内联键盘之前的消息文本

editMessageReplyMarkup - 更改新的内联键盘

答案 1 :(得分:0)

如上所述:https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating

是的!可以像@music bot一样更新键盘和消息

答案 2 :(得分:0)

作为解决方案,您可以使用表情符号来显示视觉效果。用户按下内联按钮后,编辑消息并向该按钮添加相对表情符号,以通知用户服务器反馈。