# salt.modules.xmpp

Module for Sending Messages via XMPP (a.k.a. Jabber)

Added in version 2014.1.0.

depends:

  - sleekxmpp>=1.3.1

  - pyasn1

  - pyasn1-modules

  - dnspython

configuration:

  This module can be used by either passing a jid and password directly to send_message, or by specifying the name of a configuration profile in the minion config, minion pillar, or master config.

  For example:

      my-xmpp-login:
          xmpp.jid: myuser@jabber.example.org/resourcename
          xmpp.password: verybadpass

  The resourcename refers to the resource that is using this account. It is user-definable, and optional. The following configurations are both valid:

      my-xmpp-login:
          xmpp.jid: myuser@jabber.example.org/salt
          xmpp.password: verybadpass

      my-xmpp-login:
          xmpp.jid: myuser@jabber.example.org
          xmpp.password: verybadpass

class salt.modules.xmpp.SendMsgBot(jid, password, recipient, msg)
  classmethod create_multi(jid, password, msg, recipients=None, rooms=None, nick='SaltStack Bot')

    Alternate constructor that accept multiple recipients and rooms

  start(event)

class salt.modules.xmpp.SleekXMPPMUC(name='')
  filter(record)

    Determine if the specified record is to be logged.

    Returns True if the record should be logged, or False otherwise. If deemed appropriate, the record may be modified in-place.

salt.modules.xmpp.send_msg(recipient, message, jid=None, password=None, profile=None)

  Send a message to an XMPP recipient. Designed for use in states.

  CLI Examples:

      xmpp.send_msg 'admins@xmpp.example.com' 'This is a salt module test'             profile='my-xmpp-account'
      xmpp.send_msg 'admins@xmpp.example.com' 'This is a salt module test'             jid='myuser@xmpp.example.com/salt' password='verybadpass'

salt.modules.xmpp.send_msg_multi(message, recipients=None, rooms=None, jid=None, password=None, nick='SaltStack Bot', profile=None)

  Send a message to an XMPP recipient, support send message to multiple recipients or chat room.

  CLI Examples:

      xmpp.send_msg recipients=['admins@xmpp.example.com']             rooms=['secret@conference.xmpp.example.com']             'This is a salt module test'             profile='my-xmpp-account'
      xmpp.send_msg recipients=['admins@xmpp.example.com']             rooms=['secret@conference.xmpp.example.com']            'This is a salt module test'             jid='myuser@xmpp.example.com/salt' password='verybadpass'