mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-19 03:00:09 +08:00
perf👌: 优化好友群组更新
This commit is contained in:
@@ -4,8 +4,7 @@ from nonebot_plugin_apscheduler import scheduler
|
||||
from zhenxun.models.friend_user import FriendUser
|
||||
from zhenxun.models.group_console import GroupConsole
|
||||
from zhenxun.services.log import logger
|
||||
|
||||
# TODO: 其他平台更新
|
||||
from zhenxun.utils.platform import PlatformManage
|
||||
|
||||
|
||||
# 自动更新群组信息
|
||||
@@ -19,21 +18,7 @@ async def _():
|
||||
_used_group = []
|
||||
for bot in bots.values():
|
||||
try:
|
||||
group_list = await bot.get_group_list()
|
||||
gl = [g["group_id"] for g in group_list if g["group_id"] not in _used_group]
|
||||
for g in gl:
|
||||
_used_group.append(g)
|
||||
group_info = await bot.get_group_info(group_id=g)
|
||||
await GroupConsole.update_or_create(
|
||||
group_id=str(group_info["group_id"]),
|
||||
defaults={
|
||||
"group_name": group_info["group_name"],
|
||||
"max_member_count": group_info["max_member_count"],
|
||||
"member_count": group_info["member_count"],
|
||||
"group_flag": 1,
|
||||
},
|
||||
)
|
||||
logger.debug("自动更新群组信息成功", "自动更新群组", group_id=g)
|
||||
await PlatformManage.update_group(bot)
|
||||
except Exception as e:
|
||||
logger.error(f"Bot: {bot.self_id} 自动更新群组信息", e=e)
|
||||
logger.info("自动更新群组成员信息成功...")
|
||||
@@ -47,22 +32,9 @@ async def _():
|
||||
)
|
||||
async def _():
|
||||
bots = nonebot.get_bots()
|
||||
for key in bots:
|
||||
for bot in bots.values():
|
||||
try:
|
||||
bot = bots[key]
|
||||
fl = await bot.get_friend_list()
|
||||
for f in fl:
|
||||
if FriendUser.exists(user_id=str(f["user_id"])):
|
||||
await FriendUser.create(
|
||||
user_id=str(f["user_id"]), user_name=f["nickname"]
|
||||
)
|
||||
logger.debug(
|
||||
f"更新好友信息成功", "自动更新好友", session=f["user_id"]
|
||||
)
|
||||
else:
|
||||
logger.debug(
|
||||
f"好友信息已存在", "自动更新好友", session=f["user_id"]
|
||||
)
|
||||
await PlatformManage.update_friend(bot)
|
||||
except Exception as e:
|
||||
logger.error(f"自动更新好友信息错误", "自动更新好友", e=e)
|
||||
logger.info("自动更新好友信息成功...")
|
||||
|
||||
Reference in New Issue
Block a user