mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
🐛 修复被动的默认开关指令 (#1948)
* 🐛 修复被动的默认开关指令 * ✨ 优化插件开关命令,增强用户体验 * ⚡ 移除旧_task配置
This commit is contained in:
parent
fcb385cf01
commit
579558e59b
@ -1,7 +1,7 @@
|
|||||||
from nonebot.adapters import Bot
|
from nonebot.adapters import Bot
|
||||||
from nonebot.plugin import PluginMetadata
|
from nonebot.plugin import PluginMetadata
|
||||||
from nonebot_plugin_alconna import AlconnaQuery, Arparma, Match, Query
|
from nonebot_plugin_alconna import AlconnaQuery, Arparma, Match, Query
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_uninfo import Uninfo
|
||||||
|
|
||||||
from zhenxun.configs.config import Config
|
from zhenxun.configs.config import Config
|
||||||
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||||||
@ -9,7 +9,7 @@ from zhenxun.services.log import logger
|
|||||||
from zhenxun.utils.enum import BlockType, PluginType
|
from zhenxun.utils.enum import BlockType, PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
|
||||||
from ._data_source import PluginManage, build_plugin, build_task, delete_help_image
|
from ._data_source import PluginManager, build_plugin, build_task, delete_help_image
|
||||||
from .command import _group_status_matcher, _status_matcher
|
from .command import _group_status_matcher, _status_matcher
|
||||||
|
|
||||||
base_config = Config.get("plugin_switch")
|
base_config = Config.get("plugin_switch")
|
||||||
@ -57,6 +57,11 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
关闭群被动早晚安
|
关闭群被动早晚安
|
||||||
关闭群被动早晚安 -g 12355555
|
关闭群被动早晚安 -g 12355555
|
||||||
|
|
||||||
|
开启/关闭默认群被动 [被动名称]
|
||||||
|
私聊下: 开启/关闭群被动默认状态
|
||||||
|
示例:
|
||||||
|
关闭默认群被动 早晚安
|
||||||
|
|
||||||
开启/关闭所有群被动 ?[-g [group_id]]
|
开启/关闭所有群被动 ?[-g [group_id]]
|
||||||
私聊中: 开启/关闭全局或指定群组被动状态
|
私聊中: 开启/关闭全局或指定群组被动状态
|
||||||
示例:
|
示例:
|
||||||
@ -87,10 +92,10 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
@_status_matcher.assign("$main")
|
@_status_matcher.assign("$main")
|
||||||
async def _(
|
async def _(
|
||||||
bot: Bot,
|
bot: Bot,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
arparma: Arparma,
|
arparma: Arparma,
|
||||||
):
|
):
|
||||||
if session.id1 in bot.config.superusers:
|
if session.user.id in bot.config.superusers:
|
||||||
image = await build_plugin()
|
image = await build_plugin()
|
||||||
logger.info(
|
logger.info(
|
||||||
"查看功能列表",
|
"查看功能列表",
|
||||||
@ -105,7 +110,7 @@ async def _(
|
|||||||
@_status_matcher.assign("open")
|
@_status_matcher.assign("open")
|
||||||
async def _(
|
async def _(
|
||||||
bot: Bot,
|
bot: Bot,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
arparma: Arparma,
|
arparma: Arparma,
|
||||||
plugin_name: Match[str],
|
plugin_name: Match[str],
|
||||||
group: Match[str],
|
group: Match[str],
|
||||||
@ -114,22 +119,23 @@ async def _(
|
|||||||
all: Query[bool] = AlconnaQuery("all.value", False),
|
all: Query[bool] = AlconnaQuery("all.value", False),
|
||||||
):
|
):
|
||||||
if not all.result and not plugin_name.available:
|
if not all.result and not plugin_name.available:
|
||||||
await MessageUtils.build_message("请输入功能名称").finish(reply_to=True)
|
await MessageUtils.build_message("请输入功能/被动名称").finish(reply_to=True)
|
||||||
name = plugin_name.result
|
name = plugin_name.result
|
||||||
if gid := session.id3 or session.id2:
|
if session.group:
|
||||||
|
group_id = session.group.id
|
||||||
"""修改当前群组的数据"""
|
"""修改当前群组的数据"""
|
||||||
if task.result:
|
if task.result:
|
||||||
if all.result:
|
if all.result:
|
||||||
result = await PluginManage.unblock_group_all_task(gid)
|
result = await PluginManager.unblock_group_all_task(group_id)
|
||||||
logger.info("开启所有群组被动", arparma.header_result, session=session)
|
logger.info("开启所有群组被动", arparma.header_result, session=session)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.unblock_group_task(name, gid)
|
result = await PluginManager.unblock_group_task(name, group_id)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"开启群组被动 {name}", arparma.header_result, session=session
|
f"开启群组被动 {name}", arparma.header_result, session=session
|
||||||
)
|
)
|
||||||
elif session.id1 in bot.config.superusers and default_status.result:
|
elif session.user.id in bot.config.superusers and default_status.result:
|
||||||
"""单个插件的进群默认修改"""
|
"""单个插件的进群默认修改"""
|
||||||
result = await PluginManage.set_default_status(name, True)
|
result = await PluginManager.set_default_status(name, True)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户开启 {name} 功能进群默认开关",
|
f"超级用户开启 {name} 功能进群默认开关",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -137,8 +143,8 @@ async def _(
|
|||||||
)
|
)
|
||||||
elif all.result:
|
elif all.result:
|
||||||
"""所有插件"""
|
"""所有插件"""
|
||||||
result = await PluginManage.set_all_plugin_status(
|
result = await PluginManager.set_all_plugin_status(
|
||||||
True, default_status.result, gid
|
True, default_status.result, group_id
|
||||||
)
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
"开启群组中全部功能",
|
"开启群组中全部功能",
|
||||||
@ -146,22 +152,24 @@ async def _(
|
|||||||
session=session,
|
session=session,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.unblock_group_plugin(name, gid)
|
result = await PluginManager.unblock_group_plugin(name, group_id)
|
||||||
logger.info(f"开启功能 {name}", arparma.header_result, session=session)
|
logger.info(f"开启功能 {name}", arparma.header_result, session=session)
|
||||||
delete_help_image(gid)
|
delete_help_image(group_id)
|
||||||
await MessageUtils.build_message(result).finish(reply_to=True)
|
await MessageUtils.build_message(result).finish(reply_to=True)
|
||||||
elif session.id1 in bot.config.superusers:
|
elif session.user.id in bot.config.superusers:
|
||||||
"""私聊"""
|
"""私聊"""
|
||||||
group_id = group.result if group.available else None
|
group_id = group.result if group.available else None
|
||||||
if all.result:
|
if all.result:
|
||||||
if task.result:
|
if task.result:
|
||||||
"""关闭全局或指定群全部被动"""
|
"""关闭全局或指定群全部被动"""
|
||||||
if group_id:
|
if group_id:
|
||||||
result = await PluginManage.unblock_group_all_task(group_id)
|
result = await PluginManager.unblock_group_all_task(group_id)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.unblock_global_all_task()
|
result = await PluginManager.unblock_global_all_task(
|
||||||
|
default_status.result
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.set_all_plugin_status(
|
result = await PluginManager.set_all_plugin_status(
|
||||||
True, default_status.result, group_id
|
True, default_status.result, group_id
|
||||||
)
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
@ -171,8 +179,8 @@ async def _(
|
|||||||
session=session,
|
session=session,
|
||||||
)
|
)
|
||||||
await MessageUtils.build_message(result).finish(reply_to=True)
|
await MessageUtils.build_message(result).finish(reply_to=True)
|
||||||
if default_status.result:
|
if default_status.result and not task.result:
|
||||||
result = await PluginManage.set_default_status(name, True)
|
result = await PluginManager.set_default_status(name, True)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户开启 {name} 功能进群默认开关",
|
f"超级用户开启 {name} 功能进群默认开关",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -186,7 +194,7 @@ async def _(
|
|||||||
name = split_list[0]
|
name = split_list[0]
|
||||||
group_id = split_list[1]
|
group_id = split_list[1]
|
||||||
if group_id:
|
if group_id:
|
||||||
result = await PluginManage.superuser_task_handle(name, group_id, True)
|
result = await PluginManager.superuser_task_handle(name, group_id, True)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户开启被动技能 {name}",
|
f"超级用户开启被动技能 {name}",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -194,14 +202,16 @@ async def _(
|
|||||||
target=group_id,
|
target=group_id,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.unblock_global_task(name)
|
result = await PluginManager.unblock_global_task(
|
||||||
|
name, default_status.result
|
||||||
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户开启全局被动技能 {name}",
|
f"超级用户开启全局被动技能 {name}",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
session=session,
|
session=session,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.superuser_unblock(name, None, group_id)
|
result = await PluginManager.superuser_unblock(name, None, group_id)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户开启功能 {name}",
|
f"超级用户开启功能 {name}",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -215,7 +225,7 @@ async def _(
|
|||||||
@_status_matcher.assign("close")
|
@_status_matcher.assign("close")
|
||||||
async def _(
|
async def _(
|
||||||
bot: Bot,
|
bot: Bot,
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
arparma: Arparma,
|
arparma: Arparma,
|
||||||
plugin_name: Match[str],
|
plugin_name: Match[str],
|
||||||
block_type: Match[str],
|
block_type: Match[str],
|
||||||
@ -225,22 +235,23 @@ async def _(
|
|||||||
all: Query[bool] = AlconnaQuery("all.value", False),
|
all: Query[bool] = AlconnaQuery("all.value", False),
|
||||||
):
|
):
|
||||||
if not all.result and not plugin_name.available:
|
if not all.result and not plugin_name.available:
|
||||||
await MessageUtils.build_message("请输入功能名称").finish(reply_to=True)
|
await MessageUtils.build_message("请输入功能/被动名称").finish(reply_to=True)
|
||||||
name = plugin_name.result
|
name = plugin_name.result
|
||||||
if gid := session.id3 or session.id2:
|
if session.group:
|
||||||
|
group_id = session.group.id
|
||||||
"""修改当前群组的数据"""
|
"""修改当前群组的数据"""
|
||||||
if task.result:
|
if task.result:
|
||||||
if all.result:
|
if all.result:
|
||||||
result = await PluginManage.block_group_all_task(gid)
|
result = await PluginManager.block_group_all_task(group_id)
|
||||||
logger.info("开启所有群组被动", arparma.header_result, session=session)
|
logger.info("开启所有群组被动", arparma.header_result, session=session)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.block_group_task(name, gid)
|
result = await PluginManager.block_group_task(name, group_id)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"关闭群组被动 {name}", arparma.header_result, session=session
|
f"关闭群组被动 {name}", arparma.header_result, session=session
|
||||||
)
|
)
|
||||||
elif session.id1 in bot.config.superusers and default_status.result:
|
elif session.user.id in bot.config.superusers and default_status.result:
|
||||||
"""单个插件的进群默认修改"""
|
"""单个插件的进群默认修改"""
|
||||||
result = await PluginManage.set_default_status(name, False)
|
result = await PluginManager.set_default_status(name, False)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户开启 {name} 功能进群默认开关",
|
f"超级用户开启 {name} 功能进群默认开关",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -248,26 +259,28 @@ async def _(
|
|||||||
)
|
)
|
||||||
elif all.result:
|
elif all.result:
|
||||||
"""所有插件"""
|
"""所有插件"""
|
||||||
result = await PluginManage.set_all_plugin_status(
|
result = await PluginManager.set_all_plugin_status(
|
||||||
False, default_status.result, gid
|
False, default_status.result, group_id
|
||||||
)
|
)
|
||||||
logger.info("关闭群组中全部功能", arparma.header_result, session=session)
|
logger.info("关闭群组中全部功能", arparma.header_result, session=session)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.block_group_plugin(name, gid)
|
result = await PluginManager.block_group_plugin(name, group_id)
|
||||||
logger.info(f"关闭功能 {name}", arparma.header_result, session=session)
|
logger.info(f"关闭功能 {name}", arparma.header_result, session=session)
|
||||||
delete_help_image(gid)
|
delete_help_image(group_id)
|
||||||
await MessageUtils.build_message(result).finish(reply_to=True)
|
await MessageUtils.build_message(result).finish(reply_to=True)
|
||||||
elif session.id1 in bot.config.superusers:
|
elif session.user.id in bot.config.superusers:
|
||||||
group_id = group.result if group.available else None
|
group_id = group.result if group.available else None
|
||||||
if all.result:
|
if all.result:
|
||||||
if task.result:
|
if task.result:
|
||||||
"""关闭全局或指定群全部被动"""
|
"""关闭全局或指定群全部被动"""
|
||||||
if group_id:
|
if group_id:
|
||||||
result = await PluginManage.block_group_all_task(group_id)
|
result = await PluginManager.block_group_all_task(group_id)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.block_global_all_task()
|
result = await PluginManager.block_global_all_task(
|
||||||
|
default_status.result
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.set_all_plugin_status(
|
result = await PluginManager.set_all_plugin_status(
|
||||||
False, default_status.result, group_id
|
False, default_status.result, group_id
|
||||||
)
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
@ -277,8 +290,8 @@ async def _(
|
|||||||
session=session,
|
session=session,
|
||||||
)
|
)
|
||||||
await MessageUtils.build_message(result).finish(reply_to=True)
|
await MessageUtils.build_message(result).finish(reply_to=True)
|
||||||
if default_status.result:
|
if default_status.result and not task.result:
|
||||||
result = await PluginManage.set_default_status(name, False)
|
result = await PluginManager.set_default_status(name, False)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户关闭 {name} 功能进群默认开关",
|
f"超级用户关闭 {name} 功能进群默认开关",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -292,7 +305,9 @@ async def _(
|
|||||||
name = split_list[0]
|
name = split_list[0]
|
||||||
group_id = split_list[1]
|
group_id = split_list[1]
|
||||||
if group_id:
|
if group_id:
|
||||||
result = await PluginManage.superuser_task_handle(name, group_id, False)
|
result = await PluginManager.superuser_task_handle(
|
||||||
|
name, group_id, False
|
||||||
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户关闭被动技能 {name}",
|
f"超级用户关闭被动技能 {name}",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -300,7 +315,9 @@ async def _(
|
|||||||
target=group_id,
|
target=group_id,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = await PluginManage.block_global_task(name)
|
result = await PluginManager.block_global_task(
|
||||||
|
name, default_status.result
|
||||||
|
)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户关闭全局被动技能 {name}",
|
f"超级用户关闭全局被动技能 {name}",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -314,7 +331,7 @@ async def _(
|
|||||||
elif block_type.result in ["g", "group"]:
|
elif block_type.result in ["g", "group"]:
|
||||||
if block_type.available:
|
if block_type.available:
|
||||||
_type = BlockType.GROUP
|
_type = BlockType.GROUP
|
||||||
result = await PluginManage.superuser_block(name, _type, group_id)
|
result = await PluginManager.superuser_block(name, _type, group_id)
|
||||||
logger.info(
|
logger.info(
|
||||||
f"超级用户关闭功能 {name}, 禁用类型: {_type}",
|
f"超级用户关闭功能 {name}, 禁用类型: {_type}",
|
||||||
arparma.header_result,
|
arparma.header_result,
|
||||||
@ -327,19 +344,20 @@ async def _(
|
|||||||
|
|
||||||
@_group_status_matcher.handle()
|
@_group_status_matcher.handle()
|
||||||
async def _(
|
async def _(
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
arparma: Arparma,
|
arparma: Arparma,
|
||||||
status: str,
|
status: str,
|
||||||
):
|
):
|
||||||
if gid := session.id3 or session.id2:
|
if session.group:
|
||||||
|
group_id = session.group.id
|
||||||
if status == "sleep":
|
if status == "sleep":
|
||||||
await PluginManage.sleep(gid)
|
await PluginManager.sleep(group_id)
|
||||||
logger.info("进行休眠", arparma.header_result, session=session)
|
logger.info("进行休眠", arparma.header_result, session=session)
|
||||||
await MessageUtils.build_message("那我先睡觉了...").finish()
|
await MessageUtils.build_message("那我先睡觉了...").finish()
|
||||||
else:
|
else:
|
||||||
if await PluginManage.is_wake(gid):
|
if await PluginManager.is_wake(group_id):
|
||||||
await MessageUtils.build_message("我还醒着呢!").finish()
|
await MessageUtils.build_message("我还醒着呢!").finish()
|
||||||
await PluginManage.wake(gid)
|
await PluginManager.wake(group_id)
|
||||||
logger.info("醒来", arparma.header_result, session=session)
|
logger.info("醒来", arparma.header_result, session=session)
|
||||||
await MessageUtils.build_message("呜..醒来了...").finish()
|
await MessageUtils.build_message("呜..醒来了...").finish()
|
||||||
return MessageUtils.build_message("群组id为空...").send()
|
return MessageUtils.build_message("群组id为空...").send()
|
||||||
@ -347,10 +365,10 @@ async def _(
|
|||||||
|
|
||||||
@_status_matcher.assign("task")
|
@_status_matcher.assign("task")
|
||||||
async def _(
|
async def _(
|
||||||
session: EventSession,
|
session: Uninfo,
|
||||||
arparma: Arparma,
|
arparma: Arparma,
|
||||||
):
|
):
|
||||||
image = await build_task(session.id3 or session.id2)
|
image = await build_task(session.group.id if session.group else None)
|
||||||
if image:
|
if image:
|
||||||
logger.info("查看群被动列表", arparma.header_result, session=session)
|
logger.info("查看群被动列表", arparma.header_result, session=session)
|
||||||
await MessageUtils.build_message(image).finish(reply_to=True)
|
await MessageUtils.build_message(image).finish(reply_to=True)
|
||||||
|
|||||||
@ -155,7 +155,7 @@ async def build_task(group_id: str | None) -> BuildImage:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class PluginManage:
|
class PluginManager:
|
||||||
@classmethod
|
@classmethod
|
||||||
async def set_default_status(cls, plugin_name: str, status: bool) -> str:
|
async def set_default_status(cls, plugin_name: str, status: bool) -> str:
|
||||||
"""设置插件进群默认状态
|
"""设置插件进群默认状态
|
||||||
@ -342,17 +342,21 @@ class PluginManage:
|
|||||||
return await cls._change_group_task("", group_id, True, True)
|
return await cls._change_group_task("", group_id, True, True)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def block_global_all_task(cls) -> str:
|
async def block_global_all_task(cls, is_default: bool) -> str:
|
||||||
"""禁用全局被动技能
|
"""禁用全局被动技能
|
||||||
|
|
||||||
返回:
|
返回:
|
||||||
str: 返回信息
|
str: 返回信息
|
||||||
"""
|
"""
|
||||||
|
if is_default:
|
||||||
|
await TaskInfo.all().update(default_status=False)
|
||||||
|
return "已禁用所有被动进群默认状态"
|
||||||
|
else:
|
||||||
await TaskInfo.all().update(status=False)
|
await TaskInfo.all().update(status=False)
|
||||||
return "已全局禁用所有被动状态"
|
return "已全局禁用所有被动状态"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def block_global_task(cls, name: str) -> str:
|
async def block_global_task(cls, name: str, is_default: bool = False) -> str:
|
||||||
"""禁用全局被动技能
|
"""禁用全局被动技能
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
@ -361,29 +365,45 @@ class PluginManage:
|
|||||||
返回:
|
返回:
|
||||||
str: 返回信息
|
str: 返回信息
|
||||||
"""
|
"""
|
||||||
|
if is_default:
|
||||||
|
await TaskInfo.filter(name=name).update(default_status=False)
|
||||||
|
return f"已禁用被动进群默认状态 {name}"
|
||||||
|
else:
|
||||||
await TaskInfo.filter(name=name).update(status=False)
|
await TaskInfo.filter(name=name).update(status=False)
|
||||||
return f"已全局禁用被动状态 {name}"
|
return f"已全局禁用被动状态 {name}"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def unblock_global_all_task(cls) -> str:
|
async def unblock_global_all_task(cls, is_default: bool) -> str:
|
||||||
"""开启全局被动技能
|
"""开启全局被动技能
|
||||||
|
|
||||||
|
参数:
|
||||||
|
is_default: 是否为默认状态
|
||||||
|
|
||||||
返回:
|
返回:
|
||||||
str: 返回信息
|
str: 返回信息
|
||||||
"""
|
"""
|
||||||
|
if is_default:
|
||||||
|
await TaskInfo.all().update(default_status=True)
|
||||||
|
return "已开启所有被动进群默认状态"
|
||||||
|
else:
|
||||||
await TaskInfo.all().update(status=True)
|
await TaskInfo.all().update(status=True)
|
||||||
return "已全局开启所有被动状态"
|
return "已全局开启所有被动状态"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def unblock_global_task(cls, name: str) -> str:
|
async def unblock_global_task(cls, name: str, is_default: bool = False) -> str:
|
||||||
"""开启全局被动技能
|
"""开启全局被动技能
|
||||||
|
|
||||||
参数:
|
参数:
|
||||||
name: 被动技能名称
|
name: 被动技能名称
|
||||||
|
is_default: 是否为默认状态
|
||||||
|
|
||||||
返回:
|
返回:
|
||||||
str: 返回信息
|
str: 返回信息
|
||||||
"""
|
"""
|
||||||
|
if is_default:
|
||||||
|
await TaskInfo.filter(name=name).update(default_status=True)
|
||||||
|
return f"已开启被动进群默认状态 {name}"
|
||||||
|
else:
|
||||||
await TaskInfo.filter(name=name).update(status=True)
|
await TaskInfo.filter(name=name).update(status=True)
|
||||||
return f"已全局开启被动状态 {name}"
|
return f"已全局开启被动状态 {name}"
|
||||||
|
|
||||||
|
|||||||
@ -58,6 +58,19 @@ _status_matcher.shortcut(
|
|||||||
prefix=True,
|
prefix=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_status_matcher.shortcut(
|
||||||
|
r"开启(所有|全部)默认群被动",
|
||||||
|
command="switch",
|
||||||
|
arguments=["open", "--task", "--all", "-df"],
|
||||||
|
prefix=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
_status_matcher.shortcut(
|
||||||
|
r"关闭(所有|全部)默认群被动",
|
||||||
|
command="switch",
|
||||||
|
arguments=["close", "--task", "--all", "-df"],
|
||||||
|
prefix=True,
|
||||||
|
)
|
||||||
|
|
||||||
_status_matcher.shortcut(
|
_status_matcher.shortcut(
|
||||||
r"开启群被动\s*(?P<name>.+)",
|
r"开启群被动\s*(?P<name>.+)",
|
||||||
@ -73,6 +86,20 @@ _status_matcher.shortcut(
|
|||||||
prefix=True,
|
prefix=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_status_matcher.shortcut(
|
||||||
|
r"开启默认群被动\s*(?P<name>.+)",
|
||||||
|
command="switch",
|
||||||
|
arguments=["open", "{name}", "--task", "-df"],
|
||||||
|
prefix=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
_status_matcher.shortcut(
|
||||||
|
r"关闭默认群被动\s*(?P<name>.+)",
|
||||||
|
command="switch",
|
||||||
|
arguments=["close", "{name}", "--task", "-df"],
|
||||||
|
prefix=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
_status_matcher.shortcut(
|
_status_matcher.shortcut(
|
||||||
r"开启(所有|全部)群被动",
|
r"开启(所有|全部)群被动",
|
||||||
|
|||||||
@ -54,22 +54,6 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
default_value=5,
|
default_value=5,
|
||||||
type=int,
|
type=int,
|
||||||
),
|
),
|
||||||
RegisterConfig(
|
|
||||||
module="_task",
|
|
||||||
key="DEFAULT_GROUP_WELCOME",
|
|
||||||
value=True,
|
|
||||||
help="被动 进群欢迎 进群默认开关状态",
|
|
||||||
default_value=True,
|
|
||||||
type=bool,
|
|
||||||
),
|
|
||||||
RegisterConfig(
|
|
||||||
module="_task",
|
|
||||||
key="DEFAULT_REFUND_GROUP_REMIND",
|
|
||||||
value=True,
|
|
||||||
help="被动 退群提醒 进群默认开关状态",
|
|
||||||
default_value=True,
|
|
||||||
type=bool,
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
tasks=[
|
tasks=[
|
||||||
Task(
|
Task(
|
||||||
|
|||||||
@ -28,7 +28,7 @@ from nonebot_plugin_alconna.uniseg.segment import (
|
|||||||
)
|
)
|
||||||
from nonebot_plugin_session import EventSession
|
from nonebot_plugin_session import EventSession
|
||||||
|
|
||||||
from zhenxun.configs.utils import PluginExtraData, RegisterConfig, Task
|
from zhenxun.configs.utils import PluginExtraData, Task
|
||||||
from zhenxun.utils.enum import PluginType
|
from zhenxun.utils.enum import PluginType
|
||||||
from zhenxun.utils.message import MessageUtils
|
from zhenxun.utils.message import MessageUtils
|
||||||
|
|
||||||
@ -73,16 +73,6 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
author="HibiKier",
|
author="HibiKier",
|
||||||
version="1.2",
|
version="1.2",
|
||||||
plugin_type=PluginType.SUPERUSER,
|
plugin_type=PluginType.SUPERUSER,
|
||||||
configs=[
|
|
||||||
RegisterConfig(
|
|
||||||
module="_task",
|
|
||||||
key="DEFAULT_BROADCAST",
|
|
||||||
value=True,
|
|
||||||
help="被动 广播 进群默认开关状态",
|
|
||||||
default_value=True,
|
|
||||||
type=bool,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
tasks=[Task(module="broadcast", name="广播")],
|
tasks=[Task(module="broadcast", name="广播")],
|
||||||
).to_dict(),
|
).to_dict(),
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user