✨ 部分功能适配QQ BOT (#1701)

This commit is contained in:
HibiKier
2024-10-18 18:57:55 +08:00
committed by GitHub
parent 7567bfb732
commit 3d3a2a5f7f
29 changed files with 528 additions and 310 deletions
+9 -5
View File
@@ -1,11 +1,15 @@
import os
from pathlib import Path
import nonebot
from zhenxun.services.log import logger
path = Path(__file__).parent
for f in os.listdir(path):
_p = path / f
if _p.is_dir():
nonebot.load_plugins(str(_p.resolve()))
try:
from nonebot.adapters.onebot.v11 import Bot
nonebot.load_plugins(str((path / "qq").resolve()))
except ImportError:
logger.warning("未安装 onebot-adapter,无法加载QQ平台专用插件...")
@@ -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 (
@@ -100,7 +101,11 @@ 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:
@@ -113,11 +118,15 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
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":
@@ -128,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
@@ -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)