正如标题所说,是否可以使用用户昵称获取用户ID? 我的意思是,我想在我的机器人中添加一个功能,告诉你使用他的昵称的其他用户的用户ID。
Telegram API是否提供了执行此操作的选项?
答案 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 name
、username
、user_id
、timestamp
等。现在您可以从中提取 user_id
。请注意,即使用户没有 username
,或者它是频道或其他机器人,这也适用。
这是上述内容的机器人实现:
我已将我朋友的一条消息转发给机器人 t.me/@get_id_bot 然后机器人返回我朋友帐户的用户名和 ID