mirror of
https://github.com/correl/SleekXMPP.git
synced 2024-12-29 03:00:16 +00:00
Update examples to work with Python3 (raw_input vs input)
This commit is contained in:
parent
8d998d71a3
commit
015f662249
10 changed files with 49 additions and 10 deletions
|
@ -24,6 +24,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class CommandBot(sleekxmpp.ClientXMPP):
|
||||
|
@ -79,9 +81,21 @@ class CommandBot(sleekxmpp.ClientXMPP):
|
|||
here to persist across handler callbacks.
|
||||
"""
|
||||
form = self['xep_0004'].makeForm('form', 'Greeting')
|
||||
form['instructions'] = 'Send a custom greeting to a JID'
|
||||
form.addField(var='greeting',
|
||||
ftype='text-single',
|
||||
label='Your greeting')
|
||||
form.addField(var='recipient',
|
||||
ftype='jid-single',
|
||||
label='Who to greet')
|
||||
form.addField(var='message',
|
||||
ftype='text-multi',
|
||||
label='Your message')
|
||||
form.addField(var='demobool',
|
||||
ftype='boolean',
|
||||
label='Test booleans',
|
||||
desc='Test default values too',
|
||||
value=True)
|
||||
|
||||
session['payload'] = form
|
||||
session['next'] = self._handle_command_complete
|
||||
|
@ -123,8 +137,14 @@ class CommandBot(sleekxmpp.ClientXMPP):
|
|||
form = payload
|
||||
|
||||
greeting = form['values']['greeting']
|
||||
self.send_message(mto=session['from'],
|
||||
mbody="%s, World!" % greeting)
|
||||
recipient = form['values']['recipient']
|
||||
message = '\n'.join(form['values']['message'])
|
||||
|
||||
if recipient is None:
|
||||
recipient = session['from']
|
||||
self.send_message(mto=recipient,
|
||||
mbody="%s, %s!\n%s" % (greeting, recipient, message),
|
||||
mtype='chat')
|
||||
|
||||
# Having no return statement is the same as unsetting the 'payload'
|
||||
# and 'next' session values and returning the session.
|
||||
|
@ -176,6 +196,7 @@ if __name__ == '__main__':
|
|||
xmpp.register_plugin('xep_0030') # Service Discovery
|
||||
xmpp.register_plugin('xep_0004') # Data Forms
|
||||
xmpp.register_plugin('xep_0050') # Adhoc Commands
|
||||
xmpp.register_plugin('xep_0199', {'keepalive': True, 'frequency':15})
|
||||
|
||||
# If you are working with an OpenFire server, you may need
|
||||
# to adjust the SSL version used:
|
||||
|
|
|
@ -24,6 +24,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class CommandUserBot(sleekxmpp.ClientXMPP):
|
||||
|
|
|
@ -27,6 +27,8 @@ from sleekxmpp.xmlstream.stanzabase import ET, registerStanzaPlugin
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class Config(ElementBase):
|
||||
|
|
|
@ -25,6 +25,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class Disco(sleekxmpp.ClientXMPP):
|
||||
|
|
|
@ -24,6 +24,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class EchoBot(sleekxmpp.ClientXMPP):
|
||||
|
@ -34,7 +36,7 @@ class EchoBot(sleekxmpp.ClientXMPP):
|
|||
"""
|
||||
|
||||
def __init__(self, jid, password):
|
||||
sleekxmpp.ClientXMPP.__init__(self, jid, password)
|
||||
sleekxmpp.ClientXMPP.__init__(self, jid, password, plugin_config={'feature_mechanisms': {'use_mech': 'PLAIN'}})
|
||||
|
||||
# The session_start event will be triggered when
|
||||
# the bot establishes its connection with the server
|
||||
|
|
|
@ -23,6 +23,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class MUCBot(sleekxmpp.ClientXMPP):
|
||||
|
@ -59,7 +61,7 @@ class MUCBot(sleekxmpp.ClientXMPP):
|
|||
# muc::room@server::got_online, or muc::room@server::got_offline.
|
||||
self.add_event_handler("muc::%s::got_online" % self.room,
|
||||
self.muc_online)
|
||||
|
||||
|
||||
|
||||
def start(self, event):
|
||||
"""
|
||||
|
@ -76,15 +78,15 @@ class MUCBot(sleekxmpp.ClientXMPP):
|
|||
"""
|
||||
self.getRoster()
|
||||
self.sendPresence()
|
||||
self.plugin['xep_0045'].joinMUC(self.room,
|
||||
self.nick,
|
||||
self.plugin['xep_0045'].joinMUC(self.room,
|
||||
self.nick,
|
||||
# If a room password is needed, use:
|
||||
# password=the_room_password,
|
||||
wait=True)
|
||||
|
||||
def muc_message(self, msg):
|
||||
"""
|
||||
Process incoming message stanzas from any chat room. Be aware
|
||||
Process incoming message stanzas from any chat room. Be aware
|
||||
that if you also have any handlers for the 'message' event,
|
||||
message stanzas may be processed by both handlers, so check
|
||||
the 'type' attribute when using a 'message' event handler.
|
||||
|
@ -96,7 +98,7 @@ class MUCBot(sleekxmpp.ClientXMPP):
|
|||
otherwise you will create an infinite loop responding
|
||||
to your own messages.
|
||||
|
||||
This handler will reply to messages that mention
|
||||
This handler will reply to messages that mention
|
||||
the bot's nickname.
|
||||
|
||||
Arguments:
|
||||
|
@ -112,12 +114,12 @@ class MUCBot(sleekxmpp.ClientXMPP):
|
|||
def muc_online(self, presence):
|
||||
"""
|
||||
Process a presence stanza from a chat room. In this case,
|
||||
presences from users that have just come online are
|
||||
presences from users that have just come online are
|
||||
handled by sending a welcome message that includes
|
||||
the user's nickname and role in the room.
|
||||
|
||||
Arguments:
|
||||
presence -- The received presence stanza. See the
|
||||
presence -- The received presence stanza. See the
|
||||
documentation for the Presence stanza
|
||||
to see how else it may be used.
|
||||
"""
|
||||
|
|
|
@ -24,6 +24,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class PingTest(sleekxmpp.ClientXMPP):
|
||||
|
|
|
@ -24,6 +24,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class EchoBot(sleekxmpp.ClientXMPP):
|
||||
|
|
|
@ -27,6 +27,8 @@ from sleekxmpp.exceptions import IqError, IqTimeout
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class RosterBrowser(sleekxmpp.ClientXMPP):
|
||||
|
|
|
@ -24,6 +24,8 @@ import sleekxmpp
|
|||
if sys.version_info < (3, 0):
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf8')
|
||||
else:
|
||||
raw_input = input
|
||||
|
||||
|
||||
class SendMsgBot(sleekxmpp.ClientXMPP):
|
||||
|
|
Loading…
Reference in a new issue