Skip to content

[BUG] 当机器人被添加为好友时,不会上报friend_add 事件(仅当机器人主动添加他人时才会上报) #763

@Temmie0125

Description

@Temmie0125

系统版本

Windows 11 Professonal

QQNT 版本

9.9.28-46345

LLBot 版本

7.12.13

OneBot 客户端

TRSS Yunzai v3.1.3

发生了什么?

按照OneBot v11协议规范,当机器人账号与其他用户成为好友时,适配器应通过WebSocket上报notice.friend_add事件。
目前,LLOneBot 仅在机器人主动添加他人好友且对方同意后上报该事件;当 其他用户主动添加机器人为好友,机器人通过自动同意或手动同意后,LLOneBot 完全不上报 friend_add 事件,导致客户端无法感知到新好友的添加。

如何复现

1.配置 LLOneBot 并通过反向WebSocket连接到Yunzai。

2.使用另一个 QQ 账号向机器人 QQ 发送好友申请。

3.机器人端同意该申请(手动或自动)。

4.观察 WebSocket 端收到的消息,或者查看 LLOneBot 的控制台日志。

5.结果:没有任何 notice.friend_add 事件被上报,日志中也没有相关记录。

6.反之,使用机器人主动向用户发送好友申请,用户同意后,LLOneBot 会正常上报 friend_add 事件。

期望的结果?

当机器人被其他用户添加为好友(即机器人被动接受好友申请)时,LLOneBot 应当 也上报notice.friend_add事件,内容包含:

  • self_id:机器人 QQ

  • user_id:添加机器人的用户 QQ

  • notice_typefriend_add

这样客户端才能统一处理好友添加逻辑(例如自动发送欢迎消息、缓存好友信息等),与机器人主动添加好友时的行为保持一致。
此问题可能是LLOneBot在解析QQNT通知事件时遗漏了被动好友添加的场景。望开发者能够检查friend_add事件的触发条件,使其与主动添加逻辑一致。

LLBot 运行日志

机器人主动添加好友(已脱敏):

2026-05-13 21:40:26.938 [INF] [LLBot] �[38;5;8m2026-05-13 21:40:26 �[0m[I] �[38;5;166;1mcore�[0m [发-私] ******:
2026-05-13 21:40:26.938 [INF] [LLBot] 我是来自群“****”的🍀Hikari //这是机器人主动添加他人
2026-05-13 21:40:27.125 [INF] [LLBot] �[38;5;8m2026-05-13 21:40:27 �[0m[I] �[38;5;40;1monebot11-adapter�[0m 收到好友添加消息 u_Hz8uYbT0MGIC3LfOlEkUNg
2026-05-13 21:40:27.128 [INF] [LLBot] �[38;5;8m2026-05-13 21:40:27 �[0m[I] �[38;5;40;1monebot11-adapter�[0m WebSocket 事件上报 ws://localhost:2536/OneBotv11 notice.friend_add
2026-05-13 21:40:27.129 [INF] [LLBot] �[38;5;8m2026-05-13 21:40:27 �[0m[I] �[38;5;40;1monebot11-adapter�[0m WebSocket 事件上报 ws://127.0.0.1:8080/onebot/v11/ws notice.friend_add
2026-05-13 21:40:27.130 [INF] [LLBot] �[38;5;8m2026-05-13 21:40:27 �[0m[I] �[38;5;40;1monebot11-adapter�[0m 收到反向 Websocket 消息 { action: �[32m'get_stranger_info'�[39m, params: { user_id: �[33m3******2�[39m }, echo: �[32m'01KRGS2FBR82M0MFKA03PTZ0XC'�[39m }

被动添加好友情况:
在Yunzai端手动同意好友请求,没有上报好友添加事件。

2026-05-13 21:53:13.223 [INF] [LLBot] �[38;5;8m2026-05-13 21:53:13 �[0m[I] �[38;5;166;1mcore�[0m [收-私] ********(1*******8):
2026-05-13 21:53:13.223 [INF] [LLBot]                         同意
2026-05-13 21:53:13.262 [INF] [LLBot] �[38;5;8m2026-05-13 21:53:13 �[0m[I] �[38;5;40;1monebot11-adapter�[0m WebSocket 事件上报 ws://localhost:2536/OneBotv11 message.private
2026-05-13 21:53:13.265 [INF] [LLBot] �[38;5;8m2026-05-13 21:53:13 �[0m[I] �[38;5;40;1monebot11-adapter�[0m WebSocket 事件上报 ws://127.0.0.1:8080/onebot/v11/ws message.private

对比可见:被动添加时完全没有 friend_add 事件上报。

OneBot 客户端运行日志

[21:53:13.261][INFO][2******8 <= 1******8] 好友消息:[******] [CQ:reply,id=-501410140]同意
[21:53:13.283][INFO][********][同意][椰奶申请处理(Handle)][开始处理]
[21:53:13.326][MARK][  TRSSYz  ] [椰奶申请处理(Handle)]同意好友申请
[21:53:13.327][MARK][********][同意][椰奶申请处理(Handle)][完成44]
[21:53:13.606][INFO][2******8 => 1******8] 发送好友消息:[{"type":"text","data":{"text":"✅ 已同意3******7的好友申请"}}]
[21:53:14.033][INFO][2******8 <= 3******7] 好友消息:[Ruri.水色琉璃喵•小晚] 请求添加你为好友
可见Yunzai端也没有输出相关日志,说明friend_add事件完全没有被上报。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions