perf(methods): 通过移除不必要的 self 参数优化方法签名

在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
This commit is contained in:
雅诺狐
2025-09-20 10:55:06 +08:00
parent 0cc4f5bb27
commit 898208f425
111 changed files with 643 additions and 467 deletions

View File

@@ -763,7 +763,8 @@ class StatisticOutputTask(AsyncTask):
output.append("")
return "\n".join(output)
def _get_chat_display_name_from_id(self, chat_id: str) -> str:
@staticmethod
def _get_chat_display_name_from_id(chat_id: str) -> str:
"""从chat_id获取显示名称"""
try:
# 首先尝试从chat_stream获取真实群组名称
@@ -1109,7 +1110,8 @@ class StatisticOutputTask(AsyncTask):
return chart_data
def _collect_interval_data(self, now: datetime, hours: int, interval_minutes: int) -> dict:
@staticmethod
def _collect_interval_data(now: datetime, hours: int, interval_minutes: int) -> dict:
"""收集指定时间范围内每个间隔的数据"""
# 生成时间点
start_time = now - timedelta(hours=hours)
@@ -1199,7 +1201,8 @@ class StatisticOutputTask(AsyncTask):
"message_by_chat": message_by_chat,
}
def _generate_chart_tab(self, chart_data: dict) -> str:
@staticmethod
def _generate_chart_tab(chart_data: dict) -> str:
# sourcery skip: extract-duplicate-method, move-assign-in-block
"""生成图表选项卡HTML内容"""
@@ -1563,13 +1566,13 @@ class AsyncStatisticOutputTask(AsyncTask):
return StatisticOutputTask._generate_chart_data(self, stat) # type: ignore
def _collect_interval_data(self, now: datetime, hours: int, interval_minutes: int) -> dict:
return StatisticOutputTask._collect_interval_data(self, now, hours, interval_minutes) # type: ignore
return StatisticOutputTask._collect_interval_data(now, hours, interval_minutes) # type: ignore
def _generate_chart_tab(self, chart_data: dict) -> str:
return StatisticOutputTask._generate_chart_tab(self, chart_data) # type: ignore
return StatisticOutputTask._generate_chart_tab(chart_data) # type: ignore
def _get_chat_display_name_from_id(self, chat_id: str) -> str:
return StatisticOutputTask._get_chat_display_name_from_id(self, chat_id) # type: ignore
return StatisticOutputTask._get_chat_display_name_from_id(chat_id) # type: ignore
def _convert_defaultdict_to_dict(self, data):
return StatisticOutputTask._convert_defaultdict_to_dict(self, data) # type: ignore