4
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 ( )

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

4

3 回答 3

4

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

您可以使用这些editXXX方法。

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

editMessageText - 更改 inlinekeyboard 之前的消息文本

editMessageReplyMarkup - 更改为新的内联键盘

于 2016-11-22T20:33:25.117 回答
0

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

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

于 2016-11-22T20:33:11.767 回答
0

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

于 2016-11-23T11:28:36.023 回答