Yowsup 3.2.3 CentOS7环境注册报错缺少config.json如何修复
问题根因
yowsup 3.2.3官方发布包的yowsup-cli脚本存在两处逻辑错误:一是ConfigManager类的save方法要求先传profile id再传config对象,脚本调用时参数顺序写反且缺失profile id参数;二是没有自动初始化config对象id的逻辑,才会触发两个报错且不会自动生成config.json文件。
修复步骤
- 编辑报错日志中显示的yowsup-cli脚本文件,路径为
/usr/local/lib/python3.6/site-packages/yowsup2-3.2.3-py3.6.egg/EGG-INFO/scripts/yowsup-cli,如果提示权限不足,使用sudo权限编辑即可 - 定位到369行左右的
self._config_manager.save(self._config)代码行 - 将该行替换为以下两行代码:
self._config.id = f"{self.args['cc']}{self.args['phone']}" self._config_manager.save(self._config.id, self._config)
- 保存退出脚本后,重新执行注册验证命令即可,命令格式如下(替换为你的实际参数):
yowsup-cli registration --register 收到的验证码 --phone 手机号 --cc 国家码 --mcc MCC码 --mnc MNC码 - 执行成功后会自动在默认配置目录
~/.yowsup/生成对应profile的config.json文件,不会再触发参数缺失报错。
临时规避方案(无需修改源码)
手动在~/.yowsup/目录创建配置文件,文件名为[国家码][手机号].json,内容参考如下模板填写你的实际参数:
{ "cc": "你的国家码", "phone": "你的手机号", "id": "国家码+手机号", "mcc": "你的MCC码", "mnc": "你的MNC码", "password": "" }
执行验证命令时额外增加--profile [国家码][手机号]参数指定配置文件即可正常运行。
内容的提问来源于stack exchange,提问作者Sergey Sidorin
相关产品推荐
相关产品推荐

