Exemplo n.º 1
0
    def session_started(self):
        """This is called when the IM session is successfully started
		(after all the neccessery negotiations, authentication and
		authorizasion).
		That is the best place to setup various handlers for the stream.
		Do not forget about calling the session_started() method of the base
		class!"""
        JabberClient.session_started(self)

        # set up handlers for supported <iq/> queries
        self.stream.set_iq_get_handler("query", "jabber:iq:version",
                                       self.get_version)

        # set up handlers for <presence/> stanzas
        self.stream.set_presence_handler("available", self.presence)
        self.stream.set_presence_handler("subscribe", self.presence_control)
        self.stream.set_presence_handler("subscribed", self.presence_control)
        self.stream.set_presence_handler("unsubscribe", self.presence_control)
        self.stream.set_presence_handler("unsubscribed", self.presence_control)

        # set up handler for <message stanza>
        self.stream.set_message_handler("normal", self.message)
        print(self.stream)

        print u"joining..."
        self.roommgr = MucRoomManager(self.stream)
        self.roommgr.set_handlers()
        nick = self.jid.node + '-' + self.jid.resource
        for loc in options.channels:  #['*****@*****.**','*****@*****.**']:
            roomjid = JID(loc, options.muc)
            print("\t %s" % roomjid.as_unicode())
            h = RoomHandler()
            self.muc.append(h)
            mucstate = self.roommgr.join(roomjid, nick, h)
            h.assign_state(mucstate)
Exemplo n.º 2
0
    def _session_started_helper(self,bot,muc_jid):
        '''Pass this an instance of your bot (that subclasses MucRoomHandler) and a MUC room JID'''
        JabberClient.session_started(self)
        self.stream.set_iq_get_handler("query","jabber:iq:version",self.get_version)
        self.stream.set_message_handler("normal",self.message)

        self.muc_manager = MucRoomManager(self.stream)
        self.muc_state = self.muc_manager.join(muc_jid,self.nick,bot,history_maxchars=0)
        self.muc_manager.set_handlers()
Exemplo n.º 3
0
 def connectToMUC(self):
     self._roomManager = MucRoomManager(self.stream)
     self._roomHandler = ChatHandler(
         JID(self._channel, self._server, self._jid.node), self._listener)
     self._roomState = self._roomManager.join(room=JID(self._channel + "@" +
                                                       self._server),
                                              nick='z45',
                                              handler=self._roomHandler,
                                              history_maxchars=0,
                                              password=None)
     self._roomManager.set_handlers()
Exemplo n.º 4
0
    def session_started(self):
        JabberClient.session_started(self)
        self.room_manager = MucRoomManager(self.stream)

        handle_presence = getattr(self, 'handle_presence', None)
        if callable(handle_presence):
            self.stream.set_presence_handler(None, handle_presence)
            #self.stream.set_presence_handler('subscribed', handle_presence)
            #self.stream.set_presence_handler('unsubscribe', handle_presence)
            #self.stream.set_presence_handler('unsubscribed', handle_presence)

        handle_message = getattr(self, 'handle_message', None)
        if callable(handle_message):
            self.stream.set_message_handler('normal', handle_message)

        handle_connect = getattr(self, 'handle_connect', None)
        if callable(handle_connect):
            handle_connect()
Exemplo n.º 5
0
 def session_started(self):
     """Triggered when the session starts. Sets some event handlers and
     connects to indicated rooms
     
     """
     JabberClient.session_started(self)
     self.stream.set_message_handler("chat", self.chat_received)
     self.stream.set_message_handler("error", self.error_received)
     self.stream.set_presence_handler(None, self.presence_received)
     self.stream.set_presence_handler("unavailable",
                                      self.unavailable_received)
     self.stream.set_presence_handler("subscribe",
                                      self.subscription_received)
     self.stream.set_presence_handler("unsubscribe",
                                      self.subscription_received)
     self.stream.set_presence_handler("subscribed",
                                      self.subscription_received)
     self.stream.set_presence_handler("unsubscribed",
                                      self.subscription_received)
     self.logger.info("Session started")
     self.mucman = MucRoomManager(self.stream)
     self.mucman.set_handlers()
     for room in self.rooms_to_join:
         self.join_room(JID(room))