NEWS
[gelöst] Telegram reply markup: Cannot send editMessageText
-
Hi allerseits,
Mein telegram-markup-Menü funktioniert zwar einwandfrei, allerdings wirf es bei jeder Betätigung eines Buttons den Fehler:
Cannot send editMessageText [chatId - 1027xxxx21]: Error: ETELEGRAM: 400 Bad Request: message is not modified: specified new message content and reply markup are exactly the same as a current content and reply markup of the message
Irgendwo scheint der Wurm drin zu sein...ich finde ihn aber leider nicht selbst.
Hat jemand eine Idee?Danke und schöne Grüße
-
@foodfighter
Das was mir ins auge sticht ist dasanswerCallbackQuery: { text: "Pressed!", showAlert: false // Optional parameter }
text nicht optional ist und du hast nen Aufruf ohne Text drin
-
@ticaki
Ich habe mal testhalber den Text mit rein genommen -> keinerlei Unterschied in der Fehler-Log.
Die Meldungen kommen trotzdem noch.
auch kein Unterschied ob "showAlert" true oder false ist.
(dadurch entschiedet sich nur, ob der Test-Text als "Fensterchen" aufploppt oder nur oben am Rand erscheint)sendTo('telegram.0', { //chatId funktioniert nicht - stand 03/2021 //chatId: getState("telegram.0.communicate.requestChatId").val, user: last_sender_name, answerCallbackQuery: { text: "test", showAlert: true } });
-
Benutzt du irgendwo editMessage? Bin im Blockly lesen echt nicht so doll
-
@ticaki
Ja, editMessageText nutze ich in den einzelnen Menü-Aufrufen um das Menü in der gleichen Nachricht anzupassen, statt jedes mal ein neues Menü erstellen zu lassen.Ich konnte den Übeltäter weiter einkreisen...hier z.B. der code-Schnipsel mit entsprechender LOG
// Send to Telegram log("**JS: Menu Licht_Start"); sendTo('telegram.0', { text: '💡 Licht >', editMessageText: { options: { chat_id: getState("telegram.0.communicate.requestChatId").val, message_id: getState("telegram.0.communicate.requestMessageId").val, reply_markup: { inline_keyboard: [ [{ text: 'Wohnzimmer', callback_data: 'menu_licht_wohnzimmer'}], [{ text: '< Hauptmenü', callback_data: 'menu' }] ], } } } }); log("**JS: Menu Licht_ENDE");
Kurios... wie gesagt - es funktioniert einwandfrei...mich stört es nur, dass die Fehler-Log zugemüllt wird...augenscheinlich ist ja irgendwas faul.
-
ouch....
ich hab's gefunden...für die Nachwelt:
sendTo('telegram.0', { user: last_sender_name, text: ('💡 Licht >', editMessageText: { options: { chat_id: getState("telegram.0.communicate.requestChatId").val, message_id: getState("telegram.0.communicate.requestMessageId").val, reply_markup: { inline_keyboard: [ [{ text: 'Wohnzimmer', callback_data: 'menu_licht_wohnzimmer'}], [{ text: '< Hauptmenü', callback_data: 'menu' }] ], } } } });
So bleiben die Fehler weg... der user hat in Zeile 2 gefehlt.
Danke für den Denkanstoß