summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ATRI/exceptions.py20
1 files 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: