单击多个内联按钮后如何向用户显示结果

How do show the result to user after he or she clicks multiple inline buttons

所以这是我的代码。基本上你们都熟悉地铁...我想创建一个部分,当用户单击多个按钮然后单击确定时,它 returns 除了确定之外用户单击的任何内容。

def sauce(update: Update, context: CallbackContext) -> int:
        if update.message.text == "Y" or update.message.text == "y":
            keyboard = ([
                    InlineKeyboardButton("No Sauce",callback_data='No Sauce'),
                    InlineKeyboardButton("Chipotle Southwest", callback_data='Chipotle Southwest'),
                    InlineKeyboardButton("Ranch", callback_data='Ranch'),
                    InlineKeyboardButton("BBQ", callback_data='BBQ'),
                    InlineKeyboardButton("Chilli Sauce", callback_data='Chilli Sauce'),
                    InlineKeyboardButton("Tomato Sauce", callback_data='Tomato Sauce'),
                    InlineKeyboardButton("Mustard", callback_data='Mustard'),
                    InlineKeyboardButton("Mayonese", callback_data='Mayonese'),
                    InlineKeyboardButton("Sweet Onion", callback_data='Sweet Onion'),
                    InlineKeyboardButton("Hot Pepper", callback_data='Hot Pepper'),
                    InlineKeyboardButton("Cheese Sauce", callback_data='Cheese Sauce'),
                    InlineKeyboardButton("Sweet Chilli", callback_data='Sweet Chilli'),
                    InlineKeyboardButton("Garlic Aioli", callback_data='Garlic Aioli'),
                    InlineKeyboardButton("Honey Mustard", callback_data='Honey Mustard'),
                ])
            reply_markup = InlineKeyboardMarkup([[button] for button in keyboard])

            update.message.reply_text('Please choose your sauces:', reply_markup = reply_markup)
            return CHECK2

        elif update.message.text == "N" or update.message.text == "n":
            update.message.reply_text("Please re-pick your option")
            return vegetables(update,context)

def check2(update: Update, context: CallbackContext) -> int:
        global sauces
        query = update.callback_query
        query.answer()
        sauces += query.data + ","
        query.edit_message_text(text=f"Selected option: {sauces}. Anymore(MAX 2)? Y/N")
        return SEASONING

我只收到用户点击一次的任何内容。例如。如果他点击“没有蔬菜”,他会返回“没有蔬菜”,但如果我点击多个按钮,则没有任何反应。

您可以存储每个 user/chat 的数据。只需用空列表定义一些变量,然后从那里的内联按钮推送新值。

更多documentation about storing bot, user and chat related data

您可以使用以 UserID 为键的字典,并且在第一步中有一个空列表

当用户点击这些按钮中的任何一个时,带有所需和适当文本的数据将被输入到您的列表中。

最后,你可以得到列表的值点击确定按钮后,你必须将列表设置为空值

判断每个key的状态,也可以通过查看列表来确认或不认可每个key

这个方法就是一个答案,如果你采纳了我说的思路就可以轻松实现了