【问题标题】:How to get contacts on Telegram如何在 Telegram 上获取联系人
【发布时间】:2017-09-29 18:11:20
【问题描述】:

我为 Telegram 机器人使用 node.js 模块。 我正在尝试使用电报 API 获取用户的电报联系人。 Telegram API 有两种类型:Bot API and Telegram API

我认为 Bot API 无法获取用户的联系人。 在 Telegram API 中有 contact.getContacts 方法。但是我不知道怎么用。

如何获取 Telegram 上的联系人?

【问题讨论】:

    标签: node.js architecture telegram telegram-bot


    【解决方案1】:
    1. 此代码将为您提供联系方式,用户与您的机器人分享他/她的联系方式,用户类型命令“/special”将提示按钮允许机器人获得联系,并在您的节点服务器中同意您可以记录联系方式info 记得声明 Markup ---->

      //declare Markup 
      const {Extra,Markup}= Telegraf;
      
      bot.command('special', (ctx) => {
      return ctx.reply('Special buttons keyboard', Extra.markup((markup) => {
      return markup.resize()
      .keyboard([
      markup.contactRequestButton('contact')
      ])
      }))
      })
      //listens for the click on contact button
      bot.on('contact', (ctx) => {
      console.log(ctx.update.message.contact);
      //logs { phone_number: '254*******',
      //first_name: 'nelsonBlack',
      //user_id: 73***** }
      
      })
      

    【讨论】:

      【解决方案2】:

      Bot API 也可以获取联系信息;我认为在这种情况下更容易。

      您可以尝试使用request_contact 回复键盘。如果用户单击它,您将收到带有Contact 字段的消息更新。

      【讨论】:

      • 太好了,还有一分。未经用户许可,您无法获取用户的联系方式。这就是为什么该方法被称为 request_contact 而不是 get_contact。
      猜你喜欢
      • 2017-07-10
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 2011-05-19
      • 1970-01-01
      相关资源
      最近更新 更多