Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

终端显示"KeyError"报错 #85

Closed
Norach-I opened this issue Apr 3, 2021 · 14 comments
Closed

终端显示"KeyError"报错 #85

Norach-I opened this issue Apr 3, 2021 · 14 comments

Comments

@Norach-I
Copy link

Norach-I commented Apr 3, 2021

Bug报告

脚本类型

GUI版本

问题描述

运行一段时间,会出现闪退情况。终端显示"KeyError"报错。

操作系统

win10 64位

终端输出

Traceback (most recent call last):
File "main-gui.py", line 513, in start
self.processor.start()
File "main-gui.py", line 242, in start
self.process(mode_id=key,sleep=sleepflag)
File "main-gui.py", line 263, in process
question_ids=json_response["question_ids"]
KeyError: 'question_ids'

日志文件

2021-04-03 10:53:56-DEBUG-跳过分片解码
2021-04-03 10:53:56-DEBUG-获取用户信息:XXXX
2021-04-03 10:53:56-INFO-用户 XXX 来自 XXX,手机号 XXX
2021-04-03 10:53:56-DEBUG-已实例化处理类
2021-04-03 10:53:56-DEBUG-已启动数据库连接
2021-04-03 10:53:56-DEBUG-key=XXXXXXXXX 启用答题睡眠
2021-04-03 10:53:56-INFO-正在处理第 1 次的 英雄篇
2021-04-03 10:53:56-DEBUG-获取题目数据:{'code': 4832, 'msg': 'Greater than the join threshold.', 'status_code': 200}

@arenekosreal
Copy link
Contributor

请更新脚本到最新的版本,新版本加入对这个错误的捕获,这是由于你在刷题过程中登陆其他客户端造成的

@Norach-I
Copy link
Author

Norach-I commented Apr 3, 2021

好的,感谢~我更新看看

@arenekosreal
Copy link
Contributor

如果问题解决,请点一下Close issue关闭这个问题

@Norach-I
Copy link
Author

Norach-I commented Apr 3, 2021

新版本虽然不会再闪退,出现KeyError的报错。但还是会提前结束任务,例如设置了20次,结果只运行了10次就结束了。相对于旧版就是多了异常处理,按步骤关闭数据库连接等,不再闪退。如果关闭接着再次打开运行脚本,就会初始化至一显示个人信息,准备进行第一次答题时,再次立即结束。"登录其他客户端"是指用其他方式登录了官方四史平台界面嘛?刷题过程中,也就PC端挂着TIM,移动端后台运行着微信接收消息,并没有人为地登录官方平台。

@arenekosreal
Copy link
Contributor

只要微信不登陆四史答题页面,或者没有其他类似功能的脚本使用这个账号就行

@Norach-I
Copy link
Author

Norach-I commented Apr 4, 2021

这样的话,我肯定没有登录其他客户端。。。但它还是出现了。有可能还是改了代码延时原本0到3秒之间随机,变成了0到1秒之间随机,答题速度变快了的缘故。注释里面说的服务器做出了反应。

@arenekosreal
Copy link
Contributor

你的登陆方式是Token还是UID

@Norach-I
Copy link
Author

Norach-I commented Apr 4, 2021

配置文件里面uid,token,refresh_token都填上了,按照默认的话,应该是uid方式吧。

@arenekosreal
Copy link
Contributor

对,但是答题速度过快不是4832,速度过快返回代码是4831.我唯一碰到4832的错误的就是党史答题,每天只有一次,第二次答题就会返回4832错误。可以让我看看你的设置文件config.json吗?请注意抹除里面的敏感信息

@Norach-I
Copy link
Author

Norach-I commented Apr 4, 2021

这个是旧版本的

"belief": {
"enabled": true,
"times": 40,
"title": "信念篇"
},
"creation": {
"enabled": true,
"times": 40,
"title": "创新篇"
},
"debug": true,
"hero": {
"enabled": true,
"times": 40,
"title": "英雄篇"
},
"limit_time": {
"enabled": false,
"times": 1,
"title": "限时赛"
},
"proxy": "",
"revival": {
"enabled": true,
"times": 40,
"title": "复兴篇"
},
"rob": {
"enabled": false,
"times": 1,
"title": "抢十赛"
},
"theme": "default"
}

这个是新版本的

"belief": {
"enabled": true,
"times": 40,
"title": "信念篇"
},
"creation": {
"enabled": true,
"times": 40,
"title": "创新篇"
},
"debug": true,
"font_prop": "SimSun",
"hero": {
"enabled": true,
"times": 40,
"title": "英雄篇"
},
"hide": false,
"limit_time": {
"enabled": false,
"times": 1,
"title": "限时赛"
},
"party_history": {
"enabled": false,
"times": 1,
"title": "党史活动"
},
"proxy": "",
"revival": {
"enabled": true,
"times": 40,
"title": "复兴篇"
},
"rob": {
"enabled": false,
"times": 1,
"title": "抢十赛"
},
"show_user_info": true,
"theme": "default",
"way": 1
}

@arenekosreal
Copy link
Contributor

配置文件看起来没什么问题,那么在出现这个问题的时候通过微信正常答题受影响吗

@Norach-I
Copy link
Author

Norach-I commented Apr 4, 2021

之前试过出现报错后,微信端能登录进平台,查看个人信息。但没有进一步点击对应答题尝试。当时感觉能获取信息,啥的,应该微信端没问题。

@arenekosreal
Copy link
Contributor

出问题的时候试试答题有没有问题吧,要是微信这边也有问题的话估摸着是账号被针对了,没有的话脚本这边就得继续排查问题

@Norach-I
Copy link
Author

Norach-I commented Apr 4, 2021

好的,谢谢~今早注意到GUI更新了,我也下载了。目前最新版使用还没出现过那些问题。我这边就先关闭评论吧。

@Norach-I Norach-I closed this as completed Apr 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants