TOURDECODE
__copyright__ = 'this file is in the public domain'
bot dir
(bart@dunker):~/gozerbot/tour/gozerbot $ ls README contrib files gozerplugs setup.py tests bin doc gozerbot runbot stop doc .. documents files .. scripts and other files gozerbot .. module providing gozerbot core code gozerplugs .. package that holds the bot's plugins runbot .. main program stop .. script to stop the bot tests .. directory with unittests bin .. directory with binaries contrib .. files contributed but not in the public domain
gozerplugs
$ ls __init__.py dbplugs plugs web
doc
(bart@dunker):~/gozerbot/tour/gozerbot/doc $ ls BASIC FLEET OPER RELAY TOURDECODE USER COLLECTIVE FLOW PLUGINS RSS UDP WEBSERVER FAQ JABBER PROGRAMPLUGIN THNX UPGRADE BASIC .. basic bot commands OPER .. bot OPER manual PROGRAMPLUGIN .. doc about making your own plugin RSS .. describes the rss functionality THNX .. people UPDATING .. read when you try to upgrade from an old gozerbot UPGRADE .. show how the bot can be upgraded to a newer version USER .. doc about managing users FLEET .. about running multiple bots FLOW .. describes the basic data flow of the bot PLUGINS .. description of the plugins
files
(bart@dunker):~/gozerbot/tour/gozerbot/files
$ ls
dcctest.py gozerbot.cron onconnect qtest.py svnlog.py
dotest.py hammer.py pickletomysql.py setup.py toudp.py
gb_db mailudp.py plugdeny sqlite_db
coredbtogozer.py .. when upgrading from corebotdb
coretogozer.py .. upgrades from corebot
dcctest.py .. script thats tests the bot by making DDC chats to the bot and
run the examples as commands
dotest.py .. script to run unittests
gb_db .. mysql database template
hammer.py .. run one command multiple times
mailudp.py .. example of file to include in .forward so mail -> irc gateway
is possible
nagios-udp .. nagios mail -> irc gateway
onconnect .. example of file to run when bot connects to an irc server
qtest.py .. use Queues to test bot
svnlog.py .. file to use for svn commit -> irc gateway
toudp.py .. stdout -> irc gateway
gozerbot
bots core code
$ ls
__init__.py dol.py jabberpresence.py persist.py
aliases.py eventhandler.py less.py persistconfig.py
backup.py examples.py limiter.py plughelp.py
bot.py exit.py limlist.py plugins.py
callbacks.py fleet.py lockmanager.py redispatcher.py
channels.py generic.py monitor.py rsslist.py
commands.py ignore.py myimport.py statdict.py
config.py irc.py nextid.py thr.py
datadir.py ircevent.py partyline.py users.py
db.py jabberbot.py pdod.py wait.py
dbusers.py jabbermsg.py pdol.py
backup.py .. makes backup of the data dir
bot.py .. defines the Bot class
callbacks.py .. enables callbacks
channels.py .. Channel class used to store channel related data
commands.py .. bot commands infrastructure
config.py .. holds the config dictionary
db.py .. does the mysql interfacing
dbusers.py .. mysql related users code
dol.py .. a dol is a dict of lists
examples .. examples and descriptions of the commands
fleet.py .. fleet is a list of bots, used to connect to multiple servers
generic.py .. generic functions and stuff
irc.py .. defines the core bot code handling irc stuff
limlist.py .. limited list aka list with max number of elements
monitor.py .. use to register callbacks that gets called when certain
monitor events happen
more.py .. enable bots response caching
myimport.py .. provide absolute path importing
nextid.py .. dict with counters to provide ids
partyline.py .. talk with other people via dcc chat
pdod.py .. pickled dict of dicts
pdol.py .. pickled dict of lists
persist.py .. used to pickle data
plugins.py .. provides plugin related functionality
redispatcher.py .. regular expression dispatcher
statdict.py .. dict used for stats
thr.py .. give thread the name of the command excecuting
udp.py .. code for udp listen thread
users.py .. users related code
wait.py .. register callbacks on irc events
datadir.py .. app wide datadir
plugs
(bart@dunker):~/gozerbot/tour/gozerbot/gozerplugs/plugs $ ls __init__.py core.py infoitem.py misc.py tail.py alarm.py count.py install.py mono.py to.py alert.py country.py irc.py nickcapture.py todo.py alias.py dig.py jabber.py not.py topic.py autovoice.py dns.py jcoll.py ops.py udp.py away.py event.py karma.py probe.py update.py birthday.py fleet.py limiter.py quote.py upgrade.py botsnack.py googletalk.py links.py relay.py user.py chanperm.py greeting.py lists.py reload.py webserver.py choice.py grep.py log.py remind.py code.py hello.py mail.py rss.py collective.py idle.py mailexceptions.py shop.py convert.py ignore.py markov.py size.py
see doc/PLUGINS for plugin description
database plugs
(bart@dunker):~/gozerbot/tour/gozerbot/gozerplugs/dbplugs $ ls __init__.py infoitem.py quote.py user.py birthday.py karma.py todo.py birthday.py .. manages birthdays karma.py .. manages karma quote.py .. does the quotes thing todo.py .. todo user.py .. user related plugin