我将node.js模块用于Telegram bot。 我正在尝试使用电报API通过电报联系用户的联系人。 Telegram API有两种类型:Bot API and Telegram API。
我认为Bot API无法获取用户的联系人。
在Telegram API中,有方法contact.getContacts
。但我不知道如何使用它。
如何获取电报上的联系人?
答案 0 :(得分:3)
此代码将为您提供联系,用户与您的机器人共享他/她的联系,用户类型命令' / 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字段的消息更新。