1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
from nonebot.typing import T_State
from nonebot.permission import SUPERUSER
from nonebot.adapters.cqhttp.permission import GROUP_ADMIN, GROUP_OWNER
from nonebot.adapters.cqhttp import (
Bot,
MessageEvent,
GroupMessageEvent,
PrivateMessageEvent
)
from ATRI.service import Service as sv
__doc__ = """
启用功能,针对单群
权限组:维护者,群管理
用法:
启用 目标命令
示例:
启用 以图搜图
"""
cur_service_ena = sv.on_command(
cmd="启用功能",
docs=__doc__,
permission=SUPERUSER|GROUP_ADMIN|GROUP_OWNER
)
@cur_service_ena.args_parser # type: ignore
async def _cur_ena_load(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
quit_list = ['算了', '罢了', '取消']
if msg in quit_list:
await cur_service_ena.finish('好吧...')
if not msg:
await cur_service_ena.reject('请告诉咱目标命令!')
else:
state['service_e'] = msg
@cur_service_ena.handle()
async def _cur_ena(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
if msg:
state['service_e'] = msg
@cur_service_ena.got('service_e', prompt='请告诉咱目标命令!')
async def _deal_cur_ena(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None:
cmd = state['service_e']
group = str(event.group_id)
sv.control_service(cmd, False, True, group=group)
await cur_service_ena.finish(f'成功!本群已启用:{cmd}')
@cur_service_ena.handle()
async def _refuse_cur_ena(bot: Bot,
event: PrivateMessageEvent,
state: T_State) -> None:
await cur_service_ena.finish('只能在群聊中决定哦...')
__doc__ = """
禁用功能,针对单群
权限组:维护者,群管理
用法:
禁用 目标命令
示例:
禁用 以图搜图
"""
cur_service_dis = sv.on_command(
cmd="禁用功能",
docs=__doc__,
permission=SUPERUSER|GROUP_ADMIN|GROUP_OWNER
)
@cur_service_dis.args_parser # type: ignore
async def _cur_dis_load(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
quit_list = ['算了', '罢了', '取消']
if msg in quit_list:
await cur_service_dis.finish('好吧...')
if not msg:
await cur_service_dis.reject('请告诉咱目标命令!')
else:
state['service_d'] = msg
@cur_service_dis.handle()
async def _cur_dis(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
if msg:
state['service_d'] = msg
@cur_service_dis.got('service_d', prompt='请告诉咱目标命令!')
async def _deal_cur_dis(bot: Bot,
event: GroupMessageEvent,
state: T_State) -> None:
cmd = state['service_d']
group = str(event.group_id)
sv.control_service(cmd, False, False, group=group)
await cur_service_dis.finish(f'成功!本群已禁用:{cmd}')
@cur_service_dis.handle()
async def _refuse_cur_dis(bot: Bot,
event: PrivateMessageEvent,
state: T_State) -> None:
await cur_service_dis.finish('只能在群聊中决定哦...')
__doc__ = """
全局启用功能
权限组:维护者
用法:
全局启用 目标命令
示例:
全局启用 以图搜图
"""
glo_service_ena = sv.on_command(
cmd="全局启用",
docs=__doc__,
permission=SUPERUSER
)
@glo_service_ena.args_parser # type: ignore
async def _glo_ena_load(bot: Bot,
event: MessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
quit_list = ['算了', '罢了', '取消']
if msg in quit_list:
await glo_service_ena.finish('好吧...')
if not msg:
await glo_service_ena.reject('请告诉咱目标命令!')
else:
state['service_e_g'] = msg
@glo_service_ena.handle()
async def _glo_ena(bot: Bot,
event: MessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
if msg:
state['service_e_g'] = msg
@glo_service_ena.got('service_e_g', prompt='请告诉咱目标命令!')
async def _deal_glo_ena(bot: Bot,
event: MessageEvent,
state: T_State) -> None:
cmd = state['service_e_g']
sv.control_service(cmd, True, True)
await glo_service_ena.finish(f'成功!已全局启用:{cmd}')
__doc__ = """
全局禁用功能
权限组:维护者
用法:
全局禁用 目标命令
示例:
全局禁用 以图搜图
"""
glo_service_dis = sv.on_command(
cmd="全局禁用",
docs=__doc__,
permission=SUPERUSER
)
@glo_service_dis.args_parser # type: ignore
async def _glo_dis_load(bot: Bot,
event: MessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
quit_list = ['算了', '罢了', '取消']
if msg in quit_list:
await glo_service_dis.finish('好吧...')
if not msg:
await glo_service_dis.reject('请告诉咱目标命令!')
else:
state['service_d_g'] = msg
@glo_service_dis.handle()
async def _glo_dis(bot: Bot,
event: MessageEvent,
state: T_State) -> None:
msg = str(event.message).strip()
if msg:
state['service_d_g'] = msg
@glo_service_dis.got('service_d_g', prompt='请告诉咱目标命令!')
async def _deal_glo_dis(bot: Bot,
event: MessageEvent,
state: T_State) -> None:
cmd = state['service_d_g']
sv.control_service(cmd, True, False)
await glo_service_dis.finish(f'成功!已全局禁用:{cmd}')
|