FLAG250 / hoshino-plugin-pjsk

适用于hoshinobot的pjsk信息查询插件
12 stars 3 forks source link

查询失败,显示api或者服务器寄了 #2

Open Akineru opened 2 years ago

Akineru commented 2 years ago

该怎么解决

kosakarin commented 2 years ago

你把外面嵌套的 try: except: 去掉再看下具体报错,你这个问题太广泛了,他这插件出什么问题都报这个

Akineru commented 2 years ago

你把外面嵌套的 try: except: 去掉再看下具体报错,你这个问题太广泛了,他这插件出什么问题都报这个

是去掉之后看日志吗

kosakarin commented 2 years ago

你把外面嵌套的 try: except: 去掉再看下具体报错,你这个问题太广泛了,他这插件出什么问题都报这个

是去掉之后看日志吗

是的 他的代码内嵌套了很多try: except: 导致凡是内部执行报错都会直接跳转到except下的内容,所有凡是报错bot都只会说API或者服务器寄了; 另外本期活动标题 The vivid old tale 好像旧版CQ发不出去,你可以看一下issue3

FLAG250 commented 2 years ago

每次更新活动好像要重启一次hoshino 等有时间看看

kosakarin commented 2 years ago

每次更新活动好像要重启一次hoshino 等有时间看看

30 e_data = req.get('https://database.pjsekai.moe/events.json') 31 _data = json.loads(e_data.text) 重启的问题原因在这里,你的活动数据e_data相关信息写在最外面,所以只有bot启动时才会去执行一次 修改方法建议: 将e_data获取过程封装为一个函数,每次执行'/sk'时重新获取一次 or 使用hoshino的定时触发器定时重新获取e_data 定时触发器示例 @sv.scheduled_job('cron', hour='8', minute='40', jitter=50) #每日8点40触发 @sv.scheduled_job('cron', minute='*/15', jitter=50) #每小时的15,30,45,60分时触发