-
Notifications
You must be signed in to change notification settings - Fork 0
/
ban.py
88 lines (78 loc) · 2.7 KB
/
ban.py
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
from auth import *;
from api import *;
from lib import *;
def ban(args, groupid, qqid):
if not len(args) == 3:
return "请求参数错误"
aimqqid = read_qqid(args[1]);
if aimqqid == qqid:
pass;
elif(get_authlevel(qqid, groupid)<5):
return "权限不足,请重试"
elif(get_authlevel(qqid, groupid)<=get_authlevel(aimqqid, groupid)):
return "权限不足,请重试"
set_group_ban(aimqqid, groupid, int(args[2]));
return ""
def unban(args, groupid, qqid):
if not len(args) == 2:
return "请求参数错误"
aimqqid = read_qqid(args[1]);
if(get_authlevel(qqid, groupid)<5):
return "权限不足,请重试"
set_group_ban(aimqqid, groupid, 0);
return ""
def kick(args, groupid, qqid):
if not len(args) == 2:
return "请求参数错误"
aimqqid = read_qqid(args[1]);
if aimqqid == qqid:
pass;
elif(get_authlevel(qqid, groupid)<7):
return "权限不足,请重试"
elif(get_authlevel(qqid, groupid)<=get_authlevel(aimqqid, groupid)):
return "权限不足,请重试"
set_group_kick(aimqqid, groupid);
return ""
def kick_v2(args, groupid, qqid):
prompt = ""
if len(args) == 1:
return "请求参数错误"
else:
for qq in args[1:]:
try:
aimqqid = read_qqid(qq);
if(get_authlevel(qqid, groupid)<7):
prompt += ("踢出%d权限不足,请重试\n" % qqid)
elif(get_authlevel(qqid, groupid)<=get_authlevel(aimqqid, groupid)):
prompt += ("踢出%d权限不足,请重试\n" % qqid)
else:
set_group_kick(aimqqid, groupid);
prompt += ("%d已踢出\n" % aimqqid)
except BaseException as ex:
print(ex)
prompt += "执行错误\n"
return prompt[:-1]
def callback(args, groupid, qqid):
print(args);
if not (len(args) == 2 or len(args) == 3):
return "请求参数错误"
replymsg = "";
if "[CQ:reply," in args[1]:
replymsg = args[1];
elif "[CQ:reply," in args[2]:
replymsg = args[2];
else:
return "未找到引用的消息,请重试"
msgid = int(replymsg.split("[CQ:reply,id=")[1].split(']')[0]);
aimqqid = get_msg_sender(msgid);
if(qqid == aimqqid):
pass;
elif(get_authlevel(qqid, groupid)<5):
return "权限不足,请重试"
elif(get_authlevel(qqid, groupid)<=get_authlevel(aimqqid, groupid)):
return "权限不足,请重试"
delete_msg(msgid);
#set_group_kick(aimqqid, groupid);
return ""
def tell_groupid(args, groupid, qqid):
return "%d" % groupid