首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在用户点击电报Bot后隐藏ReplyKeyboardMarkup

如何在用户点击电报Bot后隐藏ReplyKeyboardMarkup
EN

Stack Overflow用户
提问于 2016-08-01 10:41:08
回答 3查看 32.8K关注 0票数 13

我正在使用Node.js 电报-bot-api

想法:

  1. 显示一个自定义键盘与一个按钮-“分享我的电话号码”。
  2. 当用户单击此按钮时,应发送联系人,并将按钮从屏幕上移除。

下面是我现在使用的代码:

代码语言:javascript
运行
复制
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
    })
});

问题:

  • 当用户单击“共享我的电话号码”按钮时,它会与他的联系人共享,但即使在此之后按钮也是可见的。
  • 当我没有使用request_contact标志时,one_time_keyboard工作正常(使用后隐藏按钮),但即使在这种情况下,它也只是隐藏按钮,因此用户可以单击一个图标将其带回屏幕,这一点都不好。

如果我做错了什么,请告诉我。谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-01 12:10:45

找到了。

以下是一个解决方案:

代码语言:javascript
运行
复制
bot.sendMessage({
    chat_id: message.chat.id,
    text: 'Some text...',
    reply_markup: JSON.stringify({
        hide_keyboard: true
    })
});
票数 22
EN

Stack Overflow用户

发布于 2018-07-27 07:58:04

hide_keyboard以来,remove_keyboard已被重命名为remove_keyboard

代码语言:javascript
运行
复制
bot.sendMessage({
    chat_id: message.chat.id,
    text: 'Some text...',
    reply_markup: JSON.stringify({
        remove_keyboard: true
    })
});
票数 8
EN

Stack Overflow用户

发布于 2016-08-01 11:24:12

您应该使用editMessageReplyMarkup,并在客户端用户单击收到后用空字符串('')更新消息的replyMarkup

更新这适用于内联键盘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38696771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档