-
Notifications
You must be signed in to change notification settings - Fork 5
/
arcbot.py
89 lines (75 loc) · 2.65 KB
/
arcbot.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
89
import sys
import os
from circuits import Debugger
# try:
# import psutil
# print(' Succeeded in loading psutil for CPU and RAM tracking.')
# except:
# print(' Could not import psutil for CPU and RAM tracking.')
# psutil = None
from ircbot.ircbot import IRCBot
from ircbot import storage
from ircbot.admin import Admin
from ircbot.command import IRCCommand
from ircbot.events import sendmessage
from ircbot.help import Help
from ircbot.stats import Stats
from ircbot.usertracker import UserTracker, LastMessage
from arcuser.arcuser import ArcUserVariables
from assassins.coerce import Coercion
from band.band import BandPlugin
from factoid.factoid import FactoidPlugin, LearnerPlugin
from factoid.smart_variables import SmartVariables
from item.item import ItemPlugin
from link_command import Link
from markov import Markov
from questions import Questions
from thefucking import TheFucking
from word_swap import WordSwap
from words.define import Define
from words.mangle import Mangle
import phrase_commands
storage.initialize('sqlite:///coerce.db')
class ArcBot(IRCBot):
markov_dat_file = 'markov.botdat'
links_file = 'links.botdat'
def __init__(self):
super(ArcBot, self).__init__(host='irc.sudo-rmrf.net', port=6667,
channel='#csb', nick='arcbot',
realname="Ultimate Botting Machine:" +
" http://i.imgur.com/mrrKP.png" +
" https://www.youtube.com/watch?v=L9biyJcBhRs")
def init(self):
Help(intro='The following modules are loaded. To find out more, do ' +
'".help <module>."',
outro='If you have any questions about me or a module, ' +
'please direct them to arctem.').register(self)
Admin().register(self)
ArcUserVariables().register(self)
BandPlugin().register(self)
Coercion().register(self)
Define().register(self)
FactoidPlugin().register(self)
ItemPlugin().register(self)
LastMessage().register(self)
LearnerPlugin().register(self)
Link(ArcBot.links_file).register(self)
Mangle().register(self)
Markov(ArcBot.markov_dat_file).register(self)
Questions().register(self)
SmartVariables().register(self)
Stats().register(self)
TheFucking().register(self)
UserTracker().register(self)
WordSwap().register(self)
for cmd in phrase_commands.get_phrase_commands():
cmd.register(self)
def ready(self, component):
pass
def main(args=None):
arcbot = ArcBot()
d = Debugger().register(arcbot)
arcbot.run()
return 0
if __name__ == '__main__':
sys.exit(main(sys.argv))