如何在 Telegram 上获取联系人

War*_*ord 6 architecture node.js telegram telegram-bot

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

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

如何获取 Telegram 上的联系人?

Nel*_*ora 5

  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***** }
    
    })
    
    Run Code Online (Sandbox Code Playgroud)


Sea*_*ean 3

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

您可以尝试使用request_contact回复键盘。如果用户单击它,您将收到包含“联系人”字段的消息更新。