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]))
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())
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)
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)