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

[Bug]: 频道里at多人,只有第一位被at的人能正常at到 #1182

Open
3 of 4 tasks
WsureDev opened this issue Nov 20, 2021 · 9 comments
Open
3 of 4 tasks

[Bug]: 频道里at多人,只有第一位被at的人能正常at到 #1182

WsureDev opened this issue Nov 20, 2021 · 9 comments
Labels
bug? The issue author think this is a bug

Comments

@WsureDev
Copy link

WsureDev commented Nov 20, 2021

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

  • 我已经仔细阅读上述教程和 "提问前需知"
  • 我已知晓并同意,如果我不遵循以下格式提交 Issue,或者我使用的并非最新版本,或者我没有提供足够的环境信息,我的 Issue 可能会被无条件自动关闭或/并锁定。
  • 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(这些问题应当在 Discussion 板块提出。)

go-cqhttp 版本

v1.0.0-beta8-fix1

旧的 go-cqhttp 版本 (请注意,我们对更低版本的 go-cqhttp 不提供完全支持;您的 Issue 有可能会被关闭。)

No response

运行环境

Windows (64)

其它系统版本

No response

运行架构

AMD

其它系统架构

No response

连接方式

WebSocket (正向)

使用协议

0 | iPad

在最新的 Release 版本中能否复现

  • #1183

重现步骤

在正向ws连接下,构造消息内容为
{"action":"send_guild_channel_msg","params":{"guild_id":6000051636714649,"channel_id":1454836,"message":"[CQ:at,qq=144115218678097866] [CQ:at,qq=144115218677969464] \n10010943"}}

期望的结果是什么?

期望结果收到
{"channel_id":1454836,"guild_id":6000051636714649,"message":"[CQ:at,qq=144115218678097866] \n[CQ:at,qq=144115218677969464] \n10010943","message_id":"294-2151023719","message_type":"guild","post_type":"message","self_id":2060856340,"self_tiny_id":144115218678182288,"sender":{"nickname":"Icarus","user_id":144115218678182288},"sub_type":"channel","time":1637408108,"user_id":144115218678182288}

实际的结果是什么?

{"channel_id":1454836,"guild_id":6000051636714649,"message":"[CQ:at,qq=144115218678097866] \n[CQ:at,qq=537342520] \n10010943","message_id":"294-2151023719","message_type":"guild","post_type":"message","self_id":2060856340,"self_tiny_id":144115218678182288,"sender":{"nickname":"Icarus","user_id":144115218678182288},"sub_type":"channel","time":1637408108,"user_id":144115218678182288}

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

可以明显看到第二位的被at对象userid发生了变化

日志记录(可选)

No response

补充说明(可选)

由于tx官方机器人使用另一套guildId、channelId、userId,且只能被动接受at消息。
目前想实现自动发牌子(频道身份)功能:1.让用户at官方接口机器人 + 需要的牌子
2. 直接在特定子频 发需要的牌子,cqhttp收到后,同时at官方机器人和用户+牌子信息(触发官方bot的at事件拿到用户的官方userid)

@WsureDev WsureDev added the bug? The issue author think this is a bug label Nov 20, 2021
@Mrs4s
Copy link
Owner

Mrs4s commented Nov 20, 2021

请问官方API的各类ID大概长啥样?

@WsureDev
Copy link
Author

WsureDev commented Nov 20, 2021

@Mrs4s 具体可以看下tx bot wiki
官方的各类id也是一串数字,和go-cqhttp拿到的长度有些区别。
区别最大的应该是消息id,官方bot只能接受at事件的消息(私聊事件目前没法私聊机器人),它的消息id是非常长的一串英文混合数字,官方bot用来调用http api回复用户时使用的

@Mrs4s
Copy link
Owner

Mrs4s commented Nov 20, 2021

@Mrs4s 具体可以看下tx bot wiki 官方的各类id也是一串数字,和go-cqhttp拿到的长度有些区别。 区别最大的应该是消息id,官方bot只能接受at事件的消息(私聊事件目前没法私聊机器人),它的消息id是非常长的一串英文混合数字,官方bot用来调用http api回复用户时使用的

目前个人还无法注册官方API, 具体可能需要拿到API进行对比后尝试转换

@WsureDev
Copy link
Author

@Mrs4s 其实现在可以先不用在意官方api,先修复频道at多人的问题就好了,官方那边的频道id和channelId可以手动映射,at多人修复后可以利用官方的at事件实现userId的转换

@Mrs4s
Copy link
Owner

Mrs4s commented Nov 23, 2021

image
我这边似乎无法复现emmmm

@WsureDev
Copy link
Author

啊,这 。难道是我手动构造CQ码格式的at消息导致的嘛?因为我刚开始用go-cqhttp,不太清楚怎么用对象构造at消息,所以直接拼cq码了

@foxwhite25
Copy link

@Mrs4s 具体可以看下tx bot wiki 官方的各类id也是一串数字,和go-cqhttp拿到的长度有些区别。 区别最大的应该是消息id,官方bot只能接受at事件的消息(私聊事件目前没法私聊机器人),它的消息id是非常长的一串英文混合数字,官方bot用来调用http api回复用户时使用的

目前个人还无法注册官方API, 具体可能需要拿到API进行对比后尝试转换

现在个人已经能注册了,可以去试试看API

@Mrs4s
Copy link
Owner

Mrs4s commented Dec 3, 2021

@Mrs4s 具体可以看下tx bot wiki 官方的各类id也是一串数字,和go-cqhttp拿到的长度有些区别。 区别最大的应该是消息id,官方bot只能接受at事件的消息(私聊事件目前没法私聊机器人),它的消息id是非常长的一串英文混合数字,官方bot用来调用http api回复用户时使用的

目前个人还无法注册官方API, 具体可能需要拿到API进行对比后尝试转换

现在个人已经能注册了,可以去试试看API

已经看过了 暂时还没办法做到转换
官方应该是使用原ID通过某种算法转换后交给BOT的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug? The issue author think this is a bug
Projects
None yet
Development

No branches or pull requests

4 participants
@Mrs4s @WsureDev @foxwhite25 and others