如标题所说,是否可以通过username获取userid? 我的意思是,我想向我的机器人添加一项功能,告诉您其他用户使用其用户名的用户 ID。
Telegram API 是否提供执行此操作的选项?
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
,或者它是频道或另一个机器人,这也适用。这是上述内容的机器人实现:
我已将我朋友的一条消息转发给机器人
@get_id_bot 然后机器人返回我朋友帐户的用户名和 ID
username
,而 userid 是唯一的
id
,如 API 文档中所述。仍然可以使用机器人进行反向查找。 这可以通过官方 Telegram API 的增强版本实现,称为 我引用了文档。
不仅可以通过频道和组解析用户名,还可以通过 普通用户和机器人更新:
更新2:
我不再维护上述库,但是您仍然可以使用 td-cli 二进制文件解析用户名。
pwrtelegram bot API来解析机器人和普通用户的用户名。
它将使用内置的 mtproto 客户端自动解析您在 chat_id 参数中提供的用户名。您可以在需要 chat_id 参数的每个方法中使用机器人和普通用户的用户名,但要获取有关用户/机器人的信息,您可以使用
getChat 方法。