refactor: 统一类型注解风格并优化代码结构

- 将裸 except 改为显式 Exception 捕获
- 用列表推导式替换冗余 for 循环
- 为类属性添加 ClassVar 注解
- 统一 Union/Optional 写法为 |
- 移除未使用的导入
- 修复 SQLAlchemy 空值比较语法
- 优化字符串拼接与字典更新逻辑
- 补充缺失的 noqa 注释与异常链

BREAKING CHANGE: 所有插件基类的类级字段现要求显式 ClassVar 注解,自定义插件需同步更新
This commit is contained in:
明天好像没什么
2025-10-31 22:42:39 +08:00
parent 5080cfccfc
commit 0e129d385e
105 changed files with 592 additions and 561 deletions

View File

@@ -501,9 +501,7 @@ class Prompt:
context_data.update(result)
# 合并预构建的参数,这会覆盖任何同名的实时构建结果
for key, value in pre_built_params.items():
if value:
context_data[key] = value
context_data.update({key: value for key, value in pre_built_params.items() if value})
except asyncio.TimeoutError:
# 这是一个不太可能发生的、总体的构建超时,作为最后的保障

View File

@@ -18,7 +18,7 @@ def get_voice_key(base64_content: str) -> str:
def register_self_voice(base64_content: str, text: str):
"""
为机器人自己发送的语音消息注册其原始文本。
Args:
base64_content (str): 语音的base64编码内容。
text (str): 原始文本。
@@ -30,10 +30,10 @@ def consume_self_voice_text(base64_content: str) -> str | None:
"""
获取并移除机器人自己发送的语音消息的原始文本。
这是一个一次性操作,获取后即从缓存中删除。
Args:
base64_content (str): 语音的base64编码内容。
Returns:
str | None: 如果找到则返回原始文本否则返回None。
"""

View File

@@ -234,7 +234,7 @@ class StatisticOutputTask(AsyncTask):
logger.exception(f"后台统计数据输出过程中发生异常:{e}")
# 创建后台任务,立即返回
asyncio.create_task(_async_collect_and_output())
asyncio.create_task(_async_collect_and_output()) # noqa: RUF006
# -- 以下为统计数据收集方法 --

View File

@@ -44,10 +44,10 @@ def db_message_to_str(message_dict: dict) -> str:
def is_mentioned_bot_in_message(message) -> tuple[bool, float]:
"""检查消息是否提到了机器人
Args:
message: DatabaseMessages 消息对象
Returns:
tuple[bool, float]: (是否提及, 提及概率)
"""