go-cqhttp icon indicating copy to clipboard operation
go-cqhttp copied to clipboard

[Bug]: 发送私聊消息时无任何错误,但是实际消息未发出,在bot账号和接收者账号均无法看到消息。

Open coder-tq opened this issue 2 years ago • 23 comments

请确保您已阅读以上注意事项,并勾选下方的确认框。

  • [X] 我已经仔细阅读上述教程和 "提问前需知"
  • [X] 我已经使用 dev分支版本 测试过,问题依旧存在。
  • [X] 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题的ISSUE。
  • [X] 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(这些问题应当在 Discussion 板块提出。)

go-cqhttp 版本

v1.0.1

运行环境

CentOS

运行架构

None

连接方式

WebSocket (反向)

使用协议

Android Pad

重现步骤

未知,突然出现,日志中无任何错误,显示发送成功,实际没发出。群聊正常

期望的结果是什么?

发送成功,或发送失败日志中报错

实际的结果是什么?

发送失败,且日志中正常

简单的复现代码/链接(可选)

No response

日志记录(可选)

[2023-05-12 17:56:07] [INFO]: 收到好友 一只圆子吖🎈() 的消息: echo 123 (-1141428471) 
[2023-05-12 17:56:07] [INFO]: 发送好友 xx(xx)  的消息: [{"type":  ... (-1148978535)

补充说明(可选)

No response

coder-tq avatar May 12 '23 09:05 coder-tq

同问题,私聊异常发不出消息,无报错;群聊无异常。

pigz2538 avatar May 12 '23 10:05 pigz2538

更新协议+删除device.json+使用MACos协议登录解决

coder-tq avatar May 12 '23 11:05 coder-tq

同样的问题,没有找到在哪改 macos协议

lanny520 avatar May 12 '23 11:05 lanny520

同样的问题,没有找到在哪改 macos协议

https://docs.go-cqhttp.org/guide/config.html#%E8%AE%BE%E5%A4%87%E4%BF%A1%E6%81%AF

需要将 device.json 内的 protocol 字段改为 3

修改协议后,bot能正常发出消息

不删除 device.json,只修改 protocol 的话,也能正常运行(目前未发现问题),但建议删除

lollipopkit avatar May 12 '23 18:05 lollipopkit

更新协议+删除device.json+使用MACos协议登录解决

如何更新协议?

gaoyiping avatar May 13 '23 01:05 gaoyiping

同遇到了

0honus0 avatar May 13 '23 04:05 0honus0

跟楼上方法,protocol 字段改为 3,重启程序,问题解决了,感谢

huang122124 avatar May 13 '23 11:05 huang122124

昨天删除device改成macos成功了,今天提示版本太低了,启动时使用-update-protocol仍然提示版本较低

pigz2538 avatar May 13 '23 15:05 pigz2538

修改过device或删了token后都会提示版本过低,使用后缀也没用,所以现在不敢改一些配置了

Dragon-ts avatar May 14 '23 06:05 Dragon-ts

换安卓手表协议扫码登录可用

EnderHane avatar May 17 '23 17:05 EnderHane

该问题复现于Android_Pad协议8.9.53.10815,表现为控制台输出了私聊发送,但实际未发送。 另外千万不要修改MACOS,可能会触发[新设备]封禁,导致帐号Code45,表现的症状和触发了禁止登录:版本过低请升级时一样,全协议禁止登录,然后就只能手表协议扫码使用了。 出现此问题建议直接更换手表协议,手表目前无此问题。切换手表协议需要在device.json中将protocol字段修改为2,然后删除config.yml里的密码。重启程序使用扫码登录。扫码时需要手机和电脑处于同一网络环境(目前判断规则为公网IP相同即可),如果是在服务器上使用,可以先在本地电脑扫码完成后,上传device.jsonsession.token至服务器即可。 多说一句,由于触发了Code:45后,该帐号就不能再在手机协议登录了,所以戳一戳就无法使用了(即使以后修复了私聊bug你也切换不回来了),所以尽可能的要保证这个帐号不要触发45封禁。 @Dragon-ts @pigz2538 @coder-tq @lanny520 @lollipopkit @gaoyiping @0honus0 @huang122124

rhwong avatar May 17 '23 17:05 rhwong

该问题复现于Android_Pad协议8.9.53.10815,表现为控制台输出了私聊发送,但实际未发送。 另外千万不要修改MACOS,可能会触发[新设备]封禁,导致帐号Code45,表现的症状和触发了禁止登录:版本过低请升级时一样,全协议禁止登录,然后就只能手表协议扫码使用了。 出现此问题建议直接更换手表协议,手表目前无此问题。切换手表协议需要在device.json中将protocol字段修改为2,然后删除config.yml里的密码。重启程序使用扫码登录。扫码时需要手机和电脑处于同一网络环境(目前判断规则为公网IP相同即可),如果是在服务器上使用,可以先在本地电脑扫码完成后,上传device.jsonsession.token至服务器即可。 多说一句,由于触发了Code:45后,该帐号就不能再在手机协议登录了,所以戳一戳就无法使用了(即使以后修复了私聊bug你也切换不回来了),所以尽可能的要保证这个帐号不要触发45封禁。 @Dragon-ts @pigz2538 @coder-tq @lanny520 @lollipopkit @gaoyiping @0honus0 @huang122124

code45是彻底没救了吗(痛哭

Pafffffff avatar May 26 '23 13:05 Pafffffff

该问题复现于Android_Pad协议8.9.53.10815,表现为控制台输出了私聊发送,但实际未发送。 另外千万不要修改MACOS,可能会触发[新设备]封禁,导致帐号Code45,表现的症状和触发了禁止登录:版本过低请升级时一样,全协议禁止登录,然后就只能手表协议扫码使用了。 出现此问题建议直接更换手表协议,手表目前无此问题。切换手表协议需要在device.json中将protocol字段修改为2,然后删除config.yml里的密码。重启程序使用扫码登录。扫码时需要手机和电脑处于同一网络环境(目前判断规则为公网IP相同即可),如果是在服务器上使用,可以先在本地电脑扫码完成后,上传device.jsonsession.token至服务器即可。 多说一句,由于触发了Code:45后,该帐号就不能再在手机协议登录了,所以戳一戳就无法使用了(即使以后修复了私聊bug你也切换不回来了),所以尽可能的要保证这个帐号不要触发45封禁。 @Dragon-ts @pigz2538 @coder-tq @lanny520 @lollipopkit @gaoyiping @0honus0 @huang122124

code45是彻底没救了吗(痛哭

没救了

rhwong avatar May 27 '23 07:05 rhwong

code 45永久吗

lolikyo avatar May 27 '23 08:05 lolikyo

没救了

45你当前使用的QQ版本过低 是被强制升级了,要用最新版本 45建议升级最新版后重试 是 t544/头部 sign 缺失或有误 这俩都有救,解决了就能登录,消息发不出也基本和第二个一样 但是如果出现 账号涉嫌违规被限制在非常用设备登录 这种是寄了,需要去常用设备解封

注:这里的提示不是指 go-cqhttp 给的,而是腾讯服务器给的,在 登录失败: 后面,Code: 45 前面

dmlgzs avatar May 27 '23 10:05 dmlgzs

该问题复现于Android_Pad协议8.9.53.10815,表现为控制台输出了私聊发送,但实际未发送。 另外千万不要修改MACOS,可能会触发[新设备]封禁,导致帐号Code45,表现的症状和触发了禁止登录:版本过低请升级时一样,全协议禁止登录,然后就只能手表协议扫码使用了。 出现此问题建议直接更换手表协议,手表目前无此问题。切换手表协议需要在device.json中将protocol字段修改为2,然后删除config.yml里的密码。重启程序使用扫码登录。扫码时需要手机和电脑处于同一网络环境(目前判断规则为公网IP相同即可),如果是在服务器上使用,可以先在本地电脑扫码完成后,上传device.jsonsession.token至服务器即可。 多说一句,由于触发了Code:45后,该帐号就不能再在手机协议登录了,所以戳一戳就无法使用了(即使以后修复了私聊bug你也切换不回来了),所以尽可能的要保证这个帐号不要触发45封禁。 @Dragon-ts @pigz2538 @coder-tq @lanny520 @lollipopkit @gaoyiping @0honus0 @huang122124

code45是彻底没救了吗(痛哭

没救了

更新了下安卓QQ到最新版本,可算手机上恢复了,不敢挂了

lolikyo avatar May 27 '23 10:05 lolikyo

没救了

45你当前使用的QQ版本过低 是被强制升级了,要用最新版本 45建议升级最新版后重试 是 t544/头部 sign 缺失或有误 这俩都有救,解决了就能登录,消息发不出也基本和第二个一样 但是如果出现 账号涉嫌违规被限制在非常用设备登录 这种是寄了,需要去常用设备解封

注:这里的提示不是指 go-cqhttp 给的,而是腾讯服务器给的,在 登录失败: 后面,Code: 45 前面

限制在非常用设备这个提示,有少部分号用一个非常用的手机去登录,会触发提示使用手机发送验证码x到xxx,解除了就可以用了。但是大部分号都没有,还是手Q顺利登录,cq不能登陆。原理未知。

rhwong avatar May 29 '23 02:05 rhwong

该问题复现于Android_Pad协议8.9.53.10815,表现为控制台输出了私聊发送,但实际未发送。 另外千万不要修改MACOS,可能会触发[新设备]封禁,导致帐号Code45,表现的症状和触发了禁止登录:版本过低请升级时一样,全协议禁止登录,然后就只能手表协议扫码使用了。 出现此问题建议直接更换手表协议,手表目前无此问题。切换手表协议需要在device.json中将protocol字段修改为2,然后删除config.yml里的密码。重启程序使用扫码登录。扫码时需要手机和电脑处于同一网络环境(目前判断规则为公网IP相同即可),如果是在服务器上使用,可以先在本地电脑扫码完成后,上传device.jsonsession.token至服务器即可。 多说一句,由于触发了Code:45后,该帐号就不能再在手机协议登录了,所以戳一戳就无法使用了(即使以后修复了私聊bug你也切换不回来了),所以尽可能的要保证这个帐号不要触发45封禁。 @Dragon-ts @pigz2538 @coder-tq @lanny520 @lollipopkit @gaoyiping @0honus0 @huang122124

code45是彻底没救了吗(痛哭

没救了

更新了下安卓QQ到最新版本,可算手机上恢复了,不敢挂了

你出现这个提示的原因,大概率就是手机QQ没有更新最新版,然后去登录触发了需要升级。然后这个号就不能再在任何稍旧的版本上登录了。现在QQ就很魔幻,我4月的手Q版本都说我版本过低。。。

rhwong avatar May 29 '23 02:05 rhwong

问题+1,后台看到能回复,但是实际并未发出回复。 还遇上了会话缓存导致无法更新,官方doc没搜到相关内容

---Setup Timezone to Asia/Shanghai---
---Checking if UID: 99 matches user---
usermod: no changes
---Checking if GID: 100 matches user---
usermod: no changes
---Setting umask to 002---
---Taking ownership of data...---
Starting...
go-cqhttp (devel) © 2020 - 2023 Mrs4s[2023-06-05 07:25:17] [INFO]: 当前版本:(devel) 
[2023-06-05 07:25:17] [INFO]: 将使用 device.json 内的设备信息运行Bot. 
[2023-06-05 07:25:17] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消. 
[2023-06-05 07:25:22] [INFO]: 开始尝试登录并同步消息... 
[2023-06-05 07:25:22] [INFO]: 使用协议: Android Pad 8.9.35.10440 
[2023-06-05 07:25:22] [INFO]: Protocol -> connect to server: 
[2023-06-05 07:25:22] [WARNING]: Protocol -> device lock is disable. http api may fail. 
[2023-06-05 07:25:23] [INFO]: 正在检查协议更新... 
[2023-06-05 07:25:28] [INFO]: 检测到协议更新: 8.9.35.10440 -> 8.8.88.7083 
[2023-06-05 07:25:28] [INFO]: 由于使用了会话缓存, 无法自动更新协议, 请删除缓存后重试 
[2023-06-05 07:25:28] [INFO]: 登录成功 欢迎使用: 
[2023-06-05 07:25:28] [INFO]: 开始加载好友列表... 
[2023-06-05 07:25:29] [INFO]: 共加载 7 个好友. 
[2023-06-05 07:25:29] [INFO]: 开始加载群列表... 
[2023-06-05 07:25:29] [INFO]: 共加载 2 个群. 
[2023-06-05 07:25:29] [INFO]: 资源初始化完成, 开始处理信息. 
[2023-06-05 07:25:29] [INFO]: アトリは、高性能ですから! 
[2023-06-05 07:25:29] [INFO]: 正在检查更新. 
[2023-06-05 07:25:29] [WARNING]: 检查更新失败: 使用的 Actions 测试版或自编译版本. 
[2023-06-05 07:25:29] [INFO]: 开始诊断网络情况 
[2023-06-05 07:25:29] [INFO]: 开始尝试连接到反向WebSocket Universal服务器
[2023-06-05 07:25:29] [INFO]: 已连接到反向WebSocket Universal服务器
[2023-06-05 07:25:31] [INFO]: 网络诊断完成. 未发现问题 

Huiaei avatar Jun 05 '23 07:06 Huiaei

同样遇到了这样的问题,我的临时规避办法是删除除了gocq和config以外的全部文件,重新生成就可以恢复,但是一旦掉线就会立刻复现。 默认生成的protocol是6,我决定晚上回去改成手表试试看

hfuulzy avatar Jun 19 '23 12:06 hfuulzy

由于使用了会话缓存, 无法自动更新协议, 请删除缓存后重试 尝试多次大概是协议更新了。 [2023-06-26 06:30:22] [INFO]: 检测到协议更新: 8.9.35.10440 -> 8.8.88.7083 [2023-06-26 06:30:22] [INFO]: 由于使用了会话缓存, 无法自动更新协议, 请删除缓存后重试

目前好像无法发送消息了

Moxin1044 avatar Jun 25 '23 22:06 Moxin1044

该问题复现于Android_Pad协议8.9.53.10815,表现为控制台输出了私聊发送,但实际未发送。 另外千万不要修改MACOS,可能会触发[新设备]封禁,导致帐号Code45,表现的症状和触发了禁止登录:版本过低请升级时一样,全协议禁止登录,然后就只能手表协议扫码使用了。 出现此问题建议直接更换手表协议,手表目前无此问题。切换手表协议需要在device.json中将protocol字段修改为2,然后删除config.yml里的密码。重启程序使用扫码登录。扫码时需要手机和电脑处于同一网络环境(目前判断规则为公网IP相同即可),如果是在服务器上使用,可以先在本地电脑扫码完成后,上传device.jsonsession.token至服务器即可。 多说一句,由于触发了Code:45后,该帐号就不能再在手机协议登录了,所以戳一戳就无法使用了(即使以后修复了私聊bug你也切换不回来了),所以尽可能的要保证这个帐号不要触发45封禁。 @Dragon-ts @pigz2538 @coder-tq @lanny520 @lollipopkit @gaoyiping @0honus0 @huang122124

手表协议出现此问题(未配置qisgn)

FuugaMo avatar Sep 10 '23 00:09 FuugaMo