zhenxun_bot/zhenxun/builtin_plugins/superuser/bot_manage/bot_switch.py
HibiKier 5590445679
添加Bot管理插件 (#1758)
Co-authored-by: BalconyJH <73932916+BalconyJH@users.noreply.github.com>
2024-12-10 20:16:14 +08:00

52 lines
1.6 KiB
Python

from nonebot_plugin_alconna import AlconnaMatch, Match
from nonebot_plugin_uninfo import Uninfo
from zhenxun.builtin_plugins.superuser.bot_manage.command import bot_manage
from zhenxun.models.bot_console import BotConsole
from zhenxun.services.log import logger
from zhenxun.utils.message import MessageUtils
@bot_manage.assign("bot_switch.enable")
async def enable_bot_switch(
session: Uninfo,
bot_id: Match[str] = AlconnaMatch("bot_id"),
):
if not bot_id.available:
await MessageUtils.build_message("bot_id 不能为空").finish()
else:
logger.info(
f"开启 {bot_id.result} ",
"bot_manage.bot_switch.enable",
session=session,
)
try:
await BotConsole.set_bot_status(True, bot_id.result)
except ValueError:
await MessageUtils.build_message(f"bot_id {bot_id.result} 不存在").finish()
await MessageUtils.build_message(f"已开启 {bot_id.result} ").finish()
@bot_manage.assign("bot_switch.disable")
async def diasble_bot_switch(
session: Uninfo,
bot_id: Match[str] = AlconnaMatch("bot_id"),
):
if not bot_id.available:
await MessageUtils.build_message("bot_id 不能为空").finish()
else:
logger.info(
f"禁用 {bot_id.result} ",
"bot_manage.bot_switch.disable",
session=session,
)
try:
await BotConsole.set_bot_status(False, bot_id.result)
except ValueError:
await MessageUtils.build_message(f"bot_id {bot_id.result} 不存在").finish()
await MessageUtils.build_message(f"已禁用 {bot_id.result} ").finish()