Telegram Bot:是否可以使用用户名获取用户 ID?
Telegram Bot: Is it possible to get userid using username?
正如标题所说,是否可以通过username获取userid?
我的意思是,我想向我的机器人添加一项功能,告诉您其他用户使用他的用户名的用户 ID。
Telegram API 是否提供执行此操作的选项?
没有。现在不可能。
我相信你所说的昵称是 username
而用户 ID 是唯一的 id
,如 API 文档中所述。它仍然是可能的 使用机器人进行反向查找。
这可以通过官方电报 API 的增强版本实现,称为 PWRTelegram API
我引用了文档。
Resolving of usernames not only with channels and groups but also with
normal users and bots
更新:
Here 是我为此目的制作的库:
更新 2:
我不再维护上述库,但是您仍然可以使用 td-cli 二进制文件解析用户名。
您可以使用 pwrtelegram bot API 来解析机器人和普通用户的用户名。
它将使用内置的 mtproto 客户端自动解析您在 chat_id 参数中提供的用户名。
您可以在每个需要 chat_id 参数的方法中使用机器人和普通用户的用户名,但要获取有关 user/bot 的信息,您可以使用 getChat 方法。
的解决方案部分错误。
有一些方法可以从 username
获得 user_id
,但是上面提到的在线工具比机器人 API 使用的更多。他们的服务器上有一个电报客户端 运行。
那就是说有一个技巧可以从 username
中获得 user_id
纯粹使用 bot API(并不总是有效)。
假设您正在与您的朋友 X
聊天并且您想知道他的 user_id
。要获得 user_id
,请将您的其中一个对话转发给您的机器人。机器人将以 JSON 格式获取消息作者的 first name
、username
、user_id
、timestamp
等。现在您可以从中提取 user_id
。请注意,即使用户没有 username
,或者它是一个频道或另一个机器人,这也有效。
这是上面的机器人实现:
我已将我朋友的一条消息转发给机器人 @get_id_bot
然后bot returns 我朋友账号的用户名和id
正如标题所说,是否可以通过username获取userid? 我的意思是,我想向我的机器人添加一项功能,告诉您其他用户使用他的用户名的用户 ID。
Telegram API 是否提供执行此操作的选项?
没有。现在不可能。
我相信你所说的昵称是 username
而用户 ID 是唯一的 id
,如 API 文档中所述。它仍然是可能的 使用机器人进行反向查找。
这可以通过官方电报 API 的增强版本实现,称为 PWRTelegram API
我引用了文档。
Resolving of usernames not only with channels and groups but also with normal users and bots
更新:
Here 是我为此目的制作的库:
更新 2:
我不再维护上述库,但是您仍然可以使用 td-cli 二进制文件解析用户名。
您可以使用 pwrtelegram bot API 来解析机器人和普通用户的用户名。
它将使用内置的 mtproto 客户端自动解析您在 chat_id 参数中提供的用户名。
您可以在每个需要 chat_id 参数的方法中使用机器人和普通用户的用户名,但要获取有关 user/bot 的信息,您可以使用 getChat 方法。
有一些方法可以从 username
获得 user_id
,但是上面提到的在线工具比机器人 API 使用的更多。他们的服务器上有一个电报客户端 运行。
那就是说有一个技巧可以从 username
中获得 user_id
纯粹使用 bot API(并不总是有效)。
假设您正在与您的朋友 X
聊天并且您想知道他的 user_id
。要获得 user_id
,请将您的其中一个对话转发给您的机器人。机器人将以 JSON 格式获取消息作者的 first name
、username
、user_id
、timestamp
等。现在您可以从中提取 user_id
。请注意,即使用户没有 username
,或者它是一个频道或另一个机器人,这也有效。
这是上面的机器人实现:
我已将我朋友的一条消息转发给机器人 @get_id_bot 然后bot returns 我朋友账号的用户名和id