如何在电报上获得联系

时间:2017-05-02 09:13:43

标签: node.js architecture telegram telegram-bot

我将node.js模块用于Telegram bot。 我正在尝试使用电报API通过电报联系用户的联系人。 Telegram API有两种类型:Bot API and Telegram API

我认为Bot API无法获取用户的联系人。 在Telegram API中,有方法contact.getContacts。但我不知道如何使用它。

如何获取电报上的联系人?

2 个答案:

答案 0 :(得分:3)

  1. 此代码将为您提供联系,用户与您的机器人共享他/她的联系,用户类型命令' / special'将通过按钮提示以允许机器人获得联系,并且在您的节点服务器上同意您可以记录联系信息,记住声明标记---->

    //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***** }
    
    })
    

答案 1 :(得分:2)

Bot API can get contact info too; I think it is easier in this case.

You can try reply keyboard with request_contact的内部或外部。如果用户点击它,您将收到包含Contact字段的消息更新。