chrononeko / bugtracker

Chrononeko Bugtracker
0 stars 0 forks source link

机器人经常发不出信息 #50

Closed ShoukakuChuuCC closed 9 months ago

ShoukakuChuuCC commented 9 months ago

使用miao-yunzai,通过ws-plugin接入 chronocat v0.0.52 docker版

miao-yunzai日志 10月 15 23:53:34 Bot node[18770]: [MiaoYz][23:53:34.368][ERRO] undefined

chronocat日志 [2023-10-15 15:54:54.912] [ERROR] [Main] undefined (node:81) UnhandledPromiseRejectionWarning: undefined (node:81) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 54) [2023-10-15 15:54:55.181] [ERROR] [Main] undefined (node:81) UnhandledPromiseRejectionWarning: undefined (node:81) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 55) [2023-10-15 15:56:06.666] [ERROR] [Main] undefined (node:81) UnhandledPromiseRejectionWarning: undefined (node:81) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 56) [2023-10-15 15:56:29.989] [ERROR] [Main] undefined (node:81) UnhandledPromiseRejectionWarning: undefined (node:81) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 57)

ilharp commented 9 months ago

目前 Chronocat 的输出里并不会显示操作的详情,因此你需要观察 QQ 界面来确定消息是否正确发送。

应当发送的消息是以下的哪一种情况?

  1. 应当发送的消息并未出现在 QQ 界面
  2. 应当发送的消息尝试发送,但出现了红色感叹号
  3. 应当发送的消息显示已发送,但其他设备并未接收到

此外需要注意:如果你正在使用无头模式,由于无头模式的 QQ 没有界面,你需要先换成正常模式启动 QQ 再观察界面。目前无头模式还处在实验性阶段,我们不建议投入生产环境(文档 上已有说明),因此请先换到正常启动再确定问题。

ShoukakuChuuCC commented 9 months ago

目前 Chronocat 的输出里并不会显示操作的详情,因此你需要观察 QQ 界面来确定消息是否正确发送。

应当发送的消息是以下的哪一种情况?

  1. 应当发送的消息并未出现在 QQ 界面
  2. 应当发送的消息尝试发送,但出现了红色感叹号
  3. 应当发送的消息显示已发送,但其他设备并未接收到

此外需要注意:如果你正在使用无头模式,由于无头模式的 QQ 没有界面,你需要先换成正常模式启动 QQ 再观察界面。目前无头模式还处在实验性阶段,我们不建议投入生产环境(文档 上已有说明),因此请先换到正常启动再确定问题。

属于“应当发送的消息并未出现在 QQ 界面” 项目使用docker进行部署,未做其他修改,默认应该是正常模式启动的QQ

ilharp commented 9 months ago

啊,我上面的意思是,安装了 Chronocat 的 QQNT 是哪种情况,不是其他设备看到的是哪种情况。

如果你使用的是 Chronocat 的 Docker 镜像的话,Docker 里使用的是无头模式,所以你想要排查这个问题的话,可能需要找一个能够 本机安装 QQ 的设备进行测试。

此外,我也会抽时间在我自己的设备上测试一下这个问题。

ShoukakuChuuCC commented 9 months ago

由于生产环境是无桌面环境的Linux,所以无法验证 有空再开一台Win10虚拟机看看吧

ShoukakuChuuCC commented 9 months ago

docker cli写上环境变量,是否就不是无头模式启动了?

docker run -d \
  --name chronocat \
  -p 16530:16530 \
  -p 5500:5500 \
  -p 16340:16340 \
  -e CHRONO_MODE=login \
  -v /etc/chronocat/config:/chrono/.chronocat/config \
  -v /etc/chronocat/qq:/chrono/.config/QQ \
  chronoc/at
ilharp commented 9 months ago

docker cli写上环境变量,是否就不是无头模式启动了?

不行,因为 Docker 镜像本身就没有「头」(完整的桌面环境),所以 Docker 里的 Chronocat 是强制无头模式的。

要以正常模式启动,只能使用一台带完整桌面环境的设备。

我昨天测试了,Chronocat 的收发信息都是良好的。有可能是你的账号或你账号本次的登录出现了问题。你可以试试删除容器,删除工作目录下的 qq 这个文件夹(文件夹里存储了登录状态),然后重新创建一个容器,并使用扫码登录。这样可以刷新一次登录状态,然后再看看是否能够解决问题。

ShoukakuChuuCC commented 9 months ago

我从Miao-Yunzai换成了TRSS-Yunzai 信息是发出来了但是内容不对,直接转发我的触发指令了

3831dd3fa158fbd3e6e0c2ea5f8928e0

image

image image chatgpt-plugin倒是可以正常使用的,docker完全重新安装了 清空了数据

ilharp commented 9 months ago

目前只有 Windows 上的 64 位 QQ 支持伪造合并转发。由于 Chronocat 目前已无任何维护者,近期没有更新计划。抱歉。