2016-11-22 2 views
3
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) 

Gibt es in der InlineKeyboardMarkup eine Möglichkeit, Feedback für die Auswahl der Benutzerschaltfläche zu geben, ohne die InlineKeyboardMarkup auszublenden oder zu entfernen?Kann ich mit Telegram-InlineKeyboardMarkup dem Benutzer eine Rückmeldung geben, wenn eine Taste gedrückt wird?

Zum Beispiel, wenn der Benutzer InlineKeyboardButton wählen, was ich kann:

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

Ich versuche, wenn eine Multiple-Choice-Frage zu sehen, kann gemacht werden, und wenn ja, würde ich brauche einen Weg, um das zu lassen, Benutzer weiß, dass die Schaltfläche ausgewählt oder gedrückt wurde.

+0

Überprüfen Sie diesen Beitrag, ich antwortete, dass es http://Stackoverflow.com/a/40742885/3494152 – aleix

Antwort

3

Ja zu aktualisieren, können Sie aktualisieren (edit) der aktuelle Nachrichtentext mit der Auswahl, die der Benutzer gemacht, das ist eine einfache schnelle Rückmeldung an den Benutzer visuell ist wie er/sie interagiert mit Ihren Inline-Buttons.

Sie können hierfür die Methoden editXXX verwenden.

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

editMessageText - ändert den Nachrichtentext vor dem inlinekeyboard

editMessageReplyMarkup - Änderungen in einer neuen inlinekeyboard

+0

Ich fand dies in der Dokumentation: Bitte beachten Sie, dass es derzeit nur möglich ist, Nachrichten ohne reply_markup oder mit Inline-Tastaturen zu bearbeiten . –

0

Als Lösung können Sie Emoji verwenden für visuelle Effekte zeigt . Nachdem der Benutzer die Inline-Schaltfläche gedrückt hat, bearbeiten Sie die Nachricht und fügen Sie ein relatives Emoji zu dieser Schaltfläche hinzu, um den Benutzer über das Feedback des Servers zu informieren.

Verwandte Themen