Skip to content
This repository has been archived by the owner on Feb 19, 2020. It is now read-only.

How I can set special resouce for client? #361

Closed
strannik-j opened this issue Apr 27, 2015 · 2 comments
Closed

How I can set special resouce for client? #361

strannik-j opened this issue Apr 27, 2015 · 2 comments

Comments

@strannik-j
Copy link

Sorry, but i don't understand it...

import logging  

from sleekxmpp import ClientXMPP  
from sleekxmpp.exceptions import IqError, IqTimeout  


class EchoBot(ClientXMPP):

    def __init__(self, jid, password):
        ClientXMPP.__init__(self, jid, password)

        self.add_event_handler("session_start", self.session_start)
        self.add_event_handler("message", self.message)

        # If you wanted more functionality, here's how to register plugins:
        # self.register_plugin('xep_0030') # Service Discovery
        # self.register_plugin('xep_0199') # XMPP Ping

        # Here's how to access plugins once you've registered them:
        # self['xep_0030'].add_feature('echo_demo')

        # If you are working with an OpenFire server, you will
        # need to use a different SSL version:
        # import ssl
        # self.ssl_version = ssl.PROTOCOL_SSLv3

    def session_start(self, event):
        self.send_presence()
        self.get_roster()

        # Most get_*/set_* methods from plugins use Iq stanzas, which
        # can generate IqError and IqTimeout exceptions
        #
        # try:
        #     self.get_roster()
        # except IqError as err:
        #     logging.error('There was an error getting the roster')
        #     logging.error(err.iq['error']['condition'])
        #     self.disconnect()
        # except IqTimeout:
        #     logging.error('Server is taking too long to respond')
        #     self.disconnect()

    def message(self, msg):
        if msg['type'] in ('chat', 'normal'):
            msg.reply("Thanks for sending\n%(body)s" % msg).send()


if __name__ == '__main__':
    # Ideally use optparse or argparse to get JID,
    # password, and log level.

    logging.basicConfig(level=logging.DEBUG,
                        format='%(levelname)-8s %(message)s')

    xmpp = EchoBot('somejid@example.com', 'use_getpass')
    xmpp.connect()
    xmpp.process(block=True)
@fritzy
Copy link
Owner

fritzy commented Apr 27, 2015

The jid option can be a full jid, including a resource. In this case:

xmpp = EchoBot('somejid@example.com/special_resource', 'use_getpass')

@fritzy fritzy closed this as completed Apr 27, 2015
@strannik-j
Copy link
Author

ThanQ!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants