StageGuard / SuperCourseTimetableBot

基于 mirai-console 的 超级课表上课提醒QQ机器人 插件
GNU Affero General Public License v3.0
88 stars 10 forks source link

无法获取我的课程信息 #18

Open Ghost826 opened 3 years ago

Ghost826 commented 3 years ago

我在超级课表上面已经导入了本学期的课程,但是在使用插件查看课程的时候,提示:2021-09-14 17:00:20 W/SuperCourseTimetable: ScheduleListenerService: Timetable in 2021:1 of school 160037 is not found! 之后我进行了“同步课程”,也出现了同样的错误,以下为完整的报错: 2021-09-14 17:01:27 W/SuperCourseTimetable: ScheduleListenerService: Timetable in 2021:1 of school 160037 is not found! 2021-09-14 17:01:27 W/stderr: Exception in thread "DefaultDispatcher-worker-4" java.lang.NullPointerException 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService$getUserTodayCourses$getCourseFromDatabase$1.invoke(ScheduleListenerService.kt:107) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService$getUserTodayCourses$getCourseFromDatabase$1.invoke(ScheduleListenerService.kt:97) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.database.Database$query$2.invoke(Database.kt:44) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.database.Database$query$2.invoke(Database.kt:44) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:131) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:202) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:123) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:121) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.database.Database.query(Database.kt:44) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService.getUserTodayCourses$getCourseFromDatabase(ScheduleListenerService.kt:97) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService.getUserTodayCourses(ScheduleListenerService.kt:129) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService.startUserNotificationJob(ScheduleListenerService.kt:153) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService$restartUserNotification$1.invoke(ScheduleListenerService.kt:264) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService$restartUserNotification$1.invoke(ScheduleListenerService.kt:259) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.database.Database$query$2.invoke(Database.kt:44) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.database.Database$query$2.invoke(Database.kt:44) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt$transaction$1.invoke(ThreadLocalTransactionManager.kt:131) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.keepAndRestoreTransactionRefAfterRun(ThreadLocalTransactionManager.kt:202) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:123) 2021-09-14 17:01:27 W/stderr: at org.jetbrains.exposed.sql.transactions.ThreadLocalTransactionManagerKt.transaction(ThreadLocalTransactionManager.kt:121) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.database.Database.query(Database.kt:44) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.ScheduleListenerService.restartUserNotification(ScheduleListenerService.kt:259) 2021-09-14 17:01:27 W/stderr: at me.stageguard.sctimetable.service.RequestHandlerService$main$4.invokeSuspend(RequestHandlerService.kt:128) 2021-09-14 17:01:27 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 2021-09-14 17:01:27 W/stderr: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) 2021-09-14 17:01:27 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) 2021-09-14 17:01:27 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) 2021-09-14 17:01:27 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) 2021-09-14 17:01:27 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

如果是因为我的哪里操作不对,还请告诉我,感谢

StageGuard commented 3 years ago

根据目前的报错信息来看,并不能确定问题所在。 看一下同步时间表会报错什么

Ghost826 commented 3 years ago

发送了同步时间表之后,再发送今日课程等指令,就可以获取到课表信息了。 目前没有任何问题了,感谢

StageGuard commented 3 years ago

正常首次登录的时候应该同步时间表,但是很显然根据你的情况来看并没有。 还是一个bug