Comment masquer ReplyKeyboardMarkup après le clic de l'utilisateur dans le Télégramme de Bot API
Je suis en utilisant Node.js le télégramme-bot-api.
Idée:
- Afficher un clavier personnalisé avec un bouton "Partager mon numéro de téléphone".
- Lorsque l'utilisateur clique sur ce bouton, le contact doit être envoyé et bouton doit être supprimé de l'écran.
Voici un code que j'en suis à utiliser dès maintenant:
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
})
});
Problèmes:
- Lorsque l'utilisateur clique sur "Partager mon numéro de téléphone", il partage son contact, mais le bouton est visible même après que.
- Quand je ne suis pas à l'aide de
request_contact
drapeau,one_time_keyboard
fonctionne correctement (masque le bouton après son utilisation), mais même dans ce cas, il vient se cache le bouton, l'utilisateur peut cliquer sur une icône pour revenir à l'écran, ce qui n'est pas bon du tout.
S'il vous plaît dites-moi si je fais quelque chose de mal ici. Grâce
OriginalL'auteur Nazar | 2016-08-01
Vous devez vous connecter pour publier un commentaire.
Trouvé.
Voici une solution:
OriginalL'auteur Nazar
hide_keyboard
a été renomméremove_keyboard
depuis API 2.3.OriginalL'auteur Saman Mohamadi
Vous devez utiliser
editMessageReplyMarkup
et mise à jour du messagereplyMarkup
avec une chaîne vide(''
) après que le client de l'utilisateur cliquez sur reçu.Mise à JOUR ceci est applicable pour les claviers.
{ ok: false, error_code: 400, description: 'Bad Request: Message can\'t be edited' }
vous devez fournir l'id de message trop. Dernier Id de Message que vous avez envoyé et contenait le clavier de balisage
OriginalL'auteur Behzad Seyfi