bugfix:修复notice事件扩散问题 (#2132)

* bugfix:修复notice事件扩散问题

* 优化并发调度

* bugfix:修复签到样式

* bugfix:功能调用统计修复

* bugfix:修复私聊时功能调用统计显示已退群问题

* 提高插件适配兼容性

* 优化发送队列

* 修改权限检查设计

* 继续修改权限检查设计

* 完善权限检查设计

* 优化sqlite配置

* 优化数据库初始化

* 代码整理,无用代码清理

* bugfix:修复启动时数据库校验问题

* bugfix:修复预算裁剪过于激进问题
This commit is contained in:
Copaan
2026-05-28 22:57:28 +08:00
committed by GitHub
parent 12fc5663fb
commit 5596497947
57 changed files with 7557 additions and 1522 deletions
@@ -18,6 +18,10 @@ from zhenxun.models.group_console import GroupConsole
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.models.level_user import LevelUser
from zhenxun.models.plugin_info import PluginInfo
from zhenxun.services.hot_query_cache import (
invalidate_group_members,
invalidate_member_names,
)
from zhenxun.services.log import logger
from zhenxun.utils.common_utils import CommonUtils
from zhenxun.utils.enum import RequestHandleType
@@ -82,6 +86,8 @@ async def _refresh_member_info_async(
"platform": platform,
},
)
await invalidate_group_members(group_id, [user_id])
await invalidate_member_names([user_id])
class GroupManager:
@@ -333,6 +339,8 @@ class GroupManager:
"platform": platform,
},
)
await invalidate_group_members(group_id, [user_id])
await invalidate_member_names([user_id])
task = asyncio.create_task(
_refresh_member_info_async(
bot, str(group_id), str(user_id), _normalize_platform(platform)
@@ -400,6 +408,8 @@ class GroupManager:
user_name = f"{user_id}"
if user:
await user.delete()
await invalidate_group_members(group_id, [user_id])
await invalidate_member_names([user_id])
logger.info(
f"名称: {user_name} 退出群聊",
"group_decrease_handle",
@@ -4,6 +4,10 @@ from nonebot_plugin_uninfo import Uninfo
from zhenxun.models.friend_user import FriendUser
from zhenxun.models.group_console import GroupConsole
from zhenxun.models.group_member_info import GroupInfoUser
from zhenxun.services.hot_query_cache import (
invalidate_group_members,
invalidate_member_names,
)
from zhenxun.services.log import logger
from zhenxun.utils.platform import PlatformUtils
@@ -27,6 +31,8 @@ async def _(session: Uninfo):
group_id=session.group.id,
platform=PlatformUtils.get_platform(session),
)
await invalidate_group_members(session.group.id, [session.user.id])
await invalidate_member_names([session.user.id])
elif not await FriendUser.exists(user_id=session.user.id, platform=platform):
await FriendUser.create(
user_id=session.user.id, platform=PlatformUtils.get_platform(session)