首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Telegram API for Java Desktop App?

使用Telegram API for Java Desktop App?
EN

Stack Overflow用户
提问于 2014-03-25 20:57:37
回答 2查看 28.4K关注 0票数 26

我对Java编程并不陌生,但我从来没有使用过外部库等。现在我想为"Telegram“开源消息传递平台开发一个桌面客户端,但当涉及到API使用时,我就卡住了。

https://core.telegram.org/api上有相当多关于Telegram API的文档,我已经从github下载了mtproto、telegram-api和tl-core,并使用gradle从源代码编译了我自己的库jar。另外,我已经编写了一个小应用程序,用户单击一个按钮,系统会提示输入他的电话号码,为此我使用了Java-swing-Libraries和一个ActionListener。

现在应该检查用户输入的电话号码是否已经注册,auth.checkPhone方法似乎能够做到这一点。但是如何在我的eclipse项目中引用它呢?我在任何一个类中都没有看到任何"checkPhone“方法!我该怎么办?

请帮帮我,我无法控制自己,我正拼命地投入到我的项目中。即使是一个小小的提示也会有所帮助。

提前谢谢你,卢卡斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-29 08:32:25

从本质上讲,您必须在ex3ndr/telegram-api存储库中填充在GitHub上给出的代码中的空白。如果您已经在Eclipse项目的Java build path中获得了您构建的库Jar文件和tl-api-v12.jar文件,那么可以查看自述文件的RPC Calls部分和

首先,您需要使用API credentials设置一个AppInfo对象,然后还需要创建一些实现AbsApiStateApiCallback接口的新类。一旦它们可用,您就可以创建TelegramApi对象并按如下方式调用Telegram服务;在本例中,使用建议的auth.checkPhone方法:

代码语言:javascript
复制
// TODO set up AbsApiState, AppInfo and ApiCallback objects
TelegramApi api = new TelegramApi(state, appInfo, apiCallback);

// Create request
String phoneNumber = "1234567890";
TLRequestAuthCheckPhone checkPhone = new TLRequestAuthCheckPhone(phoneNumber);

// Call service synchronously
TLCheckedPhone checkedPhone = api.doRpcCall(checkPhone);
boolean invited = checkedPhone.getPhoneInvited();
boolean registered = checkedPhone.getPhoneRegistered();
// TODO process response further

TelegramApi对象表示到远程服务的连接,这是一种请求响应样式的应用编程接口。RPC调用是通过doRpcCall方法进行的,该方法从org.telegram.api.requests包(本例中的TLRequestAuthCheckPhone类型)获取一个请求对象,其中填充了适当的参数。然后,当结果可用时,将返回一个响应对象(上面的TLCheckedPhone)。

在异步调用的情况下,该方法立即返回,并在结果可用时执行onResult回调方法:

代码语言:javascript
复制
// Call service aynchronously
api.doRpcCall(checkPhone, new RpcCallbackEx<TLCheckedPhone>() {
    public void onConfirmed() { }
    public void onResult(TLCheckedPhone result) {
        boolean invited = checkedPhone.getPhoneInvited();
        boolean registered = checkedPhone.getPhoneRegistered();
        // TODO process response further
    }
    public void onError(int errorCode, String message) { }
});
票数 20
EN

Stack Overflow用户

发布于 2016-08-31 04:46:07

或者只需查看此https://github.com/pengrad/java-telegram-bot-api接口

它使用起来非常简单

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22635355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档