如何在Telegram中进行基本的远程过程调用(RPC)?

时间:2014-04-14 08:35:43

标签: rpc telegram

我试图创建一个可以演示Telegram API的某些功能的小程序。我希望能够通过短信注册和验证用户。根据{{​​3}},我需要调用auth.sendCode RPC。但是,代码库没有充分记录,并且很难进入。

如何在电报中发送auth.sendCode远程过程调用?请提供一个代码段,其中显示从设置和初始化开始的所有内容。

1 个答案:

答案 0 :(得分:0)

尝试这样......

TLSentCode sentCode;
    try {
        sentCode = api.doRpcCallNonAuth(new TLRequestAuthSendCode(phone, 0, 5, "your app id", "en"));
    } catch (RpcException e) {
        if (e.getErrorCode() == 303) {
            int destDC;
            if (e.getErrorTag().startsWith("NETWORK_MIGRATE_")) {
                destDC = Integer.parseInt(e.getErrorTag().substring("NETWORK_MIGRATE_".length()));
            } else if (e.getErrorTag().startsWith("PHONE_MIGRATE_")) {
                destDC = Integer.parseInt(e.getErrorTag().substring("PHONE_MIGRATE_".length()));
            } else if (e.getErrorTag().startsWith("USER_MIGRATE_")) {
                destDC = Integer.parseInt(e.getErrorTag().substring("USER_MIGRATE_".length()));
            } else {
                throw e;
            }
            api.switchToDc(destDC);
            sentCode = api.doRpcCallNonAuth(new TLRequestAuthSendCode(phone, 0, 5, "youa app id", "en"));
        } else {
            throw e;
        }
    }
相关问题