yuudi / yobot

aide bot for pcr (mobile game) 公主连接群聊机器人
https://yobot.win
GNU General Public License v3.0
573 stars 270 forks source link

[BUG] 会战记录过多时使用api出错 #196

Closed TinyTitanPro closed 3 years ago

TinyTitanPro commented 3 years ago

从第二期会战开始每次会战都新建一个档案而不删除原有记录,这次使用编号6的档案时,在录入大约9条记录后,api无法查询到数据,导致包括统计页面下的所有功能都无法正常使用,访问统计图表页面提示500 Interval Server Error。 尝试删除一个旧档案(100多条记录)并重启yobot后api相关功能恢复正常,是不是api能正常调用的数据库记录条数有一个上限。

yuudi commented 3 years ago

能否提供 500 Interval Server Error 出现时,yobot 控制台的报错信息

yuudi commented 3 years ago

这里是取成员列表时引发了 ActionFailed ,这是由于 gocqhttp / mirai 方面操作失败引起的,可能因为操作过于频繁被限制。

TinyTitanPro commented 3 years ago

能否提供 500 Interval Server Error 出现时,yobot 控制台的报错信息

抱歉刚才给错报错信息了,没注意到16日更新yobot之后原位置就没有日志记录了,刚刚复现了下报错情景,错误信息如下:

ERROR in app: Exception on request GET /yobot/clan/**/statistics/api/ Traceback (most recent call last): File "C:\Program Files\Python38\lib\site-packages\quart\app.py", line 1462, in handle_request return await self.full_dispatch_request(request_context) File "C:\Program Files\Python38\lib\site-packages\quart\app.py", line 1484, in full_dispatch_request result = await self.handle_user_exception(error) File "C:\Program Files\Python38\lib\site-packages\quart\app.py", line 911, in handle_user_exception raise error File "C:\Program Files\Python38\lib\site-packages\quart\app.py", line 1482, in full_dispatch_request result = await self.dispatch_request(request_context) File "C:\Program Files\Python38\lib\site-packages\quart\app.py", line 1530, in dispatchrequest return await handler(**request.view_args) File "C:\Users\Administrator\PCR\YoBot_bak2\src\client\ybplugins\clan_battle\battle.py", line 2150, in yobot_clan_statistics_api member_list = self.get_battle_member_list(group_id, battle_id) File "C:\Users\Administrator\PCR\YoBot_bak2\src\client\ybplugins\clan_battle\util.py", line 55, in wrapper value = fn(*args) File "C:\Users\Administrator\PCR\YoBot_bak2\src\client\ybplugins\clan_battle\battle.py", line 1121, in get_battle_member_list 'nickname': u.user.nickname, AttributeError: 'Clan_challenge' object has no attribute 'user'

TinyTitanPro commented 3 years ago

访问数据图表网页时的准确报错提示是:

获取数据失败,请联系维护人员

Error: Request failed with status code 500

yuudi commented 3 years ago

感谢反馈,这个问题下个版本尝试修复

yuudi commented 3 years ago

与其他人讨论后,我们认为这个错误可能是由于昵称为空的用户造成的,会尽快修复。