2020-08-07 06:19:34 +00:00
|
|
|
|
import re
|
2020-08-12 16:01:34 +00:00
|
|
|
|
|
2020-08-18 13:12:38 +00:00
|
|
|
|
from modules.ab import ab
|
|
|
|
|
from modules.bug import bugtracker
|
2020-08-30 10:08:26 +00:00
|
|
|
|
from modules.help import help, credits
|
2020-08-18 13:12:38 +00:00
|
|
|
|
from modules.mcv import mcv, mcbv, mcdv
|
|
|
|
|
from modules.newbie import new
|
|
|
|
|
from modules.ping import ping
|
|
|
|
|
from modules.rc import rc
|
|
|
|
|
from modules.server import ser
|
|
|
|
|
from modules.user import Username
|
2020-09-10 14:29:33 +00:00
|
|
|
|
from modules.userp import userpic
|
2020-09-05 09:51:43 +00:00
|
|
|
|
from modules.wiki import wmg
|
2020-08-30 08:26:54 +00:00
|
|
|
|
from modules.wiki import im, imt, imarc
|
2020-08-12 16:01:34 +00:00
|
|
|
|
|
2020-09-10 14:29:33 +00:00
|
|
|
|
ignorelist = [250500369, 676942198]
|
2020-08-12 16:01:34 +00:00
|
|
|
|
|
2020-08-30 08:26:54 +00:00
|
|
|
|
async def findcommand(str1, group=0):
|
2020-08-12 16:01:34 +00:00
|
|
|
|
str1 = re.sub(r'^~', '~', str1)
|
2020-09-10 14:29:33 +00:00
|
|
|
|
q = re.match(r'^.*(: ~)(.*)', str1)
|
|
|
|
|
if q:
|
2020-08-07 06:19:34 +00:00
|
|
|
|
return q.group(2)
|
2020-09-10 14:29:33 +00:00
|
|
|
|
q = re.match(r'^~(.*)', str1)
|
|
|
|
|
if q:
|
|
|
|
|
return q.group(1)
|
|
|
|
|
q = re.match(r'^!(.*\-.*)', str1)
|
|
|
|
|
if q:
|
|
|
|
|
q = str.upper(q.group(1))
|
|
|
|
|
return 'bug ' + q
|
|
|
|
|
w = re.findall(r'\[\[(.*?)\]\]', str1)
|
|
|
|
|
w2 = re.findall(r'\{\{(.*?)\}\}', str1)
|
|
|
|
|
z = []
|
|
|
|
|
c = '\n'
|
|
|
|
|
if w:
|
|
|
|
|
if str(w) != '['']' or str(w) != '[]':
|
|
|
|
|
for x in w:
|
|
|
|
|
if x == '':
|
2020-08-30 08:26:54 +00:00
|
|
|
|
pass
|
2020-09-10 14:29:33 +00:00
|
|
|
|
else:
|
|
|
|
|
if group in ignorelist:
|
|
|
|
|
z.append(await imarc(x))
|
2020-08-30 08:26:54 +00:00
|
|
|
|
else:
|
2020-09-10 14:29:33 +00:00
|
|
|
|
z.append(await im(x))
|
|
|
|
|
if w2:
|
|
|
|
|
if str(w2) != '['']' or str(w2) != '[]':
|
|
|
|
|
for x in w2:
|
|
|
|
|
if x == '':
|
2020-08-30 08:26:54 +00:00
|
|
|
|
pass
|
|
|
|
|
else:
|
2020-09-10 14:29:33 +00:00
|
|
|
|
if group in ignorelist:
|
|
|
|
|
pass
|
|
|
|
|
else:
|
|
|
|
|
z.append(await imt(x))
|
|
|
|
|
if str(z) != '['']['']' or str(z) != '[][]' or str(z) != '[]':
|
|
|
|
|
v = c.join(z)
|
|
|
|
|
return 'echo ' + v
|
2020-08-12 16:01:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async def command(text, group=0):
|
2020-09-10 14:29:33 +00:00
|
|
|
|
result = await findcommand(text, group)
|
|
|
|
|
c = result
|
|
|
|
|
if c == None:
|
|
|
|
|
return
|
2020-08-07 06:19:34 +00:00
|
|
|
|
try:
|
2020-09-10 14:29:33 +00:00
|
|
|
|
d = result.split(' ')
|
|
|
|
|
d = d[0]
|
2020-08-21 12:40:05 +00:00
|
|
|
|
except Exception:
|
2020-09-10 14:29:33 +00:00
|
|
|
|
d = c
|
|
|
|
|
if d == 'echo':
|
|
|
|
|
echo = re.sub(r'^echo ', '', c)
|
|
|
|
|
return echo
|
|
|
|
|
if c == 'help':
|
|
|
|
|
return help()
|
|
|
|
|
if d == 'pa':
|
|
|
|
|
return '爬'
|
|
|
|
|
if d == 'mcv':
|
|
|
|
|
return await mcv()
|
|
|
|
|
if d == 'mcbv':
|
|
|
|
|
return await mcbv()
|
|
|
|
|
if d == 'mcdv':
|
|
|
|
|
return await mcdv()
|
|
|
|
|
if d.find('新人') != -1 or d.find('new') != -1:
|
|
|
|
|
return await new()
|
|
|
|
|
if d.find("wiki") != -1 or d.find("Wiki") != -1:
|
|
|
|
|
return await(wmg(c, group))
|
|
|
|
|
if c.find("bug") != -1 or c.find("MC-") != -1 or c.find("BDS-") != -1 or c.find("MCPE-") != -1 or c.find(
|
|
|
|
|
"MCAPI-") != -1 or c.find("MCCE-") != -1 or c.find("MCD-") != -1 or c.find("MCL-") != -1 or c.find(
|
|
|
|
|
"REALMS-") != -1 or c.find("MCE-") != -1 or c.find("WEB-") != -1:
|
|
|
|
|
return await bugtracker(c)
|
|
|
|
|
if d == 'server' or d == 'Server':
|
|
|
|
|
return await ser(c)
|
|
|
|
|
if d.find("user") != -1 or d.find("User") != -1:
|
|
|
|
|
if c.find("-p") != -1:
|
|
|
|
|
return await userpic(c)
|
|
|
|
|
else:
|
|
|
|
|
return await Username(c)
|
|
|
|
|
if d == 'rc':
|
|
|
|
|
return await rc()
|
|
|
|
|
if d == 'ab':
|
|
|
|
|
return await ab()
|
|
|
|
|
if d == 'ping':
|
|
|
|
|
return await ping()
|
|
|
|
|
if d == 'credits':
|
|
|
|
|
return credits()
|
|
|
|
|
else:
|
|
|
|
|
pass
|