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