Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

消息接受有概率重复 #41

Closed
mnixry opened this issue Aug 5, 2020 · 13 comments
Closed

消息接受有概率重复 #41

mnixry opened this issue Aug 5, 2020 · 13 comments
Labels
bug Something isn't working

Comments

@mnixry
Copy link
Contributor

mnixry commented Aug 5, 2020

在同时在配置文件中启用ws,ws_reverse和http时,通过ws_reverse会发出多条重复的消息

p.s.这个问题我没有测试,但是有几个人反映了

update.这个问题貌似复现方法不稳定但确实存在 @Kyomotoi 目前遇到了这个问题

@Kyomotoi
Copy link

Kyomotoi commented Aug 5, 2020

跟进:配置中关闭ws、http,只保留ws_reverse时,会返回多次重复信息
如果搭配NoneBot使用,则在NoneBot会解析两次,发送两次返回

@mnixry mnixry changed the title 同时启用ws,ws_reverse和http时会导致发出多个相通消息 消息接受有概率重复 Aug 5, 2020
@Mrs4s
Copy link
Owner

Mrs4s commented Aug 5, 2020

目前逻辑是同时存在universal server和event server的话就会同时给这两个服务器推送事件,理论上应该不会单独重复。

跟进:配置中关闭ws、http,只保留ws_reverse时,会返回多次重复信息
如果搭配NoneBot使用,则在NoneBot会解析两次,发送两次返回

请问重复推送的情况下go-cqhttp的日志有没有重复打印

@Mrs4s Mrs4s added the bug Something isn't working label Aug 5, 2020
@Kyomotoi
Copy link

Kyomotoi commented Aug 5, 2020

目前逻辑是同时存在universal server和event server的话就会同时给这两个服务器推送事件,理论上应该不会单独重复。

跟进:配置中关闭ws、http,只保留ws_reverse时,会返回多次重复信息
如果搭配NoneBot使用,则在NoneBot会解析两次,发送两次返回

请问重复推送的情况下go-cqhttp的日志有没有重复打印

go-cqhttp日志内并没有重复打印,NoneBot运行在其它Mirai平台搭配其它的CQHTTP下使用均未出现类似问题,麻烦了!

@0akarma
Copy link
Contributor

0akarma commented Aug 5, 2020

跟进:配置中关闭ws、http,只保留ws_reverse时,会返回多次重复信息

如果搭配NoneBot使用,则在NoneBot会解析两次,发送两次返回

我用的时候,关闭ws、ws_reverse,只用http也会随机返回多次重复信息

@Mrs4s
Copy link
Owner

Mrs4s commented Aug 5, 2020

这个似乎是比较奇怪的情况,我这边暂时没办法复现

@shigma
Copy link
Contributor

shigma commented Aug 6, 2020

我这可以复现,给一个例子:

image

红色框是一种期望的输入/输出,蓝色框是另一种期望的输入/输出,但是中途某个红色框输入被触发了两次。

image

这里控制台的第三行就是重复的。

@Kyomotoi
Copy link

Kyomotoi commented Aug 6, 2020

继这个问题:
经过新版本测试,发现群聊私聊中回应消息依然存在返回多次重复信息,日志内正常
私聊
avatar
群聊
avatar

辛苦了!orz

@DeSireFire
Copy link

同上,我这边出现了同样的问题。
使用go-cqhttp同时使用ws和反向ws功能时,出现消息重复的现象。
反向ws对接了yobot项目,正向ws对接的是CQ-picfinder-robot项目
以下是我的配置文件信息

{
	"uin": XXX,
	"password": "XXX",
	"enable_db": true,
	"access_token": "test",
	"relogin": false,
	"relogin_delay": 0,
	"http_config": {
		"enabled": false,
		"host": "0.0.0.0",
		"port": 5700,
		"post_urls": {}
	},
	"ws_config": {
		"enabled": true,
		"host": "0.0.0.0",
		"port": 6700
	},
	"ws_reverse_servers": [{
		"enabled": true,
		"reverse_url": "ws://xxx/ws/",
		"reverse_api_url": "ws://xxxx/ws/api/",
		"reverse_event_url": "ws://xxx/ws/event/",
		"reverse_reconnect_interval": 3000
	}],
	"debug": false
}

image

如果作者需要我提供部署好的yobot接口,
来方便复现bug的话,可以给我留个邮箱,我把接口和token给你发过去。
经过对比,发现正向ws对接CQ-picfinder-robot回复不会出现消息重复。
但是反向ws对接的项目会出现消息重复。
(确定yobot本身没有问题)

@Mrs4s
Copy link
Owner

Mrs4s commented Aug 6, 2020

同上,我这边出现了同样的问题。
使用go-cqhttp同时使用ws和反向ws功能时,出现消息重复的现象。
反向ws对接了yobot项目,正向ws对接的是CQ-picfinder-robot项目
以下是我的配置文件信息

{
	"uin": XXX,
	"password": "XXX",
	"enable_db": true,
	"access_token": "test",
	"relogin": false,
	"relogin_delay": 0,
	"http_config": {
		"enabled": false,
		"host": "0.0.0.0",
		"port": 5700,
		"post_urls": {}
	},
	"ws_config": {
		"enabled": true,
		"host": "0.0.0.0",
		"port": 6700
	},
	"ws_reverse_servers": [{
		"enabled": true,
		"reverse_url": "ws://xxx/ws/",
		"reverse_api_url": "ws://xxxx/ws/api/",
		"reverse_event_url": "ws://xxx/ws/event/",
		"reverse_reconnect_interval": 3000
	}],
	"debug": false
}

image

如果作者需要我提供部署好的yobot接口,
来方便复现bug的话,可以给我留个邮箱,我把接口和token给你发过去。
经过对比,发现正向ws对接CQ-picfinder-robot回复不会出现消息重复。
但是反向ws对接的项目会出现消息重复。
(确定yobot本身没有问题)

同时配置 reverse_urlreverse_event_url 的情况下消息会重复属正常情况, 下个版本我会优化

@shigma
Copy link
Contributor

shigma commented Aug 6, 2020

上面发的是 http 的情况,ws 也可复现:

image

@Mrs4s
Copy link
Owner

Mrs4s commented Aug 6, 2020

私聊消息重复是另一个问题,正在排查

@purerosefallen
Copy link
Contributor

Which mode is considered safe? http or ws or reverse ws

@Mrs4s Mrs4s closed this as completed Aug 8, 2020
@Mrs4s
Copy link
Owner

Mrs4s commented Aug 8, 2020

fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

7 participants