Telegram Bot:是否可以使用用户名获取用户ID?

Abd*_*oui 11 telegram telegram-bot

正如标题所说,是否可以通过username获取userid?我的意思是,我想向我的机器人添加一项功能,告诉您其他用户使用其用户名的用户 ID。

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

Bab*_*sta 6

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

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

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

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

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

获取机器人 ID

  • 这是一个很好的解决方案,但如果用户为其消息设置了隐私,则它不起作用。 (2认同)

Moh*_*ail 5

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

这可以通过官方 Telegram API 的增强版本(称为PWRTelegram API)来实现

我引用了文档。

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

更新:

是我为此目的制作的一个库:

更新2:

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

  • 好的,您使用什么 API 调用? (2认同)