diff --git a/modules/MegaHAL.py b/modules/MegaHAL.py
deleted file mode 100644
index f56ae25..0000000
--- a/modules/MegaHAL.py
+++ /dev/null
@@ -1,91 +0,0 @@
-"""
-MegaHAL - MegaHAL bot for IRC
-Copyright (C) 2010 Brian S. Stephan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-"""
-
-from ConfigParser import NoOptionError
-import mh_python
-import os
-import re
-
-from extlib import irclib
-
-from Module import Module
-
-class MegaHAL(Module):
-
- """Have an annoying, dumb, and hilarious chatterbot on IRC."""
-
- def priority(self):
- return 95
-
- def __init__(self, irc, config, server):
- """Upon creation, open the MegaHAL brain and get ready for doing actual stuff."""
-
- Module.__init__(self, irc, config, server)
-
- mh_python.initbrain()
-
- def register_handlers(self):
- """Handle pubmsg/privmsg, so we can learn only from IRC events."""
-
- self.server.add_global_handler('pubmsg', self.on_pub_or_privmsg, self.priority())
- self.server.add_global_handler('privmsg', self.on_pub_or_privmsg, self.priority())
- self.server.add_global_handler('pubmsg', self.learn_from_irc_event)
- self.server.add_global_handler('privmsg', self.learn_from_irc_event)
-
- def unregister_handlers(self):
- self.server.remove_global_handler('pubmsg', self.on_pub_or_privmsg)
- self.server.remove_global_handler('privmsg', self.on_pub_or_privmsg)
- self.server.remove_global_handler('pubmsg', self.learn_from_irc_event)
- self.server.remove_global_handler('privmsg', self.learn_from_irc_event)
-
- def save(self):
- """Sync the megahal brain."""
- mh_python.cleanup()
-
- def learn_from_irc_event(self, connection, event):
- """Learn text when an irc event happens."""
- what = ''.join(event.arguments()[0])
- mh_python.learn(what)
-
- def do(self, connection, event, nick, userhost, what, admin_unlocked):
- """Say something on IRC if the bot is being addressed."""
-
- # i think this megahal module is corrupting the object while walking it,
- # so give it a stupid copy of the string. stupid stupid stupid.
- line = ''.join(what)
- reply = ""
- append_nick = False
-
- if re.search(connection.get_nickname(), line, re.IGNORECASE) is not None:
- addressed_pattern = '^' + connection.get_nickname() + '[:,]\s+'
- addressed_re = re.compile(addressed_pattern)
- if addressed_re.match(what):
- line = addressed_re.sub('', line)
- append_nick = True
-
- reply = mh_python.doreply(line)
- elif re.search('^!megahal$', line, re.IGNORECASE) is not None:
- reply = mh_python.doreply('')
-
- if reply is not "":
- if append_nick:
- reply = nick + ": " + reply
- return self.reply(connection, event, reply)
-
-# vi:tabstop=4:expandtab:autoindent
-# kate: indent-mode python;indent-width 4;replace-tabs on;
diff --git a/modules/Trigger.py b/modules/Trigger.py
deleted file mode 100644
index 692fd82..0000000
--- a/modules/Trigger.py
+++ /dev/null
@@ -1,44 +0,0 @@
-"""
-Trigger - simple input -> output lookup based on config
-Copyright (C) 2010 Brian S. Stephan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-"""
-
-from ConfigParser import NoOptionError, NoSectionError
-import re
-
-from extlib import irclib
-
-from Module import Module
-
-class Trigger(Module):
- """Return text based on trigger input."""
-
- def do(self, connection, event, nick, userhost, what, admin_unlocked):
- """Look up input text in config, and respond with result if found."""
-
- try:
- trigger_list = self.config.options(self.__class__.__name__)
- self.remove_metaoptions(trigger_list)
-
- for trigger in trigger_list:
- if re.search(trigger, what) is not None:
- output = self.config.get(self.__class__.__name__, trigger)
- return self.reply(connection, event, output)
- except NoOptionError: pass
- except NoSectionError: pass
-
-# vi:tabstop=4:expandtab:autoindent
-# kate: indent-mode python;indent-width 4;replace-tabs on;
diff --git a/modules/Urls.py b/modules/Urls.py
deleted file mode 100644
index de1a43d..0000000
--- a/modules/Urls.py
+++ /dev/null
@@ -1,73 +0,0 @@
-"""
-Urls - store urls, retrieve urls, even track some maybe
-Copyright (C) 2010 Brian S. Stephan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-"""
-
-from ConfigParser import NoOptionError
-import os
-import random
-import re
-
-from extlib import irclib
-
-from Module import Module
-
-class Urls(Module):
- """Track URLs and allow one to be returned randomly or searched for."""
-
- def do(self, connection, event, nick, userhost, what, admin_unlocked):
- """Search for a URL from the store, or return a random one, or add one."""
-
- whats = what.split(' ')
- if whats[0] == "!url":
- try:
- filename = self.config.get(self.__class__.__name__, 'urlfile')
-
- # check file
- if os.path.isfile(filename):
- # try special commands like add
- if len(whats) > 1:
- if whats[1] == "add" and len(whats) > 2:
- with open(filename, 'a') as file:
- urlstr = ' '.join(whats[2:]) + "\n"
- file.write(urlstr)
-
- return self.reply(connection, event, 'added url')
-
- # default: get a random url
-
- # http://www.regexprn.com/2008/11/read-random-line-in-large-file-in.html
- with open(filename, 'r') as file:
- urls = []
- if len(whats) == 1:
- urls = file.readlines()
- else:
- lines = file.readlines()
- for line in lines:
- # check if line matches provided regex
- if re.search(' '.join(whats[1:]), line, re.IGNORECASE) is not None:
- urls.append(line)
- if len(urls) > 0:
- to_print = urls[random.randint(1, len(urls))-1]
-
- # return text
- return self.reply(connection, event, to_print.rstrip())
- else:
- print('filename in config file for urls is wrong')
- except NoOptionError: pass
-
-# vi:tabstop=4:expandtab:autoindent
-# kate: indent-mode python;indent-width 4;replace-tabs on;