Esempio n. 1
0
 def messageHandler(self, cnx, msg):
     '''Message received'''
     fromUser = UserAccount(msg.getFrom())
     target = generateAddressable(msg.getTo(), [self], fromUser)
     if target is not None:
         try:
             return target.messageReceived(cnx, msg)
         except CommandTargetError, reason:
             error = reason
         except AmbiguousCommandError, e:
             args = list(e.args)
             error = _(COMMANDS, 'ambiguous_command').format(command=args.pop(0), matches=', '.join(args[0]))
Esempio n. 2
0
 def discoHandler(self, cnx, iq, what):
     '''Dispatcher for disco queries addressed to any JID hosted at the
        gateway, including the gateway itself. Calls discoReceived() on the
        user, the address or the gateway depending on the recipient.
        A note about querying users: You should normally query a user by
        their username. If you're an admin, you can additionally query them
        from their real JID, in any case.
     '''
     fromUser = UserAccount(iq.getFrom())
     target = generateAddressable(iq.getTo(), [self], fromUser)
     if target is not None:
         return target.discoReceived(fromUser, what, iq.getQuerynode())
Esempio n. 3
0
 def iqHandler(self, cnx, iq):
     '''IQ received'''
     fromUser = UserAccount(iq.getFrom())
     target = generateAddressable(iq.getTo(), [self], fromUser)
     if target is not None:
         return target.iqReceived(cnx, iq)
Esempio n. 4
0
 def presenceHandler(self, cnx, prs):
     '''Presence received.'''
     fromUser = UserAccount(prs.getFrom())
     target = generateAddressable(prs.getTo(), [self], fromUser)
     if target is not None:
         return target.presenceReceived(cnx, prs)