mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-07 04:40:00 +08:00
✨ 移除saa依赖
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user