summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2023-05-11 14:55:26 +0800
committerKyomotoi <[email protected]>2023-05-11 14:55:26 +0800
commit546885062c1dae673fb5e31dec900a4536a2b3fa (patch)
tree8864ccbc25fbf8e5c7116e5635e382a353c6e814
parent110b137c55166ed168e7ae67a4a2c8ced43e53d7 (diff)
downloadATRI-546885062c1dae673fb5e31dec900a4536a2b3fa.tar.gz
ATRI-546885062c1dae673fb5e31dec900a4536a2b3fa.tar.bz2
ATRI-546885062c1dae673fb5e31dec900a4536a2b3fa.zip
🐛 修复函数用法错误
-rw-r--r--ATRI/plugins/manage/__init__.py32
-rw-r--r--ATRI/plugins/manage/data_source.py3
2 files changed, 23 insertions, 12 deletions
diff --git a/ATRI/plugins/manage/__init__.py b/ATRI/plugins/manage/__init__.py
index d32cb40..7abd8be 100644
--- a/ATRI/plugins/manage/__init__.py
+++ b/ATRI/plugins/manage/__init__.py
@@ -1,3 +1,4 @@
+import re
from datetime import datetime
from typing import Type, Callable
from asyncio import iscoroutinefunction
@@ -90,14 +91,6 @@ handle_command(
)
-toggle_user_service = plugin.on_command("用户控制", "针对单一用户禁用/启用某一服务")
-handle_command(
- toggle_user_service,
- BotManager().toggle_user_service,
- "服务 {} 已针对该用户",
-)
-
-
toggle_group_service = plugin.on_command("控制", "针对所在群禁用/启用某一服务", permission=ADMIN)
handle_command(
toggle_group_service,
@@ -106,9 +99,9 @@ handle_command(
)
-track = plugin.on_command("追踪", "根据ID获取对应报错信息", aliases={"/track"})
+track_error = plugin.on_command("追踪", "根据ID获取对应报错信息", aliases={"/track"})
handle_command(
- track,
+ track_error,
BotManager().track_error,
"{}",
)
@@ -130,6 +123,25 @@ reject_group_req = plugin.on_command("拒绝邀请", "根据申请码拒绝对�
handle_command(reject_group_req, BotManager().reject_group_req, "已拒绝该邀请")
+toggle_user_service = plugin.on_regex(r"对用户(.*?)(启用|禁用)(.*)", "针对单一用户禁用/启用某一服务")
+
+
+@toggle_user_service.handle()
+async def _(event: MessageEvent):
+ msg = str(event.get_message()).strip()
+ reg = re.findall("对用户(.*?)(启用|禁用)(.*)", msg)[0]
+ target_user = reg[0]
+ target_service = reg[2]
+
+ try:
+ result = BotManager().toggle_user_service(target_service, target_user)
+ except Exception as e:
+ await toggle_user_service.finish(f"操作失败,原因:{str(e)}")
+ await toggle_user_service.finish(
+ f"已{'允许' if result else '禁止'}用户 {target_user} 使用 {target_service}"
+ )
+
+
friend_req = plugin.on_request("好友申请", "好友申请检测")
diff --git a/ATRI/plugins/manage/data_source.py b/ATRI/plugins/manage/data_source.py
index 37edefc..12d3177 100644
--- a/ATRI/plugins/manage/data_source.py
+++ b/ATRI/plugins/manage/data_source.py
@@ -142,8 +142,7 @@ class BotManager:
return result
raise Exception("该功能只能在群聊中使用")
- def toggle_user_service(self, service: str, event: MessageEvent) -> bool:
- user_id = event.get_user_id()
+ def toggle_user_service(self, service: str, user_id: str) -> bool:
serv = ServiceTools(service)
try:
data = serv.load_service()