slixmpp/example.py

49 lines
1.6 KiB
Python
Raw Normal View History

2010-02-25 01:12:15 +00:00
# coding=utf8
2009-06-10 21:39:24 +00:00
import sleekxmpp
2009-06-03 22:56:51 +00:00
import logging
from optparse import OptionParser
import time
2010-02-27 02:02:08 +00:00
import sys
if sys.version_info < (3,0):
reload(sys)
sys.setdefaultencoding('utf8')
2010-02-25 01:12:15 +00:00
2009-06-10 21:39:24 +00:00
class Example(sleekxmpp.ClientXMPP):
2009-06-03 22:56:51 +00:00
def __init__(self, jid, password):
2009-06-10 21:39:24 +00:00
sleekxmpp.ClientXMPP.__init__(self, jid, password)
2009-06-03 22:56:51 +00:00
self.add_event_handler("session_start", self.start)
self.add_event_handler("message", self.message)
def start(self, event):
self.getRoster()
self.sendPresence()
2009-12-10 07:33:59 +00:00
def message(self, msg):
msg.reply("Thanks for sending\n%(body)s" % msg).send()
2009-06-03 22:56:51 +00:00
if __name__ == '__main__':
#parse command line arguements
optp = OptionParser()
optp.add_option('-q','--quiet', help='set logging to ERROR', action='store_const', dest='loglevel', const=logging.ERROR, default=logging.INFO)
optp.add_option('-d','--debug', help='set logging to DEBUG', action='store_const', dest='loglevel', const=logging.DEBUG, default=logging.INFO)
optp.add_option('-v','--verbose', help='set logging to COMM', action='store_const', dest='loglevel', const=5, default=logging.INFO)
optp.add_option("-c","--config", dest="configfile", default="config.xml", help="set config file to use")
opts,args = optp.parse_args()
logging.basicConfig(level=opts.loglevel, format='%(levelname)-8s %(message)s')
xmpp = Example('user@gmail.com/sleekxmpp', 'password')
xmpp.registerPlugin('xep_0030')
2009-06-03 22:56:51 +00:00
xmpp.registerPlugin('xep_0004')
xmpp.registerPlugin('xep_0060')
xmpp.registerPlugin('xep_0199')
if xmpp.connect(('talk.google.com', 5222)):
xmpp.process(threaded=False)
print("done")
else:
print("Unable to connect.")