-
Notifications
You must be signed in to change notification settings - Fork 2
🐛 [Adapter/API] Bot 跨群 @mention 三个问题:空格昵称截断 + 发送间歇失败 + API mention 不生效 #190
Copy link
Copy link
Open
Labels
Description
问题描述
Bot 在群聊中跨群发消息并 @mention 用户时,存在以下 3 个问题:
问题 1:有空格昵称的用户 @ 不上
- Adapter 的 mention 正则
/@[\w\u4e00-\u9fa5.\-]+/g遇到空格就截断 - 例如
@Anyang Su只匹配到Anyang,查不到对应 uid,@ 通知不触发 - 无空格昵称(如
@lejun)正常 - 位置:
openclaw-channel-dmwork/src/mention-utils.ts的MENTION_PATTERN
问题 2:跨群发消息间歇性报 "bot is not a member of this group"
- 同一个群(反馈群
30ac52c2ccba4f8d9f152311f1f785b5),同一个 bot(product_bot) - 第 1 次发送成功,后续连续 4 次失败(400: bot is not a member),之后又成功
- 疑似与
accountId参数传递 / bot token 路由逻辑有关
问题 3:Bot sendMessage API @mention 底层不生效(已有 Issue)
- 即使 Adapter 正确传了
mention.uids,服务端可能没正确处理 - 已有 Issue:PM#128(P0, open)
环境
- 端:Bot(OpenClaw + dmwork-adapter)
- 复现场景:Bot 通过 message 工具跨群发消息并 @ 用户
复现步骤
- Bot 在群 A 收到指令,需要去群 B 发消息 @ 某用户
- 该用户昵称含空格(如「Anyang Su」)
- 发送
@Anyang Su 你好→ @ 不生效 - 多次发送 → 间歇性报 not a member
期望行为
- 有空格昵称也能正确 @ 上
- 跨群发消息稳定不报错
- mention.uids 传到服务端后正确触发 @ 通知
实际行为
- 空格昵称被截断,@ 失效
- 发送间歇性 400 错误
- 服务端 mention 处理有 bug
关联 Issue
- PM#128 — Bot sendMessage API @mention 不生效(P0)
- PM#127 — Bot groups API group_no 与 channel_id 不一致(P1,可能与问题 2 相关)
- dmwork-adapters#134 — mention entities 结构化格式支持(已关闭)
- dmworkim#824 — mention.entities validation(open PR)
来源: DMWork group:刘乐君工作室 user:lejun (uid:f145574e162a4fa1a056b511be03aa77)
🔗 原始 Issue:dmwork-org/dmwork-pool#73
Reactions are currently unavailable