基本上,您需要填写在GitHub上给出的代码中ex3ndr/telegram-api存储库中的空白部分。 如果您已经拥有构建的库Jar文件和Eclipse项目的Java构建路径上的tl-api-v12.jar
文件,则请查看README中的RPC Calls部分
首先,您需要使用您的API凭据设置一个AppInfo
对象,然后还需要创建一些实现AbsApiState
和ApiCallback
接口的新类。 一旦这些可用,您就可以创建TelegramApi
对象并向Telegram服务发出RPC调用,如下所示; 在这种情况下,使用建议的auth.checkPhone
方法:
TelegramApi api = new TelegramApi(state, appInfo, apiCallback);
String phoneNumber = "1234567890";
TLRequestAuthCheckPhone checkPhone = new TLRequestAuthCheckPhone(phoneNumber);
TLCheckedPhone checkedPhone = api.doRpcCall(checkPhone);
boolean invited = checkedPhone.getPhoneInvited();
boolean registered = checkedPhone.getPhoneRegistered();
TelegramApi
对象代表与远程服务的连接,该服务是基于请求-响应方式的 API。RPC 调用通过
doRpcCall
方法进行,在该方法中使用来自
org.telegram.api.requests
包的请求对象(例如示例中的
TLRequestAuthCheckPhone
类型),并填充相应的参数。当结果可用时,将返回带有结果的响应对象(如上述的
TLCheckedPhone
)。
对于异步调用,该方法会立即返回,并在结果可用时执行 onResult
回调方法:
api.doRpcCall(checkPhone, new RpcCallbackEx<TLCheckedPhone>() {
public void onConfirmed() { }
public void onResult(TLCheckedPhone result) {
boolean invited = checkedPhone.getPhoneInvited();
boolean registered = checkedPhone.getPhoneRegistered();
}
public void onError(int errorCode, String message) { }
});