Try to dynamically create modules
This commit is contained in:
parent
0fc413f2e3
commit
1c728b14bd
26
dr.botzo.py
26
dr.botzo.py
@ -91,6 +91,9 @@ class Module(object):
|
|||||||
admin_unlocked = True
|
admin_unlocked = True
|
||||||
except NoOptionError: pass
|
except NoOptionError: pass
|
||||||
|
|
||||||
|
if replypath is not None:
|
||||||
|
what = self.try_recursion(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
||||||
|
|
||||||
self.do(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
self.do(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
||||||
|
|
||||||
def try_recursion(self, connection, event, nick, userhost, replypath, what, admin_unlocked):
|
def try_recursion(self, connection, event, nick, userhost, replypath, what, admin_unlocked):
|
||||||
@ -161,10 +164,6 @@ class GoogleTranslate(Module):
|
|||||||
def do(self, connection, event, nick, userhost, replypath, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, replypath, what, admin_unlocked):
|
||||||
whats = what.split(' ')
|
whats = what.split(' ')
|
||||||
if whats[0] == 'translate' and len(whats) >= 4:
|
if whats[0] == 'translate' and len(whats) >= 4:
|
||||||
if replypath is not None:
|
|
||||||
what = self.try_recursion(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
|
||||||
whats = what.split(' ')
|
|
||||||
|
|
||||||
fromlang = whats[1]
|
fromlang = whats[1]
|
||||||
tolang = whats[2]
|
tolang = whats[2]
|
||||||
text = ' '.join(whats[3:])
|
text = ' '.join(whats[3:])
|
||||||
@ -208,10 +207,6 @@ class Countdown(Module):
|
|||||||
def do(self, connection, event, nick, userhost, replypath, what, admin_unlocked):
|
def do(self, connection, event, nick, userhost, replypath, what, admin_unlocked):
|
||||||
whats = what.split(' ')
|
whats = what.split(' ')
|
||||||
if whats[0] == 'countdown' and len(whats) >= 2:
|
if whats[0] == 'countdown' and len(whats) >= 2:
|
||||||
if replypath is not None:
|
|
||||||
what = self.try_recursion(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
|
||||||
whats = what.split(' ')
|
|
||||||
|
|
||||||
if whats[1] == 'add' and len(whats) >= 4:
|
if whats[1] == 'add' and len(whats) >= 4:
|
||||||
item = whats[2]
|
item = whats[2]
|
||||||
target = parse(' '.join(whats[3:]), default=datetime.now().replace(tzinfo=tzlocal()))
|
target = parse(' '.join(whats[3:]), default=datetime.now().replace(tzinfo=tzlocal()))
|
||||||
@ -373,10 +368,6 @@ class Seen(Module):
|
|||||||
# also see if it's a query
|
# also see if it's a query
|
||||||
whats = what.split(' ')
|
whats = what.split(' ')
|
||||||
if whats[0] == 'seen' and len(whats) >= 2:
|
if whats[0] == 'seen' and len(whats) >= 2:
|
||||||
if replypath is not None:
|
|
||||||
what = self.try_recursion(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
|
||||||
whats = what.split(' ')
|
|
||||||
|
|
||||||
query = whats[1]
|
query = whats[1]
|
||||||
if query != 'debug':
|
if query != 'debug':
|
||||||
try:
|
try:
|
||||||
@ -535,11 +526,8 @@ class FactFile(Module):
|
|||||||
whats = what.split(' ')
|
whats = what.split(' ')
|
||||||
try:
|
try:
|
||||||
filename = self.config.get('fact', whats[0])
|
filename = self.config.get('fact', whats[0])
|
||||||
if replypath is not None:
|
|
||||||
what = self.try_recursion(connection, event, nick, userhost, replypath, what, admin_unlocked)
|
|
||||||
whats = what.split(' ')
|
|
||||||
|
|
||||||
# open file
|
# open file
|
||||||
if os.path.isfile(filename):
|
if os.path.isfile(filename):
|
||||||
# http://www.regexprn.com/2008/11/read-random-line-in-large-file-in.html
|
# http://www.regexprn.com/2008/11/read-random-line-in-large-file-in.html
|
||||||
with open(filename, 'r') as file:
|
with open(filename, 'r') as file:
|
||||||
@ -600,6 +588,12 @@ server = irc.server().connect(botserver, botport, botnick, botircname)
|
|||||||
|
|
||||||
modlist = []
|
modlist = []
|
||||||
|
|
||||||
|
moduleList = [ "Countdown", "Dice", "FactFile", "IrcAdmin", "GoogleTranslate", "Seen" ]
|
||||||
|
modObjs = []
|
||||||
|
|
||||||
|
for mod in moduleList:
|
||||||
|
modObjs.append(mod(config, server modlist))
|
||||||
|
|
||||||
count = Countdown(config, server, modlist)
|
count = Countdown(config, server, modlist)
|
||||||
dice = Dice(config, server, modlist)
|
dice = Dice(config, server, modlist)
|
||||||
fact = FactFile(config, server, modlist)
|
fact = FactFile(config, server, modlist)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user