Package pyxmpp :: Package jabber :: Module muc :: Class MucRoomState

[hide private]

# Class MucRoomState

source code

Describes the state of a MUC room, handles room events and provides an interface for room actions.

Instance Methods | [hide private]

__init__(self, manager, own_jid, room_jid, handler) Initialize a MucRoomState object. | source code

MucRoomUser

get_user(self, nick_or_jid, create=False) Get a room user with given nick or JID. | source code

set_stream(self, stream) Called when current stream changes. | source code

join(self, password=None, history_maxchars=None, history_maxstanzas=None, history_seconds=None, history_since=None) Send a join request for the room. | source code

leave(self) Send a leave request for the room. | source code

send_message(self, body) Send a message to the room. | source code

set_subject(self, subject) Send a subject change request to the room. | source code

change_nick(self, new_nick) Send a nick change request to the room. | source code

JID

get_room_jid(self, nick=None) Get own room JID or a room JID for given `nick`. | source code

`unicode`

get_nick(self) Get own nick. | source code

process_available_presence(self, stanza) Process <presence/> received from the room. | source code

process_unavailable_presence(self, stanza) Process <presence type="unavailable"/> received from the room. | source code

process_groupchat_message(self, stanza) Process <message type="groupchat"/> received from the room. | source code

process_error_message(self, stanza) Process <message type="error"/> received from the room. | source code

process_error_presence(self, stanza) Process <presence type="error"/> received from the room. | source code

process_configuration_form_success(self, stanza) Process successful result of a room configuration form request. | source code

process_configuration_form_error(self, stanza) Process error response for a room configuration form request. | source code

`unicode`

request_configuration_form(self) Request a configuration form for the room. | source code

process_configuration_success(self, stanza) Process success response for a room configuration request. | source code

process_configuration_error(self, stanza) Process error response for a room configuration request. | source code

`unicode`

configure_room(self, form) Configure the room using the provided data. | source code

`unicode`

request_instant_room(self) Request an "instant room" -- the default configuration for a MUC room. | source code

Instance Variables | [hide private]

| configured : `False` if the room requires configuration.
| handler : MucRoomHandler object containing callbacks to be called.
| joined : True if the channel is joined.
| manager : MucRoomManager object managing this room.
| me : MucRoomUser instance of the owner.
| own_jid : real jid of the owner (client using this class).
| room_jid : room jid of the owner.
| subject : current subject of the room.
| users : dictionary of users in the room.

Method Details | [hide private]

### __init__(self, manager, own_jid, room_jid, handler)
(Constructor)

source code

Initialize a MucRoomState object.

Parameters:
  - `manager` (: MucRoomManager) - : an object to manage this room.
  - `own_jid` (: JID) - : real JID of the owner (client using this class).
  - `room_jid` (: JID) - : room JID of the owner (provides the room name and the nickname).
  - `handler` (: MucRoomHandler) - : an object to handle room events.

### get_user(self, nick_or_jid, create=False)

source code

Get a room user with given nick or JID.

Parameters:
  - `nick_or_jid` (: `unicode` or JID) - : the nickname or room JID of the user requested.
  - `create` (: `bool`) - : if `True` and `nick_or_jid` is a JID, then a new user object will be created if there is no such user in the room.
Returns: MucRoomUser
  the named user or `None`

### set_stream(self, stream)

source code

Called when current stream changes.

Mark the room not joined and inform self.handler that it was left.

Parameters:
  - `stream` (: pyxmpp.stream.Stream) - : the new stream.

### join(self, password=None, history_maxchars=None, history_maxstanzas=None, history_seconds=None, history_since=None)

source code

Send a join request for the room.

Parameters:
  - `password` (: `unicode`) - : password to the room.
  - `history_maxchars` (: `int`) - : limit of the total number of characters in history.
  - `history_maxstanzas` (: `int`) - : limit of the total number of messages in history.
  - `history_seconds` (: `int`) - : send only messages received in the last `history_seconds` seconds.
  - `history_since` (: `datetime.datetime`) - : Send only the messages received since the dateTime specified (UTC).

### send_message(self, body)

source code

Send a message to the room.

Parameters:
  - `body` (: `unicode`) - : the message body.

### set_subject(self, subject)

source code

Send a subject change request to the room.

Parameters:
  - `subject` (: `unicode`) - : the new subject.

### change_nick(self, new_nick)

source code

Send a nick change request to the room.

Parameters:
  - `new_nick` (: `unicode`) - : the new nickname requested.

### get_room_jid(self, nick=None)

source code

Get own room JID or a room JID for given `nick`.

Parameters:
  - `nick` (: `unicode`) - : a nick for which the room JID is requested.
Returns: JID
  the room JID.

### get_nick(self)

source code

Get own nick.

Returns: `unicode`
  own nick.

### process_available_presence(self, stanza)

source code

Process <presence/> received from the room.

Parameters:
  - `stanza` (: MucPresence) - : the stanza received.

### process_unavailable_presence(self, stanza)

source code

Process <presence type="unavailable"/> received from the room.

Parameters:
  - `stanza` (: MucPresence) - : the stanza received.

### process_groupchat_message(self, stanza)

source code

Process <message type="groupchat"/> received from the room.

Parameters:
  - `stanza` (: Message) - : the stanza received.

### process_error_message(self, stanza)

source code

Process <message type="error"/> received from the room.

Parameters:
  - `stanza` (: Message) - : the stanza received.

### process_error_presence(self, stanza)

source code

Process <presence type="error"/> received from the room.

Parameters:
  - `stanza` (: Presence) - : the stanza received.

### process_configuration_form_success(self, stanza)

source code

Process successful result of a room configuration form request.

Parameters:
  - `stanza` (: Presence) - : the stanza received.

### process_configuration_form_error(self, stanza)

source code

Process error response for a room configuration form request.

Parameters:
  - `stanza` (: Presence) - : the stanza received.

### request_configuration_form(self)

source code

Request a configuration form for the room.

When the form is received `self.handler.configuration_form_received` will be called. When an error response is received then `self.handler.error` will be called.

Returns: `unicode`
  id of the request stanza.

### process_configuration_success(self, stanza)

source code

Process success response for a room configuration request.

Parameters:
  - `stanza` (: Presence) - : the stanza received.

### process_configuration_error(self, stanza)

source code

Process error response for a room configuration request.

Parameters:
  - `stanza` (: Presence) - : the stanza received.

### configure_room(self, form)

source code

Configure the room using the provided data. Do nothing if the provided form is of type 'cancel'.

Parameters:
  - `form` (: Form) - : the configuration parameters. Should be a 'submit' form made by filling-in the configuration form retireved using self.request_configuration_form or a 'cancel' form.
Returns: `unicode`
  id of the request stanza or `None` if a 'cancel' form was provieded.

### request_instant_room(self)

source code

Request an "instant room" -- the default configuration for a MUC room.

Returns: `unicode`
  id of the request stanza.

Instance Variable Details | [hide private]

### users

: dictionary of users in the room. Nicknames are the keys.