ehForwarderBot / efb-qq-slave

EFB QQ Slave, a channel for EH Forwarder Bot. EFB QQ从端
GNU General Public License v3.0
448 stars 48 forks source link

TypeError: string indices must be integers, return status 500 #37

Closed seiuneko closed 5 years ago

seiuneko commented 5 years ago

https://github.com/milkice233/efb-qq-slave/blob/ae62beb1ecf09657eeb25297796d8bd508a2cf1a/efb_qq_slave/Clients/CoolQ/CoolQ.py#L77

2019-08-25T14-17-43+08

traceback ouput

``` 2019-08-25 06:15:59,555 [DEBUG]: efb_qq_slave.Clients.CoolQ.CoolQ (CoolQ.handle_msg; CoolQ.py:71) {'anonymous': None, 'font': 1328896, 'group_id': ******, 'message': '******', 'message_id': 141, 'message_type': 'group', 'post_type': 'message', 'raw_message': '******', 'self_id': ******, 'sender': {'age': 0, 'area ': '', 'card': '******', 'level': '话唠', 'nickname': '******', 'role': 'member', 'sex': 'unknown', 'title': '', 'user_id': ******}, 'sub_type': 'normal', 'time': 1566713759, 'user_id': ******} 2019-08-25 06:15:59,558 [DEBUG]: root (CoolQ.handle_msg; CoolQ.py:78) start 2019-08-25 06:15:59,558 [DEBUG]: root (CoolQ.handle_msg; CoolQ.py:79) 0 2019-08-25 06:15:59,558 [DEBUG]: root (CoolQ.handle_msg; CoolQ.py:80) ****** 2019-08-25 06:15:59,558 [DEBUG]: root (CoolQ.handle_msg; CoolQ.py:81) end 2019-08-25 06:15:59,559 [ERROR]: cqhttp (app.log_exception; app.py:1891) Exception on / [POST] Traceback (most recent call last): File "/usr/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app response = self.full_dispatch_request() File "/usr/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise raise value File "/usr/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request rv = self.dispatch_request() File "/usr/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/usr/lib/python3.7/site-packages/cqhttp/__init__.py", line 100, in _handle response = handler(payload) File "/usr/lib/python3.7/site-packages/cqhttp/__init__.py", line 36, in wrapper return func(*args, **kwargs) File "/usr/lib/python3.7/site-packages/efb_qq_slave/Clients/CoolQ/CoolQ.py", line 82, in handle_msg msg_type = msg_element[i]['type'] TypeError: string indices must be integers 2019-08-25 06:34:15,536 [INFO]: werkzeug (_internal._log; _internal.py:122) 127.0.0.1 - - [25/Aug/2019 06:34:15] "POST / HTTP/1.1" 500 - ```


ehforwarderbot -V

``` EH Forwarder Bot Version: 2.0.0b20.dev3 Python version: 3.7.4 (default, Jul 16 2019, 07:12:58) [GCC 9.1.0] Running on profile "default". Master channel: Telegram Master (blueset.telegram) 2.0.0b26.dev5 # Default instance Slave channel: QQ Slave (milkice.qq) 2.0.0a10 # Default instance Middlewares: No middleware is enabled. ```

pacman -Qi python-efb-qq-slave-git python-efb-telegram-master-git python-ehforwarderbot-git coolq-pro-bin coolq-cqhttp-api-bin

``` 名字 : python-efb-qq-slave-git 版本 : r95.ae62beb-1 描述 : EFB QQ Slave, a channel for EH Forwarder Bot. 架构 : any URL : https://github.com/milkice233/efb-qq-slave 软件许可 : GPL3 组 : 无 提供 : python-efb-qq-slave 依赖于 : python>=3.6 python-ehforwarderbot python-telegram-bot python-requests python-magic python-pyaml python-pillow python-cqhttp ffmpeg 可选依赖 : 无 依赖它 : 无 被可选依赖 : 无 与它冲突 : python-efb-qq-slave 取代 : 无 安装后大小 : 189.00 KiB 打包者 : Unknown Packager 编译日期 : 2019年08月25日 星期日 02时26分27秒 安装日期 : 2019年08月25日 星期日 02时34分20秒 安装原因 : 单独指定安装 安装脚本 : 否 验证者 : 无 名字 : python-efb-telegram-master-git 版本 : r192.7ab5eab-1 描述 : EFB Telegram Master, a channel for EH Forwarder Bot. 架构 : any URL : https://github.com/blueset/efb-telegram-master 软件许可 : AGPL-3 组 : efb 提供 : python-efb-telegram-master 依赖于 : python-yaml python-ehforwarderbot python-telegram-bot python-magic-ahupp python-moviepy python-imageio-ffmpeg p ython-peewee python-requests python-pydub python-retrying python-language-tags 可选依赖 : 无 依赖它 : 无 被可选依赖 : 无 与它冲突 : python-efb-telegram-master 取代 : 无 安装后大小 : 841.00 KiB 打包者 : Unknown Packager 编译日期 : 2019年08月25日 星期日 02时22分51秒 安装日期 : 2019年08月25日 星期日 02时34分39秒 安装原因 : 单独指定安装 安装脚本 : 否 验证者 : 无 名字 : python-ehforwarderbot-git 版本 : r429.400de55-1 描述 : An extensible message tunneling chat bot framework. Delivers messages to and from multiple platforms and remotely con trol your accounts. 架构 : any URL : https://github.com/blueset/ehForwarderBot 软件许可 : AGPL-3 组 : efb 提供 : python-ehforwarderbot 依赖于 : python-ruamel-yaml python-bullet python-cjkwrap python-typing-extensions 可选依赖 : 无 依赖它 : python-efb-qq-slave-git python-efb-telegram-master-git 被可选依赖 : 无 与它冲突 : python-ehforwarderbot 取代 : 无 安装后大小 : 407.00 KiB 打包者 : Unknown Packager 编译日期 : 2019年08月25日 星期日 01时53分25秒 安装日期 : 2019年08月25日 星期日 02时34分20秒 安装原因 : 单独指定安装 安装脚本 : 是 验证者 : 无 名字 : coolq-pro-bin 版本 : 5.14.10-1 描述 : 一款智能机器人软件,由应用提供群管理、智能对话、好友互动、生活助理等智能功能。 架构 : any URL : https://cqp.cc/t/14901 软件许可 : custom 组 : 无 提供 : coolq 依赖于 : wine 可选依赖 : 无 依赖它 : coolq-cqhttp-api-bin coolq-vnc 被可选依赖 : 无 与它冲突 : 无 取代 : 无 安装后大小 : 2.33 MiB 打包者 : Unknown Packager 编译日期 : 2019年08月25日 星期日 04时31分16秒 安装日期 : 2019年08月25日 星期日 04时31分28秒 安装原因 : 单独指定安装 安装脚本 : 否 验证者 : 无 名字 : coolq-cqhttp-api-bin 版本 : 4.10.1-1 描述 : CoolQ 插件实现通过 HTTP 上报事件信息及调用接口 架构 : any URL : https://github.com/richardchien/coolq-http-api 软件许可 : GPL3 组 : 无 提供 : coolq-cqhttp-api 依赖于 : coolq 可选依赖 : 无 依赖它 : 无 被可选依赖 : 无 与它冲突 : 无 取代 : 无 安装后大小 : 1180.00 KiB 打包者 : Unknown Packager 编译日期 : 2019年08月25日 星期日 03时58分42秒 安装日期 : 2019年08月25日 星期日 04时11分30秒 安装原因 : 单独指定安装 安装脚本 : 否 验证者 : 无 ```


milkice.qq/config.yaml

``` Client: CoolQ # 指定要使用的 QQ 客户端(此处为CoolQ) CoolQ: type: HTTP # 指定 efb-qq-slave 与 酷Q 通信的方式 现阶段仅支持HTTP access_token: ***** api_root: http://127.0.0.1:5700/ # 酷Q API接口地址/端口 host: 127.0.0.1 # efb-qq-slave 所监听的地址用于接收消息 port: 8000 # 同上 is_pro: True # 若为酷Q Pro则为true,反之为false air_option: # 包含于 air_option 的配置选项仅当 is_pro 为 false 时才有效 upload_to_smms: True # 将来自 EFB主端(通常是Telegram) 的图片上传到 sm.ms 服务器并以链接的形式发送到 QQ 端 ```

io.github.richardchien.coolqhttpapi/config.json

``` { "general": { "host": "127.0.0.1", "post_url": "http://127.0.0.1:8000", "access_token": "*****" } } ```

(迫于开学 可能下星期六晚才能回复 抱歉

milkice233 commented 5 years ago

非常详尽的反馈,十分感谢 需要指出的是,coolqhttpapi/config.json里可能需要在 general 里加入 "post_message_format": "array", "serve_data_files": "yes" 尝试一下,如果还有问题请继续反馈

seiuneko commented 5 years ago

正常工作了 谢谢

seiuneko commented 5 years ago

https://aur.archlinux.org/packages/python-efb-qq-slave-git/ 好耶!

milkice233 commented 5 years ago

@NebulaNeko 哇哇,感谢打包呢,有空写个 Arch exclusive 教程

seiuneko commented 5 years ago

@milkice233 现在还不能开箱即用 准备中秋国庆放假时 clean up 下 然后写一些说明什么的