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