mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
🐛 修复超级用户id获取问题
This commit is contained in:
parent
e4a92ea34b
commit
4e42d1dda1
@ -105,7 +105,7 @@ add_group = on_request(priority=1, block=False)
|
|||||||
|
|
||||||
@group_increase_handle.handle()
|
@group_increase_handle.handle()
|
||||||
async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent):
|
async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent):
|
||||||
superuser = BotConfig.get_superuser("qq")
|
superusers = BotConfig.get_superuser("qq")
|
||||||
user_id = str(event.user_id)
|
user_id = str(event.user_id)
|
||||||
group_id = str(event.group_id)
|
group_id = str(event.group_id)
|
||||||
if user_id == bot.self_id:
|
if user_id == bot.self_id:
|
||||||
@ -123,10 +123,11 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
|
|||||||
group_id=event.group_id, message=result_msg
|
group_id=event.group_id, message=result_msg
|
||||||
)
|
)
|
||||||
await bot.set_group_leave(group_id=event.group_id)
|
await bot.set_group_leave(group_id=event.group_id)
|
||||||
await bot.send_private_msg(
|
if superusers:
|
||||||
user_id=int(superuser),
|
await bot.send_private_msg(
|
||||||
message=f"触发强制入群保护,已成功退出群聊 {group_id}...",
|
user_id=int(superusers[0]),
|
||||||
)
|
message=f"触发强制入群保护,已成功退出群聊 {group_id}...",
|
||||||
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
"强制拉群或未有群信息,退出群聊成功",
|
"强制拉群或未有群信息,退出群聊成功",
|
||||||
"入群检测",
|
"入群检测",
|
||||||
@ -144,10 +145,12 @@ async def _(bot: Bot, event: GroupIncreaseNoticeEvent | GroupMemberIncreaseEvent
|
|||||||
group_id=event.group_id,
|
group_id=event.group_id,
|
||||||
e=e,
|
e=e,
|
||||||
)
|
)
|
||||||
await bot.send_private_msg(
|
if superusers:
|
||||||
user_id=int(superuser),
|
await bot.send_private_msg(
|
||||||
message=f"触发强制入群保护,退出群聊 {event.group_id} 失败...",
|
user_id=int(superusers[0]),
|
||||||
)
|
message="触发强制入群保护,"
|
||||||
|
f"退出群聊 {event.group_id} 失败...",
|
||||||
|
)
|
||||||
await GroupConsole.filter(group_id=group_id).delete()
|
await GroupConsole.filter(group_id=group_id).delete()
|
||||||
else:
|
else:
|
||||||
"""允许群组并设置群认证,默认群功能开关"""
|
"""允许群组并设置群认证,默认群功能开关"""
|
||||||
@ -274,8 +277,8 @@ async def _(bot: Bot, event: GroupDecreaseNoticeEvent | GroupMemberDecreaseEvent
|
|||||||
operator_name = "None"
|
operator_name = "None"
|
||||||
group = await GroupConsole.filter(group_id=str(group_id)).first()
|
group = await GroupConsole.filter(group_id=str(group_id)).first()
|
||||||
group_name = group.group_name if group else ""
|
group_name = group.group_name if group else ""
|
||||||
if superuser := BotConfig.get_superuser("qq"):
|
if superusers := BotConfig.get_superuser("qq"):
|
||||||
coffee = int(superuser)
|
coffee = int(superusers[0])
|
||||||
await bot.send_private_msg(
|
await bot.send_private_msg(
|
||||||
user_id=coffee,
|
user_id=coffee,
|
||||||
message=f"****呜..一份踢出报告****\n"
|
message=f"****呜..一份踢出报告****\n"
|
||||||
|
|||||||
@ -68,7 +68,6 @@ _t = on_message(priority=999, block=False, rule=lambda: False)
|
|||||||
|
|
||||||
@friend_req.handle()
|
@friend_req.handle()
|
||||||
async def _(bot: v12Bot | v11Bot, event: FriendRequestEvent, session: EventSession):
|
async def _(bot: v12Bot | v11Bot, event: FriendRequestEvent, session: EventSession):
|
||||||
superuser = BotConfig.get_superuser("qq")
|
|
||||||
if event.user_id and Timer.check(event.user_id):
|
if event.user_id and Timer.check(event.user_id):
|
||||||
logger.debug("收录好友请求...", "好友请求", target=event.user_id)
|
logger.debug("收录好友请求...", "好友请求", target=event.user_id)
|
||||||
user = await bot.get_stranger_info(user_id=event.user_id)
|
user = await bot.get_stranger_info(user_id=event.user_id)
|
||||||
@ -102,16 +101,15 @@ async def _(bot: v12Bot | v11Bot, event: FriendRequestEvent, session: EventSessi
|
|||||||
nickname=nickname,
|
nickname=nickname,
|
||||||
comment=comment,
|
comment=comment,
|
||||||
)
|
)
|
||||||
if superuser:
|
await PlatformUtils.send_superuser(
|
||||||
await PlatformUtils.send_superuser(
|
bot,
|
||||||
bot,
|
f"*****一份好友申请*****\n"
|
||||||
f"*****一份好友申请*****\n"
|
f"ID: {f.id}"
|
||||||
f"ID: {f.id}"
|
f"昵称:{nickname}({event.user_id})\n"
|
||||||
f"昵称:{nickname}({event.user_id})\n"
|
f"自动同意:{'√' if base_config.get('AUTO_ADD_FRIEND') else '×'}\n"
|
||||||
f"自动同意:{'√' if base_config.get('AUTO_ADD_FRIEND') else '×'}\n"
|
f"日期:{str(datetime.now()).split('.')[0]}\n"
|
||||||
f"日期:{str(datetime.now()).split('.')[0]}\n"
|
f"备注:{event.comment}",
|
||||||
f"备注:{event.comment}",
|
)
|
||||||
)
|
|
||||||
else:
|
else:
|
||||||
logger.debug("好友请求五分钟内重复, 已忽略", "好友请求", target=event.user_id)
|
logger.debug("好友请求五分钟内重复, 已忽略", "好友请求", target=event.user_id)
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
import random
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import nonebot
|
import nonebot
|
||||||
@ -8,7 +7,6 @@ from .utils import ConfigsManager
|
|||||||
|
|
||||||
|
|
||||||
class BotSetting(BaseModel):
|
class BotSetting(BaseModel):
|
||||||
|
|
||||||
self_nickname: str = ""
|
self_nickname: str = ""
|
||||||
"""回复时NICKNAME"""
|
"""回复时NICKNAME"""
|
||||||
system_proxy: str | None = None
|
system_proxy: str | None = None
|
||||||
@ -18,19 +16,18 @@ class BotSetting(BaseModel):
|
|||||||
platform_superusers: dict[str, list[str]] = {}
|
platform_superusers: dict[str, list[str]] = {}
|
||||||
"""平台超级用户"""
|
"""平台超级用户"""
|
||||||
|
|
||||||
def get_superuser(self, platform: str) -> str:
|
def get_superuser(self, platform: str) -> list[str]:
|
||||||
"""获取超级用户
|
"""获取超级用户
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
platform: 对应平台
|
platform: 对应平台
|
||||||
|
|
||||||
返回:
|
返回:
|
||||||
str | None: 超级用户id
|
list[str]: 超级用户id
|
||||||
"""
|
"""
|
||||||
if self.platform_superusers:
|
if self.platform_superusers:
|
||||||
if platform_superuser := self.platform_superusers.get(platform):
|
return self.platform_superusers.get(platform, [])
|
||||||
return random.choice(platform_superuser)
|
return []
|
||||||
return ""
|
|
||||||
|
|
||||||
def get_sql_type(self) -> str:
|
def get_sql_type(self) -> str:
|
||||||
"""获取数据库类型
|
"""获取数据库类型
|
||||||
|
|||||||
@ -1,29 +1,28 @@
|
|||||||
import random
|
import random
|
||||||
from collections.abc import Awaitable, Callable
|
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
from collections.abc import Callable, Awaitable
|
||||||
|
|
||||||
import httpx
|
import httpx
|
||||||
import nonebot
|
import nonebot
|
||||||
|
from pydantic import BaseModel
|
||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.adapters.discord import Bot as DiscordBot
|
from nonebot.utils import is_coroutine_callable
|
||||||
from nonebot.adapters.dodo import Bot as DodoBot
|
from nonebot.adapters.dodo import Bot as DodoBot
|
||||||
from nonebot.adapters.kaiheila import Bot as KaiheilaBot
|
|
||||||
from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
||||||
from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
||||||
from nonebot.utils import is_coroutine_callable
|
from nonebot.adapters.discord import Bot as DiscordBot
|
||||||
from nonebot_plugin_alconna.uniseg import Receipt, Target, UniMessage
|
from nonebot.adapters.kaiheila import Bot as KaiheilaBot
|
||||||
from pydantic import BaseModel
|
from nonebot_plugin_alconna.uniseg import Target, Receipt, UniMessage
|
||||||
|
|
||||||
from zhenxun.configs.config import BotConfig
|
|
||||||
from zhenxun.models.friend_user import FriendUser
|
|
||||||
from zhenxun.models.group_console import GroupConsole
|
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.exception import NotFindSuperuser
|
from zhenxun.configs.config import BotConfig
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
from zhenxun.models.friend_user import FriendUser
|
||||||
|
from zhenxun.utils.exception import NotFindSuperuser
|
||||||
|
from zhenxun.models.group_console import GroupConsole
|
||||||
|
|
||||||
|
|
||||||
class UserData(BaseModel):
|
class UserData(BaseModel):
|
||||||
|
|
||||||
name: str
|
name: str
|
||||||
"""昵称"""
|
"""昵称"""
|
||||||
card: str | None = None
|
card: str | None = None
|
||||||
@ -41,7 +40,6 @@ class UserData(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class PlatformUtils:
|
class PlatformUtils:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def ban_user(cls, bot: Bot, user_id: str, group_id: str, duration: int):
|
async def ban_user(cls, bot: Bot, user_id: str, group_id: str, duration: int):
|
||||||
"""禁言
|
"""禁言
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user