✨ 添加自动同意群组请求 (#1848)

* ✨ 添加自动同意群组请求

* ➕ Add nonebot-plugin-waiter

---------

Co-authored-by: BalconyJH <balconyjh@gmail.com>
This commit is contained in:
HibiKier
2025-02-12 23:32:46 +08:00
committed by GitHub
co-authored by BalconyJH
parent 41613c09a9
commit aef2597b46
11 changed files with 695 additions and 617 deletions
@@ -1,3 +1,4 @@
import asyncio
from datetime import datetime, timedelta
import time
@@ -11,6 +12,7 @@ from zhenxun.configs.config import BotConfig
from zhenxun.models.bot_connect_log import BotConnectLog
from zhenxun.models.chat_history import ChatHistory
from zhenxun.models.statistics import Statistics
from zhenxun.services.log import logger
from zhenxun.utils.platform import PlatformUtils
from ....base_model import BaseResultModel, QueryModel
@@ -63,10 +65,17 @@ class ApiDataSource:
bot_info = BotInfo(
self_id=bot.self_id, nickname=nickname, ava_url=ava_url, platform=platform
)
group_list, _ = await PlatformUtils.get_group_list(bot, True)
friend_list, _ = await PlatformUtils.get_friend_list(bot)
bot_info.group_count = len(group_list)
bot_info.friend_count = len(friend_list)
try:
group, friend = await asyncio.gather(
PlatformUtils.get_group_list(bot, True),
PlatformUtils.get_friend_list(bot),
)
bot_info.group_count = len(group[0])
bot_info.friend_count = len(friend[0])
except Exception as e:
logger.warning("获取bot好友/群组信息失败...", "WebUi", e=e)
bot_info.group_count = 0
bot_info.friend_count = 0
bot_info.day_call = await Statistics.filter(
create_time__gte=now - timedelta(hours=now.hour, minutes=now.minute),
bot_id=bot.self_id,
@@ -110,11 +110,18 @@ class ApiDataSource:
create_time__gte=now - timedelta(hours=now.hour),
).count()
# 群聊数量
select_bot.group_count = len(await PlatformUtils.get_group_list(select_bot.bot))
# 好友数量
select_bot.friend_count = len(
await PlatformUtils.get_friend_list(select_bot.bot)
)
try:
select_bot.group_count = len(
(await PlatformUtils.get_group_list(select_bot.bot, True))[0]
)
# 好友数量
select_bot.friend_count = len(
(await PlatformUtils.get_friend_list(select_bot.bot))[0]
)
except Exception as e:
logger.warning("获取bot好友/群组信息失败...", "WebUi", e=e)
select_bot.group_count = 0
select_bot.friend_count = 0
select_bot.status = await BotConsole.get_bot_status(select_bot.self_id)
# 连接时间
select_bot.connect_time = bot_live.get(select_bot.self_id) or 0