首页
/ LiteLoaderQQNT-OneBotApi群文件上传通知问题分析

LiteLoaderQQNT-OneBotApi群文件上传通知问题分析

2025-06-30 10:37:41作者:晏闻田Solitary

在LiteLoaderQQNT-OneBotApi项目中,开发者发现了一个关于群文件上传通知的问题。该问题表现为群文件上传事件未能按照预期以notice类型上报,而是被错误地归类为普通群消息。

问题现象

当用户在QQ群中上传文件时,OneBot协议实现本应生成一个notice类型的通知事件。然而在实际运行中,这些文件上传事件却以普通消息(message)的形式被上报。相比之下,其他群通知事件如禁言(group_ban)则能正确以notice类型上报。

技术分析

从日志对比中可以清晰地看到差异:

  1. 正常的禁言通知:
{
  "time": 1712496230,
  "self_id": 1111111,
  "post_type": "notice",
  "group_id": 00000,
  "user_id": 222222,
  "notice_type": "group_ban",
  "operator_id": 333333,
  "duration": 0,
  "sub_type": "lift_ban"
}
  1. 错误的文件上传通知:
{
  "self_id": 1111111,
  "user_id": 222222,
  "time": 1712496271,
  "message_id": -2147410594,
  "real_id": -2147410594,
  "message_type": "group",
  "sender": {
    "user_id": 222222,
    "nickname": "匿名群主",
    "card": "",
    "role": "owner"
  },
  "raw_message": "[CQ:file,file=测试.txt,path=,file_id=/2a3f9f7a-f4e2-11ee-97ec-52540078ad3a,file_size=5]",
  "font": 14,
  "sub_type": "normal",
  "message": [
    {
      "data": {
        "file": "测试.txt",
        "path": "",
        "file_id": "/2a3f9f7a-f4e2-11ee-97ec-52540078ad3a",
        "file_size": "5"
      },
      "type": "file"
    }
  ],
  "message_format": "array",
  "post_type": "message",
  "group_id": 00000
}

解决方案

项目维护者在v3.22.0版本中修复了这个问题。修复后的版本能够正确识别群文件上传事件,并将其作为notice类型上报,符合OneBot协议规范。

对于开发者而言,升级到最新版本即可解决此问题。同时,这也提醒我们在实现机器人功能时,需要仔细检查各类事件的通知类型,确保它们符合协议规范,以便客户端能够正确处理这些事件。

登录后查看全文
热门项目推荐
相关项目推荐