代码之家  ›  专栏  ›  技术社区  ›  Abzelhan

电报api如何通过电报用户名获取用户名和姓氏

  •  0
  • Abzelhan  · 技术社区  · 6 年前

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

    如何在Java中实现这一点?有可能吗?也许有些网站可以从用户名中提供用户信息?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Mincong Huang    6 年前

    你可以试试 tdlib/td ,一个跨平台的库,用于在C++中用Telegram创建Telegram客户端。您可以通过jni(java本地接口)在java中使用它。他们提供了 Java client example 帮助你开始建立自己的客户。如果您成功地遵循了Java自述文件 自己构建jni库 ,您将找到生成的文件调用 TdApi.java 在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.GetUser 不接受用户名作为输入。您需要提供用户ID。可以从聊天列表中找到用户ID。

    相关资源: