版本更新

This commit is contained in:
HibiKier
2024-10-20 21:11:16 +08:00
parent 4e33bf3a50
commit d594d17bf6
253 changed files with 34987 additions and 2241 deletions
@@ -1,4 +1,5 @@
from nonebot.adapters import Bot
from nonebot_plugin_uninfo import Uninfo
from nonebot import on_notice, on_request
from nonebot.plugin import PluginMetadata
from nonebot.adapters.onebot.v11 import (
@@ -11,6 +12,7 @@ from nonebot.adapters.onebot.v12 import (
)
from zhenxun.utils.enum import PluginType
from zhenxun.utils.rules import notice_rule
from zhenxun.utils.platform import PlatformUtils
from zhenxun.utils.common_utils import CommonUtils
from zhenxun.configs.config import Config, BotConfig
@@ -82,16 +84,28 @@ base_config = Config.get("invite_manager")
limit_cd = base_config.get("welcome_msg_cd")
group_increase_handle = on_notice(priority=1, block=False)
group_increase_handle = on_notice(
priority=1,
block=False,
rule=notice_rule([GroupIncreaseNoticeEvent, GroupMemberIncreaseEvent]),
)
"""群员增加处理"""
group_decrease_handle = on_notice(priority=1, block=False)
group_decrease_handle = on_notice(
priority=1,
block=False,
rule=notice_rule([GroupMemberDecreaseEvent, GroupMemberIncreaseEvent]),
)
"""群员减少处理"""
add_group = on_request(priority=1, block=False)
"""加群同意请求"""
@group_increase_handle.handle()
async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent):
async def _(
bot: Bot,
session: Uninfo,
event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent,
):
user_id = str(event.user_id)
group_id = str(event.group_id)
if user_id == bot.self_id:
@@ -99,17 +113,20 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
group, _ = await GroupConsole.get_or_create(
group_id=group_id, channel_id__isnull=True
)
if group.group_flag == 0:
try:
await GroupManager.add_bot(bot, str(event.operator_id), group_id, group)
except ForceAddGroupError as e:
await PlatformUtils.send_superuser(bot, e.get_info())
try:
await GroupManager.add_bot(bot, str(event.operator_id), group_id, group)
except ForceAddGroupError as e:
await PlatformUtils.send_superuser(bot, e.get_info())
else:
await GroupManager.add_user(bot, user_id, group_id)
await GroupManager.add_user(session, bot, user_id, group_id)
@group_decrease_handle.handle()
async def _(bot: Bot, event: GroupDecreaseNoticeEvent | GroupMemberDecreaseEvent):
async def _(
bot: Bot,
session: Uninfo,
event: GroupDecreaseNoticeEvent | GroupMemberDecreaseEvent,
):
user_id = str(event.user_id)
group_id = str(event.group_id)
if event.sub_type == "kick_me":
@@ -120,6 +137,6 @@ async def _(bot: Bot, event: GroupDecreaseNoticeEvent | GroupMemberDecreaseEvent
bot, user_id, group_id, str(event.operator_id), event.sub_type
)
if result and not await CommonUtils.task_is_block(
"refund_group_remind", group_id
session, "refund_group_remind"
):
await group_decrease_handle.send(result)
@@ -7,6 +7,7 @@ from datetime import datetime
import ujson as json
from nonebot.adapters import Bot
from nonebot_plugin_alconna import At
from nonebot_plugin_uninfo import Uninfo
from zhenxun.services.log import logger
from zhenxun.configs.config import Config
@@ -55,7 +56,7 @@ class GroupManager:
block_plugin = ""
if plugin_list := await PluginInfo.filter(default_status=False).all():
for plugin in plugin_list:
block_plugin += f"{plugin.module},"
block_plugin += f"<{plugin.module},"
group_info = await bot.get_group_info(group_id=group_id)
await GroupConsole.create(
group_id=group_info["group_id"],
@@ -83,10 +84,10 @@ class GroupManager:
).values_list("user_id", flat=True)
# 即刻刷新权限
for user_info in member_list:
user_id = user_info["user_id"]
user_id = str(user_info["user_id"])
role = user_info["role"]
if user_id in bot.config.superusers:
await LevelUser.set_level(user_id, user_info["group_id"], 9)
await LevelUser.set_level(user_id, group_id, 9)
logger.debug(
"添加超级用户权限: 9",
"入群检测",
@@ -100,8 +101,8 @@ class GroupManager:
):
await LevelUser.set_level(
user_id,
user_info["group_id"],
admin_default_auth,
group_id,
admin_default_auth if role == "admin" else admin_default_auth + 1,
)
logger.debug(
f"添加默认群管理员权限: {admin_default_auth}",
@@ -202,7 +203,7 @@ class GroupManager:
).send()
@classmethod
async def add_user(cls, bot: Bot, user_id: str, group_id: str):
async def add_user(cls, session: Uninfo, bot: Bot, user_id: str, group_id: str):
"""拉入用户
参数:
@@ -219,7 +220,7 @@ class GroupManager:
)
logger.info(f"用户{user_info['user_id']} 所属{user_info['group_id']} 更新成功")
if not await CommonUtils.task_is_block(
"group_welcome", group_id
session, "group_welcome"
) and cls._flmt.check(group_id):
await cls.__send_welcome_message(user_id, group_id)