使用Telegram API for Java Desktop App?
我不是Java编程的新手,但是我从未使用过外部库等。现在,我想为“ Telegram”开源消息传递平台开发一个桌面客户端,并且在使用API时遇到了麻烦。
。
在https://core.telegram.org/api上有很多关于Telegram
API的文档,我已经从github下载了mtproto,telegram-api和tl-
core,并从源代码编译了我自己的库jar通过使用gradle。同样,我已经编写了一个小应用程序,用户单击一个按钮并提示输入他的电话号码,为此,我正在使用Java-
swing-Libraries和ActionListener。
现在应该检查用户输入的电话号码是否已经注册,似乎可以使用auth.checkPhone方法。但是我该如何在我的Eclipse项目中引用它呢?在任何类中都没有看到任何方法“
checkPhone”!我该怎么办?
请帮助我,我自己也无法帮助,我极度陷入我的项目中。即使是很小的提示也会有所帮助。
在此先感谢,卢卡斯
回答:
本质上,您将必须在ex3ndr / telegram-api存储库中GitHub上给出的代码中填写空白。如果您拥有构建的库Jar文件,并且该tl-
api-v12.jar文件位于Eclipse项目的Java构建路径中,请查看README 的RPC
Calls部分和
首先,您需要AppInfo
使用API凭据设置一个对象,然后还必须创建一些实现AbsApiState
和ApiCallback
接口的新类。一旦这些可用,就可以创建TelegramApi
对象并按如下所示对Telegram服务进行RPC调用;在这种情况下,使用建议的auth.checkPhone
方法:
// TODO set up AbsApiState, AppInfo and ApiCallback objectsTelegramApi 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
对象表示您与远程服务的连接,这是API的请求响应样式。通过doRpcCall
方法进行RPC调用,该方法从填充有适当参数的org.telegram.api.requests
包(TLRequestAuthCheckPhone
示例中的类型)中获取请求对象。如果有响应TLCheckedPhone
结果,则返回一个响应对象(上面)。
在异步调用的情况下,该方法立即返回,并且onResult
在结果可用时执行回调方法:
// Call service aynchronouslyapi.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) { }
});
以上是 使用Telegram API for Java Desktop App? 的全部内容, 来源链接: utcz.com/qa/427557.html