Używam Node.js telegram-bot-api.Jak ukryć ReplyKeyboardMarkup po kliknięciu przez użytkownika w telegramie Bot API
Idea:
- Pokaż niestandardową klawiaturę za pomocą jednego przycisku - "Udostępnij mój numer telefonu".
- Po kliknięciu tego przycisku kontakt powinien zostać wysłany, a przycisk powinien zostać usunięty z ekranu.
Oto kod używam teraz:
bot.sendMessage({
text: 'Please give us your phone number',
reply_markup: JSON.stringify({
keyboard: [
[{
text: 'Share my phone number',
request_contact: true
}]
],
resize_keyboard: true,
one_time_keyboard: true
})
});
Problemy:
- Kiedy użytkownik kliknie przycisk „Udostępnij mój numer telefonu” przycisk, podziela jego kontaktu ale przycisk jest widoczny nawet po tym.
- Gdy nie używam flagi
request_contact
,one_time_keyboard
działa poprawnie (ukrywa przycisk po jej użyciu), ale nawet w tym przypadku po prostu ukrywa przycisk, więc użytkownik może kliknąć ikonę, aby przywrócić go do ekranu, który nie jest dobrze w ogóle.
Proszę mi powiedzieć, czy robię coś nie tak. Dzięki
tutaj jest to, co otrzymuję teraz: '{OK: false, kod_błędu: 400, opis: 'Bad Request: Komunikat może \' t być edytowane”} ' – Nazar
powinieneś również podać identyfikator wiadomości. Last Message Id, który wysłałeś i zawierał znaczniki klawiatury –