XEP-0444: Message Reactions¶
- class slixmpp.plugins.xep_0444.XEP_0444(xmpp, config=None)[source]¶
XEP-0444: Message Reactions.
If the python-emoji library is present, setting emojis as reactions will be checked against known emoji, and trying to set non-emoji characters as reactions will raise a
ValueError. This behavior can be disabled by passingall_chars=Trueto theReaction.set_value()call.- dependencies: ClassVar[set[str]] = {'xep_0030', 'xep_0334'}¶
Some plugins may depend on others in order to function properly. Any plugin names included in
dependencieswill be initialized as needed if this plugin is enabled.
- description: str = 'XEP-0444: Message Reactions'¶
A longer name for the plugin, describing its purpose. For example, a plugin for XEP-0030 would use ‘Service Discovery’ as its description value.
- name: str = 'xep_0444'¶
A short name for the plugin based on the implemented specification. For example, a plugin for XEP-0030 would use ‘xep_0030’.
- send_reactions(to, to_id, reactions, *, store=True)[source]¶
Send reactions related to a message.
- Parameters:
to (
JID) – JID to which the reactions will be sent.to_id (
str) – ID of the message being reacted to.reactions (
Iterable[str]) – Iterable object containing all reactions to set.store – If the store hint should be set on the message.
Stanza elements¶
- class slixmpp.plugins.xep_0444.stanza.Reaction(xml=None, parent=None)[source]¶
Single reaction element.
<reaction>💜</reaction>
- interfaces: ClassVar[set[str]] = {'value'}¶
The set of keys that the stanza provides for accessing and manipulating the underlying XML object. This set may be augmented with the
plugin_attribvalue of any registered stanza plugins.
- name: ClassVar[str] = 'reaction'¶
The XML tag name of the element, not including any namespace prefixes. For example, an
ElementBaseobject for<message />would usename = 'message'.
- namespace: str = 'urn:xmpp:reactions:0'¶
The XML namespace for the element. Given
<foo xmlns="bar" />, thennamespace = "bar"should be used. The default namespace isjabber:clientsince this is being used in an XMPP library.
- class slixmpp.plugins.xep_0444.stanza.Reactions(xml=None, parent=None)[source]¶
Reactions element.
<reactions id='744f6e18-a57a-11e9-a656-4889e7820c76' xmlns='urn:xmpp:reactions:0'> <reaction>👋</reaction> <reaction>🐢</reaction> </reactions>
- interfaces: ClassVar[set[str]] = {'id', 'values'}¶
The set of keys that the stanza provides for accessing and manipulating the underlying XML object. This set may be augmented with the
plugin_attribvalue of any registered stanza plugins.
- name: ClassVar[str] = 'reactions'¶
The XML tag name of the element, not including any namespace prefixes. For example, an
ElementBaseobject for<message />would usename = 'message'.
- namespace: str = 'urn:xmpp:reactions:0'¶
The XML namespace for the element. Given
<foo xmlns="bar" />, thennamespace = "bar"should be used. The default namespace isjabber:clientsince this is being used in an XMPP library.
- plugin_attrib: ClassVar[str] = 'reactions'¶
For
ElementBasesubclasses which are intended to be used as plugins, theplugin_attribvalue defines the plugin name. Plugins may be accessed by using theplugin_attribvalue as the interface. An example usingplugin_attrib = 'foo':register_stanza_plugin(Message, FooPlugin) msg = Message() msg['foo']['an_interface_from_the_foo_plugin']