john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

xmpp client sleekxmpp

import sys
if sys.version_info < (3, 0):
    reload(sys)
    sys.setdefaultencoding('utf8')


import argparse
import logging
import sleekxmpp


class MUCBot(sleekxmpp.ClientXMPP):

    # def __init__(self, jid, password, room, nick):
    def __init__(self, jid, password):
        sleekxmpp.ClientXMPP.__init__(self, jid, password)

        # self.room = room
        # self.nick = nick
        self.add_event_handler("session_start", self.start)
        # xmpp.register_plugin('xep_0045')

    def start(self, event):
        # self.get_roster()
        self.send_presence()
        # self.plugin['xep_0045'].joinMUC(self.room, self.nick, wait=True)


if __name__ == '__main__':

    parser = argparse.ArgumentParser()
    parser.add_argument('--jid', help='JID', required=True)
    parser.add_argument('--password', help='password', required=True)
    parser.add_argument('--server', help='XMPP Server', required=True)
    parser.add_argument('--logfile', help='log file', default='/tmp/hcxmpptester.log')
    args = parser.parse_args()

    logging_output = args.logfile
    logging_level = logging.INFO
    logging.basicConfig(
        name='hcxmpptester',
        level=logging_level,
        format='%(asctime)s %(levelname)s %(message)s',
        filename=logging_output,
        filemode='a')

    try:
        xmpp = MUCBot(args.jid, args.password)
        logging.info('Connecting to: {}'.format(args.server + ':5222'))
        if xmpp.connect(('chat.hipchat.com', 5222)):
        # if xmpp.connect((args.server, 5222)):
            logging.info('Connected to: {}'.format(args.server + ':5222'))
            xmpp.process(block=True)
        else:
            logging.error('Unable to connect to: {}' + args.server + ':5222')

    except KeyboardInterrupt:
        pass
    except Exception as error:
        logging.info('Exiting due to Exception: {}'.format(error))

  • « Mercurial to git conversion
  • configparser postfix config main stringio workaround »

Published

Feb 26, 2014

Category

python-twisted

~116 words

Tags

  • client 14
  • python 180
  • sleekxmpp 1
  • twisted 20
  • xmpp 4