ehForwarderBot / efb-qq-plugin-go-cqhttp

Go-cqhttp Plugin for EFB QQ Slave.
GNU Affero General Public License v3.0
32 stars 20 forks source link

无法发送QQ群聊消息 #10

Closed iaurman closed 3 years ago

iaurman commented 3 years ago

问题描述:

qq联系人: 发送/接受消息正常 qq群: 接受消息正常,发送消息失败

发送qq群消息失败log:

telegram log

Message is not sent.

CoolQAPIFailureException('CoolQ HTTP API encountered an error!\nStatus Code:200 Return Code:100')

ehforwarderbot log

Sep 12 23:37:20 one ehforwarderbot[647]: 2021-09-12 23:37:20,662 [ERROR]: efb_telegram_master.master_message (master_message.process_telegram_message; master_message.py:411)
Sep 12 23:37:20 one ehforwarderbot[647]:     Message is not sent. (update: {'update_id': 310439758, 'message': {'text': 'test message', 'delete_chat_photo': False, 'chat': {'type': 'private', 'first_name': 'Riley', 'id': xxxxxxxxx, 'last_name': 'Soong'}, 'group_chat_created': False, 'new_chat_members': [], 'message_id': 1716, 'new_chat_photo': [], 'reply_to_message': {'text': '🐧👥 xxx [xxx]:\nxxxxxxxxx', 'delete_chat_photo': False, 'chat': {'type': 'private', 'first_name': 'Riley', 'id': xxxxxxxxxx, 'last_name': 'Soong'}, 'group_chat_created': False, 'new_chat_members': [], 'message_id': 1502, 'new_chat_photo': [], 'caption_entities': [], 'photo': [], 'entities': [], 'supergroup_chat_created': False, 'date': 1631454950, 'channel_chat_created': False, 'from': {'id': xxxxxxxxxx, 'is_bot': True, 'username': 'xxxxxxxxx', 'first_name': 'QQ Console'}}, 'caption_entities': [], 'photo': [], 'entities': [], 'supergroup_chat_created': False, 'date': 1631461034, 'channel_chat_created': False, 'from': {'language_code': 'en', 'id': xxxxxxxxxxxx, 'is_bot': False, 'last_name': 'Soong', 'first_name': 'Riley'}}}, exception: CoolQ HTTP API encountered an error!
Sep 12 23:37:20 one ehforwarderbot[647]: Status Code:200 Return Code:100)
Sep 12 23:37:20 one ehforwarderbot[647]: Traceback (most recent call last):
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/efb_qq_plugin_go_cqhttp/GoCQHttp.py", line 644, in _coolq_api_wrapper
Sep 12 23:37:20 one ehforwarderbot[647]:     res = func(**kwargs)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/cqhttp/__init__.py", line 25, in do_call
Sep 12 23:37:20 one ehforwarderbot[647]:     raise Error(resp.status_code, data.get('retcode'))
Sep 12 23:37:20 one ehforwarderbot[647]: cqhttp.Error: (200, 100)
Sep 12 23:37:20 one ehforwarderbot[647]: During handling of the above exception, another exception occurred:
Sep 12 23:37:20 one ehforwarderbot[647]: Traceback (most recent call last):
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/usr/lib/python3.9/site-packages/efb_telegram_master/master_message.py", line 394, in process_telegram_message
Sep 12 23:37:20 one ehforwarderbot[647]:     slave_msg = coordinator.send_message(m)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/usr/lib/python3.9/site-packages/ehforwarderbot/coordinator.py", line 113, in send_message
Sep 12 23:37:20 one ehforwarderbot[647]:     return slaves[msg.deliver_to.channel_id].send_message(msg)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/efb_qq_slave/__init__.py", line 80, in send_message
Sep 12 23:37:20 one ehforwarderbot[647]:     return self.QQClient.send_message(msg)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/efb_qq_plugin_go_cqhttp/GoCQHttp.py", line 519, in send_message
Sep 12 23:37:20 one ehforwarderbot[647]:     msg.uid = self.coolq_send_message(chat_type[0], chat_type[1], msg.text)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/efb_qq_plugin_go_cqhttp/GoCQHttp.py", line 638, in coolq_send_message
Sep 12 23:37:20 one ehforwarderbot[647]:     res = self.coolq_api_query('send_msg', message_type=msg_type, **{keyword + '_id': uid}, message=message)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/efb_qq_plugin_go_cqhttp/GoCQHttp.py", line 671, in coolq_api_query
Sep 12 23:37:20 one ehforwarderbot[647]:     return self._coolq_api_wrapper(func_name, **kwargs)
Sep 12 23:37:20 one ehforwarderbot[647]:   File "/home/riley/.local/lib/python3.9/site-packages/efb_qq_plugin_go_cqhttp/GoCQHttp.py", line 654, in _coolq_api_wrapper
Sep 12 23:37:20 one ehforwarderbot[647]:     raise api_ex
Sep 12 23:37:20 one ehforwarderbot[647]: efb_qq_plugin_go_cqhttp.Exceptions.CoolQAPIFailureException: CoolQ HTTP API encountered an error!
Sep 12 23:37:20 one ehforwarderbot[647]: Status Code:200 Return Code:100

ehforwarder-cqhttp log

Sep 12 23:37:19 one go-cqhttp[485]: [2021-09-12 23:37:19] [WARNING]: 群消息发送失败: 账号可能被风控.

后续又试了一次手动调用并开启debug,仍然失败:ehforwarder-cqhttp log

Sep 13 00:02:55 one go-cqhttp[10727]: [2021-09-13 00:02:55] [DEBUG]: HTTPServer接收到API调用: send_group_msg
Sep 13 00:02:55 one go-cqhttp[10727]: [2021-09-13 00:02:55] [DEBUG]: Protocol -> rev pkt: MessageSvc.PbSendMsg seq: 13922
Sep 13 00:02:56 one go-cqhttp[10727]: [2021-09-13 00:02:56] [DEBUG]: Protocol -> rev pkt: Heartbeat.Alive seq: 13923
Sep 13 00:03:00 one go-cqhttp[10727]: [2021-09-13 00:03:00] [DEBUG]: Protocol -> rev pkt: OidbSvc.0x88d_0 seq: 13924
Sep 13 00:03:00 one go-cqhttp[10727]: [2021-09-13 00:03:00] [DEBUG]: Protocol -> rev pkt: MessageSvc.PbGetGroupMsg seq: 13925
Sep 13 00:03:00 one go-cqhttp[10727]: [2021-09-13 00:03:00] [WARNING]: 群消息发送失败: 账号可能被风控.

配置文件

milkice.qq/config.yaml

 Client: GoCQHttp                      # 指定要使用的 QQ 客户端(此处为 GoCQHttp)
 GoCQHttp:
     type: HTTP                        # 指定 efb-qq-plugin-go-cqhttp 与 GoCQHttp 通信的方式 现阶段仅支持 HTTP
     access_token:
     api_root: http://127.0.0.1:5700/  # GoCQHttp API接口地址/端口
     host: 127.0.0.1                   # efb-qq-slave 所监听的地址用于接收消息
     port: 8000                        # 同上

cqhttp/config.yml

# go-cqhttp 默认配置文件

account: # 账号相关
  uin: xxxxxxxxxxxxx # QQ账号
  password: '' # 密码为空时使用扫码登录
  encrypt: false  # 是否开启密码加密
  status: 0      # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
  relogin: # 重连设置
    delay: 3   # 首次重连延迟, 单位秒
    interval: 3   # 重连间隔
    max-times: 0  # 最大重连次数, 0为无限制

  # 是否使用服务器下发的新地址进行重连
  # 注意, 此设置可能导致在海外服务器上连接情况更差
  use-sso-address: true

heartbeat:
  # 心跳频率, 单位秒
  # -1 为关闭心跳
  interval: 5

message:
  # 上报数据类型
  # 可选: string,array
  post-format: array
  # 是否忽略无效的CQ码, 如果为假将原样发送
  ignore-invalid-cqcode: false
  # 是否强制分片发送消息
  # 分片发送将会带来更快的速度
  # 但是兼容性会有些问题
  force-fragment: false
  # 是否将url分片发送
  fix-url: false
  # 下载图片等请求网络代理
  proxy-rewrite: ''
  # 是否上报自身消息
  report-self-message: false
  # 移除服务端的Reply附带的At
  remove-reply-at: false
  # 为Reply附加更多信息
  extra-reply-data: true
  # 跳过 Mime 扫描, 忽略错误数据
  skip-mime-scan: false

output:
  # 日志等级 trace,debug,info,warn,error
  log-level: warn
  # 日志时效 单位天. 超过这个时间之前的日志将会被自动删除. 设置为 0 表示永久保留.
  log-aging: 15
  # 是否在每次启动时强制创建全新的文件储存日志. 为 false 的情况下将会在上次启动时创建的日志文件续写
  log-force-new: true
  # 是否启用 DEBUG
  debug: false # 开启调试模式

# 默认中间件锚点
default-middlewares: &default
  # 访问密钥, 强烈推荐在公网的服务器设置
  access-token: ''
  # 事件过滤器文件目录
  filter: ''
  # API限速设置
  # 该设置为全局生效
  # 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
  # 目前该限速设置为令牌桶算法, 请参考:
  # https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
  rate-limit:
    enabled: false # 是否启用限速
    frequency: 1  # 令牌回复频率, 单位秒
    bucket: 1     # 令牌桶大小

database: # 数据库相关设置
  leveldb:
    # 是否启用内置leveldb数据库
    # 启用将会增加10-20MB的内存占用和一定的磁盘空间
    # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
    enable: true

# 连接服务列表
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器
  # HTTP 通信设置
  - http:
      # 服务端监听地址
      host: 127.0.0.1
      # 服务端监听端口
      port: 5700
      # 反向HTTP超时时间, 单位秒
      # 最小值为5,小于5将会忽略本项设置
      timeout: 5
      # 长轮询拓展
      long-polling:
        # 是否开启
        enabled: false
        # 消息队列大小,0 表示不限制队列大小,谨慎使用
        max-queue-size: 2000
      middlewares:
        <<: *default # 引用默认中间件
      # 反向HTTP POST地址列表
      post:
        - url: 'http://127.0.0.1:8000' # 地址
          secret: ''                   # 密钥保持为空
      #- url: '' # 地址
      #  secret: ''           # 密钥
      #- url: 127.0.0.1:5701 # 地址
      #  secret: ''          # 密钥
XYenon commented 3 years ago

日志写的很清楚了,账号可能被风控,多挂几天机可能能解决

NoverNobida commented 2 years ago

为什么我和你的配置一模一样,我却只能接收消息,不能发送消息。接收消息log日志里面有,发送消息则什么都没有。

Ashinch commented 2 years ago

可能是风控,挂个几天再试