mirror of
				https://github.com/Mikaela/Limnoria.git
				synced 2025-11-03 17:17:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
So here's a general *programming* introduction to what the different modules do
 | 
						|
and what services they provide.  It is, however, only an introduction.  Read
 | 
						|
the modules themselves for a much more detailed explanation :)
 | 
						|
 | 
						|
fix.py: Stuff that Python should (but doesn't) include by default.
 | 
						|
 | 
						|
cdb.py: A constant database library, translated from C (and my O'Caml version)
 | 
						|
        More information available at http://cr.yp.to/cdb.html.  Not
 | 
						|
        currently used since we switched to PySQLite.
 | 
						|
 | 
						|
ansi.py: Contains different ANSI color sequences.
 | 
						|
         Mostly used by the debug module.
 | 
						|
 | 
						|
debug.py: Functions for handling bugs and errors in a consistent manner
 | 
						|
          throughout the bot.
 | 
						|
 | 
						|
conf.py: The configuration file for the bot -- it sets a lot of variables that
 | 
						|
         other modules check for when they have questions about what they need
 | 
						|
         to do.
 | 
						|
 | 
						|
world.py: Just a dropping off place for some globals that need to be shared
 | 
						|
          among all the modules.  It's obviously not used *a lot*, but some
 | 
						|
          things seem to fit better here than anywhere else.
 | 
						|
 | 
						|
template.py: A template used by setup.py to create customized runnable
 | 
						|
             Python scripts for individual bots.
 | 
						|
 | 
						|
privmsgs.py: Basic stuff relating to callbacks.Privmsg, the base class
 | 
						|
             for most plugins.
 | 
						|
 | 
						|
callbacks.py: A few basic callbacks providing significant functionality.  
 | 
						|
              You'll likely be inheriting from Privmsg quite a bit.
 | 
						|
 | 
						|
ircdb.py: The users and channels databases are here, as well as the
 | 
						|
          IrcUser and IrcChannel classes.  Look here when you want to
 | 
						|
          restrict a command to only certain users.
 | 
						|
 | 
						|
irclib.py: Provides the most important class in the irclib, Irc.  It represents
 | 
						|
           a connection to an IRC server, but it's entirely separate from the
 | 
						|
           network implementation.  It's connected to the network (or whatever
 | 
						|
           else drives it) by a "driver" module which uses its feedMsg/takeMsg
 | 
						|
           functions.
 | 
						|
 | 
						|
drivers.py: The baseclass (IrcDriver) for various drivers to drive irclib.Irc
 | 
						|
            classes.  Also, the driving mechanism.
 | 
						|
 | 
						|
asyncoreDrivers.py: The asyncore-based drivers for use with the bot.
 | 
						|
 | 
						|
socketDrivers.py: The plain old socket-based drivers for use with the
 | 
						|
                  bot.
 | 
						|
 | 
						|
twistedDrivers.py: The Twisted <http://www.twistedmatrix.com/> drivers
 | 
						|
                   for use with the bot.
 | 
						|
 | 
						|
ircmsgs.py: The IrcMsg class (get to know it :)) and various functions for
 | 
						|
            making the creation of IrcMsgs easier.
 | 
						|
 | 
						|
ircutils.py: Various utility functions for Irc -- read the module to see what
 | 
						|
             goodies are there :)
 | 
						|
 | 
						|
schedule.py: A schedule driver (which is automatically registered with the
 | 
						|
             drivers module) to run things at a particular time, or at
 | 
						|
             specified periods of time.
 |