我使用telegram-api库。当我使用以下main方法运行app时:
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)我使用telegram-bot项目中的代码。有什么问题吗?谢谢。
发布于 2016-12-20 01:03:26
你可能还没有设置TLRequestAuthSignIn的字段之一(见第三行) phoneNumber,phoneCodeHash和/或phoneCode。
https://stackoverflow.com/questions/28523147
复制相似问题