✨ 移除saa依赖

This commit is contained in:
HibiKier
2024-08-11 15:57:33 +08:00
parent 71f3b031d4
commit d0792e0a1c
68 changed files with 1722 additions and 1528 deletions
+1 -1
View File
@@ -155,6 +155,6 @@ async def _(
try:
await build_help()
except EmptyError:
await MessageUtils.build_message("管理员帮助为空").finish(reply=True)
await MessageUtils.build_message("管理员帮助为空").finish(reply_to=True)
await MessageUtils.build_message(ADMIN_HELP_IMAGE).send()
logger.info("查看管理员帮助", arparma.header_result, session=session)
@@ -237,7 +237,7 @@ async def _(
At(flag="user", target=user_id) if isinstance(user.result, At) else user_id, # type: ignore
f" 从黑屋中拉了出来并急救了一下!",
]
).finish(reply=True)
).finish(reply_to=True)
else:
await MessageUtils.build_message(f"该用户不在黑名单中捏...").finish(
reply_to=True
@@ -2,10 +2,12 @@ import time
from datetime import datetime, timedelta, timezone
from nonebot.adapters import Bot
from nonebot.adapters.discord import Bot as DiscordBot
from nonebot.adapters.dodo import Bot as DodoBot
# from nonebot.adapters.discord import Bot as DiscordBot
# from nonebot.adapters.dodo import Bot as DodoBot
from nonebot.adapters.dodo.models import MemberInfo
from nonebot.adapters.kaiheila import Bot as KaiheilaBot
# from nonebot.adapters.kaiheila import Bot as KaiheilaBot
from nonebot.adapters.onebot.v11 import Bot as v11Bot
from nonebot.adapters.onebot.v12 import Bot as v12Bot
@@ -23,63 +25,63 @@ class MemberUpdateManage:
await cls.v11(bot, group_id)
elif isinstance(bot, v12Bot):
await cls.v12(bot, group_id)
elif isinstance(bot, KaiheilaBot):
await cls.kaiheila(bot, group_id)
elif isinstance(bot, DodoBot):
await cls.dodo(bot, group_id)
elif isinstance(bot, DiscordBot):
await cls.discord(bot, group_id)
# elif isinstance(bot, KaiheilaBot):
# await cls.kaiheila(bot, group_id)
# elif isinstance(bot, DodoBot):
# await cls.dodo(bot, group_id)
# elif isinstance(bot, DiscordBot):
# await cls.discord(bot, group_id)
@classmethod
async def discord(cls, bot: DiscordBot, group_id: str):
# TODO: discord更新群组成员信息
pass
# @classmethod
# async def discord(cls, bot: DiscordBot, group_id: str):
# # TODO: discord更新群组成员信息
# pass
@classmethod
async def dodo(cls, bot: DodoBot, group_id: str):
page_size = 100
result_size = 100
max_id = 0
exist_member_list = []
group_member_list: list[MemberInfo] = []
while result_size == page_size:
group_member_data = await bot.get_member_list(
island_source_id=group_id, page_size=page_size
)
result_size = len(group_member_data.list)
group_member_list += group_member_data.list
max_id = group_member_data.max_id
if group_member_list:
for user in group_member_list:
exist_member_list.append(user.dodo_source_id)
await GroupInfoUser.update_or_create(
user_id=user.dodo_source_id,
group_id=group_id,
defaults={
"user_name": user.nick_name or user.personal_nick_name,
"user_join_time": user.join_time,
"platform": "dodo",
},
)
if delete_member_list := list(
set(exist_member_list).difference(
set(await GroupInfoUser.get_group_member_id_list(group_id))
)
):
await GroupInfoUser.filter(
user_id__in=delete_member_list, group_id=group_id
).delete()
logger.info(
f"删除已退群用户",
"更新群组成员信息",
group_id=group_id,
platform="dodo",
)
# @classmethod
# async def dodo(cls, bot: DodoBot, group_id: str):
# page_size = 100
# result_size = 100
# max_id = 0
# exist_member_list = []
# group_member_list: list[MemberInfo] = []
# while result_size == page_size:
# group_member_data = await bot.get_member_list(
# island_source_id=group_id, page_size=page_size
# )
# result_size = len(group_member_data.list)
# group_member_list += group_member_data.list
# max_id = group_member_data.max_id
# if group_member_list:
# for user in group_member_list:
# exist_member_list.append(user.dodo_source_id)
# await GroupInfoUser.update_or_create(
# user_id=user.dodo_source_id,
# group_id=group_id,
# defaults={
# "user_name": user.nick_name or user.personal_nick_name,
# "user_join_time": user.join_time,
# "platform": "dodo",
# },
# )
# if delete_member_list := list(
# set(exist_member_list).difference(
# set(await GroupInfoUser.get_group_member_id_list(group_id))
# )
# ):
# await GroupInfoUser.filter(
# user_id__in=delete_member_list, group_id=group_id
# ).delete()
# logger.info(
# f"删除已退群用户",
# "更新群组成员信息",
# group_id=group_id,
# platform="dodo",
# )
@classmethod
async def kaiheila(cls, bot: KaiheilaBot, group_id: str):
# TODO: kaiheila 更新群组成员信息
pass
# @classmethod
# async def kaiheila(cls, bot: KaiheilaBot, group_id: str):
# # TODO: kaiheila 更新群组成员信息
# pass
@classmethod
async def v11(cls, bot: v11Bot, group_id: str):