mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 06:12:53 +08:00
✨ ban支持ai调用 (#1880)
This commit is contained in:
parent
611f0b62ba
commit
e7bae73c8f
@ -14,13 +14,19 @@ from nonebot_plugin_alconna import (
|
|||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.configs.config import BotConfig, Config
|
from zhenxun.configs.config import BotConfig, Config
|
||||||
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
from zhenxun.configs.utils import (
|
||||||
|
AICallableParam,
|
||||||
|
AICallableProperties,
|
||||||
|
AICallableTag,
|
||||||
|
PluginExtraData,
|
||||||
|
RegisterConfig,
|
||||||
|
)
|
||||||
from zhenxun.services.log import logger
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
from zhenxun.utils.rules import admin_check
|
from zhenxun.utils.rules import admin_check
|
||||||
|
|
||||||
from ._data_source import BanManage
|
from ._data_source import BanManage, call_ban
|
||||||
|
|
||||||
base_config = Config.get("ban")
|
base_config = Config.get("ban")
|
||||||
|
|
||||||
@ -78,6 +84,22 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
type=int,
|
type=int,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
smart_tools=[
|
||||||
|
AICallableTag(
|
||||||
|
name="call_ban",
|
||||||
|
description="某人多次(至少三次)辱骂你,调用此方法进行封禁",
|
||||||
|
parameters=AICallableParam(
|
||||||
|
type="object",
|
||||||
|
properties={
|
||||||
|
"user_id": AICallableProperties(
|
||||||
|
type="string", description="用户的id"
|
||||||
|
),
|
||||||
|
},
|
||||||
|
required=["user_id"],
|
||||||
|
),
|
||||||
|
func=call_ban,
|
||||||
|
)
|
||||||
|
],
|
||||||
).to_dict(),
|
).to_dict(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -5,9 +5,20 @@ from nonebot_plugin_session import EventSession
|
|||||||
|
|
||||||
from zhenxun.models.ban_console import BanConsole
|
from zhenxun.models.ban_console import BanConsole
|
||||||
from zhenxun.models.level_user import LevelUser
|
from zhenxun.models.level_user import LevelUser
|
||||||
|
from zhenxun.services.log import logger
|
||||||
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
from zhenxun.utils.image_utils import BuildImage, ImageTemplate
|
||||||
|
|
||||||
|
|
||||||
|
async def call_ban(user_id: str):
|
||||||
|
"""调用ban
|
||||||
|
|
||||||
|
参数:
|
||||||
|
user_id: 用户id
|
||||||
|
"""
|
||||||
|
await BanConsole.ban(user_id, None, 9, 60 * 12)
|
||||||
|
logger.info("辱骂次数过多,已将用户加入黑名单...", "ban", session=user_id)
|
||||||
|
|
||||||
|
|
||||||
class BanManage:
|
class BanManage:
|
||||||
@classmethod
|
@classmethod
|
||||||
async def build_ban_image(
|
async def build_ban_image(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user