From 0448d215f8f55baa0bab0f668b67dc62fdf6b600 Mon Sep 17 00:00:00 2001 From: Kyomotoi Date: Mon, 13 Jun 2022 19:32:52 +0800 Subject: =?UTF-8?q?=F0=9F=9A=B8=20=E5=AE=8C=E5=96=84=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/exceptions.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ATRI/exceptions.py b/ATRI/exceptions.py index 81a5f35..ddf6872 100644 --- a/ATRI/exceptions.py +++ b/ATRI/exceptions.py @@ -7,7 +7,7 @@ from typing import Optional from traceback import format_exc from pydantic.main import BaseModel -from nonebot.adapters.onebot.v11 import Bot +from nonebot.adapters.onebot.v11 import Bot, PrivateMessageEvent, GroupMessageEvent from nonebot.message import run_postprocessor from nonebot.exception import ActionFailed @@ -86,11 +86,12 @@ class ServiceRegisterError(BaseBotException): prompt = "服务注册错误" +class BilibiliDynamicError(BaseBotException): + prompt = "b站动态订阅错误" + + @run_postprocessor -async def _track_error( - exception: Optional[Exception], - bot: Bot, -) -> None: +async def _track_error(exception: Optional[Exception], bot: Bot, event) -> None: if not exception: return @@ -106,8 +107,15 @@ async def _track_error( prompt = "Unknown ERROR->" + err.__class__.__name__ track_id = _save_error(prompt, format_exc()) + if isinstance(event, PrivateMessageEvent): + _id = "用户" + event.get_user_id() + elif isinstance(event, GroupMessageEvent): + _id = "群" + str(event.group_id) + else: + _id = "unknown" + logger.debug(f"Error Track ID: {track_id}") - msg = f"呜——出错了...追踪: {track_id}" + msg = f"呜——出错了...追踪: {track_id}\n来自: {_id}" for superusers in BotSelfConfig.superusers: try: -- cgit v1.2.3