zhenxun_bot/basic_plugins/admin_bot_manage/timing_task.py
2023-03-19 21:05:34 +08:00

49 lines
1.3 KiB
Python
Executable File

from nonebot import get_bots
from services.log import logger
from utils.utils import scheduler
from ._data_source import update_member_info
__zx_plugin_name__ = "管理方面定时任务 [Hidden]"
__plugin_usage__ = ""
__plugin_des__ = "成员信息和管理权限的定时更新"
__plugin_version__ = 0.1
__plugin_author__ = "HibiKier"
async def update():
bot_list = get_bots()
if bot_list:
used_group = []
for key in bot_list:
bot = bot_list[key]
gl = await bot.get_group_list()
gl = [g["group_id"] for g in gl if g["group_id"] not in used_group]
for g in gl:
used_group.append(g)
try:
await update_member_info(bot, g) # type: ignore
logger.debug(f"更新群组成员信息成功", "自动更新群组成员信息", group_id=g)
except Exception as e:
logger.error(f"更新群组成员信息错误", "自动更新群组成员信息", group_id=g, e=e)
# 自动更新群员信息
@scheduler.scheduled_job(
"cron",
hour=2,
minute=1,
)
async def _():
await update()
# 快速更新群员信息以及管理员权限
@scheduler.scheduled_job(
"interval",
minutes=5,
)
async def _():
await update()