Skip to content
Back to top
View this page

# XEP-0437: Room Activity Indicators

XEP-0437 on xmpp.org

class slixmpp.plugins.xep_0437.XEP_0437(xmpp, config=None)

  XEP-0437: Room Activity Indicators plugin

  Defines two events:

  - `room_activity_bare`: useful for components receiving a subscription request.

  - `room_activity`: when receiving a room activity.

  subscribe(service, *, pfrom=None)

    Subscribe to room activity on a MUC service.

    Parameters:

      - service (`JID`) – MUC service

      - pfrom (`JID` | `None`) – JID the subscribe request is sent from (for components).

  unsubscribe(service, *, pfrom=None)

    Unsubscribe from room activity on a MUC service.

    Parameters:

      - service (`JID`) – MUC service.

      - pfrom (`JID` | `None`) – JID the unsubscribe request is sent from (for components).

## Stanza elements

class slixmpp.plugins.xep_0437.stanza.Activity(xml=None, parent=None)
  name: ClassVar[str] = 'activity'

    The XML tag name of the element, not including any namespace prefixes. For example, an `ElementBase` object for `<message />` would use `name = 'message'`.

  namespace: str = 'urn:xmpp:rai:0'

    The XML namespace for the element. Given `<foo xmlns="bar" />`, then `namespace = "bar"` should be used. The default namespace is `jabber:client` since this is being used in an XMPP library.

  plugin_attrib: ClassVar[str] = 'activity'

    For `ElementBase` subclasses which are intended to be used as plugins, the `plugin_attrib` value defines the plugin name. Plugins may be accessed by using the `plugin_attrib` value as the interface. An example using `plugin_attrib = 'foo'`:

        register_stanza_plugin(Message, FooPlugin)
        msg = Message()
        msg['foo']['an_interface_from_the_foo_plugin']

class slixmpp.plugins.xep_0437.stanza.RAI(xml=None, parent=None)

  Room Activity Indicator element

      <rai xmlns="urn:xmpp:rai:0">
        <activity>room1@conference.example.com</activity>
        <activity>room3@conference.example.com</activity>
      </rai>

  del_activities()
  get_activities()
    Return type:

      `Iterable`[`JID`]

  interfaces: ClassVar[set[str]] = {'activities'}

    The set of keys that the stanza provides for accessing and manipulating the underlying XML object. This set may be augmented with the `plugin_attrib` value of any registered stanza plugins.

  name: ClassVar[str] = 'rai'

    The XML tag name of the element, not including any namespace prefixes. For example, an `ElementBase` object for `<message />` would use `name = 'message'`.

  namespace: str = 'urn:xmpp:rai:0'

    The XML namespace for the element. Given `<foo xmlns="bar" />`, then `namespace = "bar"` should be used. The default namespace is `jabber:client` since this is being used in an XMPP library.

  plugin_attrib: ClassVar[str] = 'rai'

    For `ElementBase` subclasses which are intended to be used as plugins, the `plugin_attrib` value defines the plugin name. Plugins may be accessed by using the `plugin_attrib` value as the interface. An example using `plugin_attrib = 'foo'`:

        register_stanza_plugin(Message, FooPlugin)
        msg = Message()
        msg['foo']['an_interface_from_the_foo_plugin']

  set_activities(activities)

slixmpp.plugins.xep_0437.stanza.register_plugins()