Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/CommandGen.py

106 lines
3 KiB
Python
Raw Normal View History

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