diff options
-rw-r--r-- | connection/xmpp.py | 12 | ||||
-rw-r--r-- | curunir.py | 5 | ||||
-rw-r--r-- | modules/credits.py | 20 |
3 files changed, 35 insertions, 2 deletions
diff --git a/connection/xmpp.py b/connection/xmpp.py index 4facfe8..dfdeb28 100644 --- a/connection/xmpp.py +++ b/connection/xmpp.py @@ -45,15 +45,23 @@ class MucHandler(MucRoomHandler): if(not self.room_state.joined or user.same_as(self.room_state.me)): return + status = '' + if stanza.get_status() != None: + status = stanza.get_status() + for mod in self.client.module_manager.modules.itervalues(): - mod.join(stanza.get_from().bare().as_unicode(), stanza.get_from().resource, stanza.get_show(), stanza.get_status(), self) + mod.join(stanza.get_from().bare().as_unicode(), stanza.get_from().resource, stanza.get_show(), status, self) def user_left(self, user, stanza): if(not self.room_state.joined or user.same_as(self.room_state.me)): return + status = '' + if stanza.get_status() != None: + status = stanza.get_status() + for mod in self.client.module_manager.modules.itervalues(): - mod.leave(stanza.get_from().bare().as_unicode(), stanza.get_from().resource, stanza.get_show(), stanza.get_status(), self) + mod.leave(stanza.get_from().bare().as_unicode(), stanza.get_from().resource, stanza.get_show(), status, self) def subject_changed(self, user, stanza): topic = '' @@ -25,13 +25,18 @@ def exithandler(signum, frame): global run run = False +print 'Starting Curunir 0.1' + signal.signal(signal.SIGINT, exithandler) signal.signal(signal.SIGTERM, exithandler) signal.signal(signal.SIGQUIT, exithandler) +print 'Loading modules...' + modman = ModuleManager(config) connection = XMPPConnection(config, modman) +print 'Connecting...' connection.connect() while run: diff --git a/modules/credits.py b/modules/credits.py new file mode 100644 index 0000000..2083105 --- /dev/null +++ b/modules/credits.py @@ -0,0 +1,20 @@ +from base import ModuleBase +import re + +class Module(ModuleBase): + def __init__(self, manager): + ModuleBase.__init__(self, manager) + + def commands(self): + return [('!credits', 'Wer hat\'s erfunden?')] + + def groupchat(self, room, nick, text, handler): + if not re.match(r'!credits(?:\W|\Z)', text): + return + + handler.reply( + '''Ich wurde von NeoRaider (matze) geschaffen, +geschmiedet aus reinem Python und der Magie von PyXMPP. +Nach langer Gefangenschaft in dunklen Verliesen aus fehlender +Dokumentation kam ich an Licht, um dem C3HL zu dienen...''' + ) |