本文整理汇总了Python中sleekxmpp.ClientXMPP.del_event_handler方法的典型用法代码示例。如果您正苦于以下问题:Python ClientXMPP.del_event_handler方法的具体用法?Python ClientXMPP.del_event_handler怎么用?Python ClientXMPP.del_event_handler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sleekxmpp.ClientXMPP
的用法示例。
在下文中一共展示了ClientXMPP.del_event_handler方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: XMPPConnection
# 需要导入模块: from sleekxmpp import ClientXMPP [as 别名]
# 或者: from sleekxmpp.ClientXMPP import del_event_handler [as 别名]
class XMPPConnection(object):
def __init__(self, jid, password, feature=None, keepalive=None, ca_cert=None, server=None, use_ipv6=None, bot=None):
if feature is None:
feature = {}
self._bot = bot
self.connected = False
self.server = server
self.client = ClientXMPP(jid, password, plugin_config={'feature_mechanisms': feature})
self.client.register_plugin('xep_0030') # Service Discovery
self.client.register_plugin('xep_0045') # Multi-User Chat
self.client.register_plugin('xep_0199') # XMPP Ping
self.client.register_plugin('xep_0203') # XMPP Delayed messages
self.client.register_plugin('xep_0249') # XMPP direct MUC invites
if keepalive is not None:
self.client.whitespace_keepalive = True # Just in case SleekXMPP's default changes to False in the future
self.client.whitespace_keepalive_interval = keepalive
if use_ipv6 is not None:
self.client.use_ipv6 = use_ipv6
self.client.ca_certs = ca_cert # Used for TLS certificate validation
self.client.add_event_handler("session_start", self.session_start)
def session_start(self, _):
self.client.send_presence()
self.client.get_roster()
def connect(self):
if not self.connected:
if self.server is not None:
self.client.connect(self.server)
else:
self.client.connect()
self.connected = True
return self
def disconnect(self):
self.client.disconnect(wait=True)
self.connected = False
def serve_forever(self):
self.client.process(block=True)
def add_event_handler(self, name, cb):
self.client.add_event_handler(name, cb)
def del_event_handler(self, name, cb):
self.client.del_event_handler(name, cb)
示例2: XMPPConnection
# 需要导入模块: from sleekxmpp import ClientXMPP [as 别名]
# 或者: from sleekxmpp.ClientXMPP import del_event_handler [as 别名]
class XMPPConnection(object):
def __init__(self, jid, password, feature=None, keepalive=None, ca_cert=None, server=None, bot=None):
if feature is not None:
feature = {}
self._bot = bot
self.connected = False
self.server = server
self.client = ClientXMPP(jid, password, plugin_config={'feature_mechanisms': feature})
self.client.register_plugin('xep_0030') # Service Discovery
self.client.register_plugin('xep_0045') # Multi-User Chat
self.client.register_plugin('xep_0004') # Multi-User Chat backward compability (necessary for join room)
self.client.register_plugin('xep_0199') # XMPP Ping
self.client.register_plugin('xep_0203') # XMPP Delayed messages
self.client.register_plugin('xep_0249') # XMPP direct MUC invites
if keepalive is not None:
self.client.whitespace_keepalive = True # Just in case SleekXMPP's default changes to False in the future
self.client.whitespace_keepalive_interval = keepalive
self.client.ca_certs = ca_cert # Used for TLS certificate validation
self.client.add_event_handler("session_start", self.session_start)
self.client.add_event_handler("ssl_invalid_cert", self.ssl_invalid_cert)
def session_start(self, _):
self.client.send_presence()
self.client.get_roster()
def ssl_invalid_cert(self, _):
# Special quirk for google domains
verify_gtalk_cert(self.client)
def connect(self):
if not self.connected:
if self.server is not None:
self.client.connect(self.server)
else:
self.client.connect()
self.connected = True
return self
def disconnect(self):
self.client.disconnect(wait=True)
self.connected = False
def serve_forever(self):
self.client.process(block=True)
def add_event_handler(self, name, cb):
self.client.add_event_handler(name, cb)
def del_event_handler(self, name, cb):
self.client.del_event_handler(name, cb)
def join_room(self, room, username, password):
"""
Attempt to join the given MUC
.. deprecated:: 2.2.0
Use the methods on :class:`XMPPMUCRoom` instead.
"""
warnings.warn(
"Using join_room is deprecated, use join from the "
"MUCRoom class instead.",
DeprecationWarning
)
self._bot.query_room(room).join(username=username, password=password)
def configure_room(self, room):
"""
Configure the given MUC
Currently this simply sets the default room configuration as
received by the server. May be extended in the future to set
a custom room configuration instead.
.. deprecated:: 2.2.0
Use the methods on :class:`XMPPMUCRoom` instead.
"""
warnings.warn(
"Using configure_room is deprecated, use configure from the "
"MUCRoom class instead.",
DeprecationWarning
)
self._bot.query_room(room).configure()
def invite_in_room(self, room, jids_to_invite):
"""
.. deprecated:: 2.2.0
Use the methods on :class:`XMPPMUCRoom` instead.
"""
warnings.warn(
"Using invite_in_room is deprecated, use invite from the "
"MUCRoom class instead.",
DeprecationWarning,
)
self._bot.query_room(room).invite(jids_to_invite)
示例3: XMPPConnection
# 需要导入模块: from sleekxmpp import ClientXMPP [as 别名]
# 或者: from sleekxmpp.ClientXMPP import del_event_handler [as 别名]
class XMPPConnection(Connection):
def __init__(self, jid, password):
self.connected = False
self.client = ClientXMPP(jid, password, plugin_config={'feature_mechanisms': XMPP_FEATURE_MECHANISMS})
self.client.register_plugin('xep_0030') # Service Discovery
self.client.register_plugin('xep_0045') # Multi-User Chat
self.client.register_plugin('xep_0004') # Multi-User Chat backward compability (necessary for join room)
self.client.register_plugin('xep_0199') # XMPP Ping
self.client.register_plugin('xep_0203') # XMPP Delayed messages
self.client.register_plugin('xep_0249') # XMPP direct MUC invites
if XMPP_KEEPALIVE_INTERVAL is not None:
self.client.whitespace_keepalive = True # Just in case SleekXMPP's default changes to False in the future
self.client.whitespace_keepalive_interval = XMPP_KEEPALIVE_INTERVAL
self.client.ca_certs = XMPP_CA_CERT_FILE # Used for TLS certificate validation
self.client.add_event_handler("session_start", self.session_start)
self.client.add_event_handler("ssl_invalid_cert", self.ssl_invalid_cert)
def send_message(self, mess):
self.client.send_message(mto=mess.getTo(),
mbody=mess.getBody(),
mtype=mess.getType(),
mhtml=mess.getHTML())
def session_start(self, _):
self.client.send_presence()
self.client.get_roster()
def ssl_invalid_cert(self, _):
# Special quirk for google domains
verify_gtalk_cert(self.client)
def connect(self):
if not self.connected:
self.client.connect()
self.connected = True
return self
def disconnect(self):
self.client.disconnect(wait=True)
self.connected = False
def serve_forever(self):
self.client.process(block=True)
def add_event_handler(self, name, cb):
self.client.add_event_handler(name, cb)
def del_event_handler(self, name, cb):
self.client.del_event_handler(name, cb)
def join_room(self, room, username, password):
"""Attempt to join the given MUC"""
muc = self.client.plugin['xep_0045']
muc.joinMUC(room,
username,
password=password,
wait=True)
# Room configuration can only be done once a MUC presence stanza
# has been received from the server. This HAS to take place in a
# separate thread because of how SleekXMPP processes these stanzas.
t = Thread(target=self.configure_room, args=[room])
t.setDaemon(True)
t.start()
def configure_room(self, room):
"""
Configure the given MUC
Currently this simply sets the default room configuration as
received by the server. May be extended in the future to set
a custom room configuration instead.
"""
muc = self.client.plugin['xep_0045']
affiliation = None
while affiliation is None:
sleep(0.5)
affiliation = muc.getJidProperty(
room=room,
nick=muc.ourNicks[room],
jidProperty='affiliation'
)
if affiliation == "owner":
logging.debug("Configuring room {} because we have owner affiliation".format(room))
form = muc.getRoomConfig(room)
muc.configureRoom(room, form)
else:
logging.debug("Not configuring room {} because we don't have owner affiliation (affiliation={})"
.format(room, affiliation))
def invite_in_room(self, room, jids_to_invite):
muc = self.client.plugin['xep_0045']
for jid in jids_to_invite:
logging.debug("Inviting %s to %s..." % (jid, room))
muc.invite(room, jid)