0

我使用电报 api 库。当我使用以下主要方法运行应用程序时:

    public static void main(String[] args) throws IOException {
        Application app = new Application();
        app.disableLogging();
        app.createApi();
        app.login();
        app.workLoop();
    }

它工作正常。但是当我这样做时:

    //Somewhere else
    public void testRun() throws Exception {
        System.out.println("run");
        Application app = new Application();
        app.main(null);
        Thread.sleep(10*60*1000);
    }

它抛出以下异常:

Exception in thread "Scheduller#988181144" java.lang.NullPointerException
    at org.telegram.tl.StreamingUtils.writeTLString(StreamingUtils.java:125)
    at org.telegram.api.requests.TLRequestAuthSignIn.serializeBody(Unknown Source)
    at org.telegram.tl.TLObject.serialize(TLObject.java:46)
    at org.telegram.tl.StreamingUtils.writeTLObject(StreamingUtils.java:192)
    at org.telegram.tl.StreamingUtils.writeTLMethod(StreamingUtils.java:203)
    at org.telegram.api.requests.TLRequestInvokeWithLayer11.serializeBody(Unknown Source)
    at org.telegram.tl.TLObject.serialize(TLObject.java:46)
    at org.telegram.tl.TLObject.serialize(TLObject.java:34)
    at org.telegram.mtproto.schedule.Scheduller.actualPackages(Scheduller.java:388)
    at org.telegram.mtproto.schedule.Scheduller.doSchedule(Scheduller.java:406)
    at org.telegram.mtproto.MTProto$SchedullerThread.run(MTProto.java:704)

我使用来自电报机器人项目的代码。有什么问题?谢谢。

4

1 回答 1

0

可能您还没有设置 TLRequestAuthSignIn 的字段之一(参见第 3 行)phoneNumber、phoneCodeHash 和/或 phoneCode。

于 2016-12-19T17:03:26.027 回答