我需要从@username获取有关用户的信息。我没有使用电报机器人。我有一个用户名列表,我需要获取有关用户的信息(名字和姓氏)。


如何在java中实现这一点?可能吗?也许有些网站可以通过用户名提供有关用户的信息?

答案 0 :(得分:2)
您可以尝试tdlib/td
,这是一个跨平台库,用于构建由Telegram在C ++中创建的Telegram客户端。您可以通过JNI(Java Native Interface)在Java中使用它。他们提供Java client example来帮助您入门并建立自己的客户。如果您成功地遵循Java README并自己构建JNI库,那么您将在Java文件夹中找到生成的文件调用TdApi.java
。
从生成的TdApi.java
,您可以使用静态内部类TdApi#GetUse(int userId)
来查询目标用户:
client.send(new TdApi.GetUser(userId), result -> {
if (result.getConstructor() != User.CONSTRUCTOR) {
System.out.println("Error occurred: " + result);
return;
}
User user = (User) result;
System.out.println(user.firstName);
System.out.println(user.lastName);
System.out.println(user.username);
});
请注意:
TdApi.java
,您无法在代码库中找到它。TdApi.GetUser
的构造函数不接受用户名作为输入。您需要提供用户ID。可以从聊天列表中找到用户ID。相关资源: