是否可以使用用户昵称获取用户ID?

时间:2016-06-05 17:09:43

标签: telegram telegram-bot

正如标题所说,是否可以使用用户昵称获取用户ID? 我的意思是,我想在我的机器人中添加一个功能,告诉你使用他的昵称的其他用户的用户ID。

Telegram API是否提供了执行此操作的选项?

4 个答案:

答案 0 :(得分:3)

我相信昵称的含义是username,而userid是API文档中描述的唯一id仍然可以进行反向查找使用机器人。

这可以通过官方电报API的增强版本(称为PWRTelegram API

)来实现

我引用文档。

  

不仅可以使用频道和群组来解析用户名,还可以使用   普通用户和机器人

更新

Here是我为此目的而创建的一个库:

更新2:

我不再维护上述库,但您仍然可以使用td-cli二进制文件解析用户名。

答案 1 :(得分:2)

您可以使用pwrtelegram bot API来解析机器人和普通用户的用户名。

它将使用内置的mtproto客户端自动解析您在chat_id参数中提供的用户名。

您可以在需要chat_id参数的每种方法中使用机器人和普通用户的用户名,但要获取有关用户/机器人的信息,您可以使用getChat方法。

答案 2 :(得分:1)

没有。现在不可能。

答案 3 :(得分:1)

Mohammod Sohail 的解决方案部分错误。

有多种方法可以从 user_id 获取 username,但上述在线工具使用的不仅仅是机器人 API。他们的服务器上运行着一个电报客户端。 也就是说,有一种技巧可以纯粹使用机器人 API(并不总是有效)从 user_id 获取 username

假设您正在与您的朋友 X 聊天,并且您想了解他的 user_id。要获得 user_id,请将您的对话之一转发到您的机器人。机器人将以 JSON 格式获取消息作者的 first nameusernameuser_idtimestamp 等。现在您可以从中提取 user_id。请注意,即使用户没有 username,或者它是频道或其他机器人,这也适用。

这是上述内容的机器人实现:

我已将我朋友的一条消息转发给机器人 t.me/@get_id_bot 然后机器人返回我朋友帐户的用户名和 ID

GET ID BOT