google.appengine.api.xmpp package

Submodules

Module contents

XMPP API.

This module allows AppEngine apps to interact with a bot representing that app on the Google Talk network.

Functions defined in this module:

send_message: Sends a chat message to any number of JIDs. send_invite: Sends an invitation to chat to a JID. send_presence: Sends a presence to a JID.

get_presence: Method to get the presence for a JID.

Classes defined in this module:
Message: A class to encapsulate received messages.
exception google.appengine.api.xmpp.Error[source]

Bases: exceptions.Exception

Base error class for this module.

exception google.appengine.api.xmpp.InvalidJidError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a request for an invalid JID.

exception google.appengine.api.xmpp.InvalidMessageError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a received message was invalid or incomplete.

exception google.appengine.api.xmpp.InvalidShowError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a send presence request has an invalid show.

exception google.appengine.api.xmpp.InvalidStatusError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a send presence request has an invalid status.

exception google.appengine.api.xmpp.InvalidTypeError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a request has an invalid type.

exception google.appengine.api.xmpp.InvalidXmlError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a send message request has invalid XML.

class google.appengine.api.xmpp.Message(vars)[source]

Bases: object

Encapsulates an XMPP message received by the application.

arg
body
command
reply(body, message_type='chat', raw_xml=False, send_message=<function send_message>)[source]

Convenience function to reply to a message.

Args:
body: str: The body of the message message_type, raw_xml: As per send_message. send_message: Used for testing.
Returns:
A status code as per send_message.
Raises:
See send_message.
sender
to
exception google.appengine.api.xmpp.NoBodyError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates a send message request has no body.

exception google.appengine.api.xmpp.NondefaultModuleError[source]

Bases: google.appengine.api.xmpp.Error

Error that indicates the XMPP API was used from a non-default module.

google.appengine.api.xmpp.get_presence(jid, from_jid=None, get_show=False)[source]

Gets the presence for a JID.

Args:
jid: The JID of the contact whose presence is requested. This may also be a
list of JIDs, which also implies get_show (below).
from_jid: The optional custom JID to use for sending. Currently, the default
is <appid>@appspot.com. This is supported as a value. Custom JIDs can be of the form <anything>@<appid>.appspotchat.com.
get_show: if True, return a tuple of (is_available, show). If a list of jids
is given, this will always be True.
Returns:

At minimum, a boolean is_available representing whether the requested JID is available.

If get_show is specified, a tuple (is_available, show) will be given.

If a list of JIDs is given, a list of tuples will be returned, including is_available, show, and an additional boolean indicating if that JID was valid.

Raises:
InvalidJidError: Raised if no JID passed in is valid. Error: if an unspecified error happens processing the request.
google.appengine.api.xmpp.send_invite(jid, from_jid=None)[source]

Sends an invitation to chat to a JID.

Args:

jid: The JID of the contact to invite. from_jid: The optional custom JID to use for sending. Currently, the default

is <appid>@appspot.com. This is supported as a value. Custom JIDs can be of the form <anything>@<appid>.appspotchat.com.
Raises:
InvalidJidError if the JID passed is invalid. Error if an unspecified error happens processing the request.
google.appengine.api.xmpp.send_message(jids, body, from_jid=None, message_type='chat', raw_xml=False)[source]

Sends a chat message to a list of JIDs.

Args:
jids: A list of JIDs to send the message to, or a single JID to send the
message to.
from_jid: The optional custom JID to use for sending. Currently, the default
is <appid>@appspot.com. This is supported as a value. Custom JIDs can be of the form <anything>@<appid>.appspotchat.com.

body: The body of the message. message_type: Optional type of the message. Should be one of the types

specified in RFC 3921, section 2.1.1. An empty string will result in a message stanza without a type attribute. For convenience, all of the valid types are in the MESSAGE_TYPE_* constants in this file. The default is MESSAGE_TYPE_CHAT. Anything else will throw an exception.
raw_xml: Optionally specifies that the body should be interpreted as XML. If
this is false, the contents of the body will be escaped and placed inside of a body element inside of the message. If this is true, the contents will be made children of the message.
Returns:
list, A list of statuses, one for each JID, corresponding to the result of
sending the message to that JID. Or, if a single JID was passed in, returns the status directly.
Raises:
InvalidJidError if there is no valid JID in the list. InvalidTypeError if the type argument is invalid. InvalidXmlError if the body is malformed XML and raw_xml is True. NoBodyError if there is no body. Error if another error occurs processing the request.
google.appengine.api.xmpp.send_presence(jid, status=None, from_jid=None, presence_type='', presence_show='')[source]

Sends a presence to a given JID.

Args:

jid: A JID to send the presence to. status: The optional status message. Size is limited to 1KB. from_jid: The optional custom JID to use for sending. Currently, the default

is <appid>@appspot.com. This is supported as a value. Custom JIDs can be of the form <anything>@<appid>.appspotchat.com.
presence_type: Optional type of the presence. This accepts a subset of the
types specified in RFC 3921, section 2.2.1. An empty string will result in a presence stanza without a type attribute. For convenience, all of the valid types are in the PRESENCE_TYPE_* constants in this file. The default is PRESENCE_TYPE_AVAILABLE. Anything else will throw an exception.
presence_show: Optional show value for the presence. Should be one of the
values specified in RFC 3921, section 2.2.2.1. An empty string will result in a presence stanza without a show element. For convenience, all of the valid types are in the PRESENCE_SHOW_* constants in this file. The default is PRESENCE_SHOW_NONE. Anything else will throw an exception.
Raises:
InvalidJidError if there is no valid JID in the list. InvalidTypeError if the type argument is invalid. InvalidShowError if the show argument is invalid. InvalidStatusError if the status argument is too large. Error if another error occurs processing the request.