def __init__(self): ClientXMPP.__init__(self, FCM_JID, FCM_SERVER_KEY, sasl_mech="PLAIN") self.add_event_handler("session_start", self.start) self.auto_reconnect = False self.connect((FCM_SERVER_IP, FCM_SERVER_PORT), use_tls=True, reattempt=True) print("Connected!!") self.process(block=True) print("Process Done!!")
def __init__(self, *args): ConfigurableComponent.__init__(self, "XMPPBOT", *args) if self.config.get('password', None) is None: self.config.password = std_uuid() self.config.save() ClientXMPP.__init__(self, self.config.jid, self.config.password) self.add_event_handler("session_start", self.session_start) self.add_event_handler("message", self.message) # Discard SSL Error self.add_event_handler("ssl_invalid_cert", self.discard) # 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 import ssl self.ssl_version = ssl.PROTOCOL_SSLv23 self.log('Connecting bot to ejabberd') self.connect(use_tls=True) self.log('Processing ejabberd connection') self.process(block=False) self.auto_authorize = True self.auto_subscribe = True self.send_presence(pfrom='claptrap@localhost', pstatus='Curiouser and curiouser!', pshow='xa') self.fireEvent(cli_register_event('test_xmpp_send', cli_test_xmpp_send)) self.log("Started")
def __init__(self, active_alerter, alerter_model): ''' Constructor :param active_alerter: The parent alerter for the chat :param alerter_model: The database alerter model associated with the bot ''' # Initialises the connection ClientXMPP.__init__(self, '{}@{}/{}'.format(alerter_model.username, Constants.CHAT_SERVER, Constants.CHAT_RESOURCE), 'AIR_{}'.format(alerter_model.password)) # Automatically add new friends? self.auto_authorize = None self.auto_subscribe = True self.auto_reconnect = True self.ssl_version = ssl.PROTOCOL_SSLv3 # Add the event handlers self.add_event_handler('session_start', self.session_start) self.add_event_handler('message', self.got_message) self.add_event_handler('got_online', self.got_online) self.add_event_handler('got_offline', self.got_offline) self.add_event_handler('presence_subscribe', self.presence_subscribe) self.add_event_handler('presence_unsubscribe', self.presence_unsubscribe) self.add_event_handler('disconnected', self.disconnected) self.add_event_handler('failed_auth', self.failed_auth) # Presence change events self.add_event_handler('presence_available', self.handle_presence) self.add_event_handler('presence_dnd', self.handle_presence) self.add_event_handler('presence_xa', self.handle_presence) self.add_event_handler('presence_chat', self.handle_presence) self.add_event_handler('presence_away', self.handle_presence) self.alerter = active_alerter self.model = alerter_model