1 """
2 modules are where the actual functionality of the bot happens
3
4 If you want to add functionality to emma you should hack here, creating a
5 module. Modules communicate through L{events} with
6 L{interfaces<emma.interface>} for access to mailing lists, irc, ...
7
8 Module inheritate from L{complement} from where you can
9 L{log<emma.complement.Complement.log>}, L{use locks<emma.complement.use_lock>},
10 ... Everything in a module happens in parallel on several threads, so for class
11 variables L{locks<emma.complement.use_lock>} should be use.
12
13 @copyright: (c) 2011 hackmeeting U{http://sindominio.net/hackmeeting}
14 @author: Ruben Pollan
15 @organization: hackmeeting U{http://sindominio.net/hackmeeting}
16 @contact: meskio@sindominio.net
17 @license:
18 This program is free software; you can redistribute it and/or
19 modify it under the terms of the Do What The Fuck You Want To
20 Public License, Version 2, as published by Sam Hocevar. See
21 U{http://sam.zoy.org/projects/COPYING.WTFPL} for more details.
22 """
23
24 from emma.complement import Complement
25
26
29