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.