Skip to content

【错误反馈】qq群中AT机器人后台报错 #127

@wu452148993

Description

@wu452148993

运行环境

Python3.10

NB插件及版本号

nonebot_plugin_mcqq-2.6.3

MC插件及版本号

QueQiao-forge+1.19.2-v0.1.0

错误描述

at群机器人报错,经过定位nonebot的onebot API会特殊处理at机器人的场景,

Image

将message的内容清除,导致以下位置数组越界

Image

报错日志(如果有)

03-28 23:08:26 [DEBUG] nonebot | Checking for matchers in priority 99...
03-28 23:08:26 [ERROR] nonebot | Rule check failed for Matcher(type='message', module=nonebot_plugin_mcqq.qq_msg, lineno=21).

  • Exception Group Traceback (most recent call last):
    | File "", line 19, in
    | nonebot.run()
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot_init_.py", line 337, in run
    | get_driver().run(*args, **kwargs)
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\drivers\fastapi.py", line 187, in run
    | uvicorn.run(
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\uvicorn\main.py", line 579, in run
    | server.run()
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\uvicorn\server.py", line 66, in run
    | return asyncio.run(self.serve(sockets=sockets))
    | File "C:\Users\wulf\AppData\Local\Programs\Python\Python313\Lib\asyncio\runners.py", line 195, in run
    | return runner.run(main)
    | File "C:\Users\wulf\AppData\Local\Programs\Python\Python313\Lib\asyncio\runners.py", line 118, in run
    | return self._loop.run_until_complete(task)
    | File "C:\Users\wulf\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 712, in run_until_complete
    | self.run_forever()
    | File "C:\Users\wulf\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 683, in run_forever
    | self._run_once()
    | File "C:\Users\wulf\AppData\Local\Programs\Python\Python313\Lib\asyncio\base_events.py", line 2040, in _run_once
    | handle._run()
    | File "C:\Users\wulf\AppData\Local\Programs\Python\Python313\Lib\asyncio\events.py", line 89, in _run
    | self._context.run(self._callback, *self._args)
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\utils.py", line 254, in run_coro_with_shield
    | return await coro
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\message.py", line 496, in check_and_run_matcher | if not await _check_matcher(
    | > File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\message.py", line 400, in _check_matcher
    | if not await Matcher.check_rule(bot, event, state, stack, dependency_cache):
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\internal\matcher\matcher.py", line 405, in check_rule
    | return event_type == (cls.type or event_type) and await cls.rule(
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\internal\rule.py", line 97, in call
    | with catch({SkippedException: _handle_skipped_exception}):
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\exceptiongroup_catch.py", line 39, in exit
    | raise unhandled from exc.cause
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\internal\rule.py", line 98, in call
    | async with anyio.create_task_group() as tg:
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\anyio_backends_asyncio.py", line 772, in aexit
    | raise BaseExceptionGroup(
    | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
    +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\internal\rule.py", line 88, in run_checker
    | is_passed = await checker(
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\dependencies_init
    .py", line 115, in call
    | return await run_sync(cast(Callable[..., R], self.call))(**values)
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\nonebot\utils.py", line 183, in _wrapper
    | return await anyio.to_thread.run_sync(
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
    | return await get_async_backend().run_sync_in_worker_thread(
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\anyio_backends_asyncio.py", line 2470, in run_sync_in_worker_thread
    | return await future
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\anyio_backends_asyncio.py", line 967, in run
    | result = context.run(func, *args)
    | File "F:\qqRobot\nonebot\noneQQBot.venv\Lib\site-packages\mcqq_tool\rule.py", line 73, in all_msg_rule
    | if str(event.get_message())[0] in plugin_config.ignore_message_header:
    | IndexError: string index out of range
    +------------------------------------

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions