# ``twisted`.`words`.`iwords`.`IChatClient``

interface documentation

`class IChatClient(Interface): (source)`

Known implementations: `twisted.words.service.ChatAvatar`, `twisted.words.service.IRCUser`, `twisted.words.service.PBMindReference`

View In Hierarchy

Interface through which IChatService interacts with clients.

Method | `groupMetaUpdate` | Callback notifying this user that the metadata for the given group has changed.
Method | `receive` | Callback notifying this user of the given message sent by the given user.
Method | `userJoined` | Callback notifying this user that the given user has joined the given group.
Method | `userLeft` | Callback notifying this user that the given user has left the given group for the given reason.
Attribute | `name` | A short string, unique among users. This will be set by the `IChatService` at login time.

def groupMetaUpdate(group, meta): (source)
Callback notifying this user that the metadata for the given group has changed.

Parameters
group:`IGroup` | Undocumented
meta:`dict` | Undocumented
Returns
`twisted.internet.defer.Deferred` | Undocumented

def receive(sender, recipient, message): (source)

Callback notifying this user of the given message sent by the given user.

This will be invoked whenever another user sends a message to a group this user is participating in, or whenever another user sends a message directly to this user. In the former case, `recipient` will be the group to which the message was sent; in the latter, it will be the same object as the user who is receiving the message.

Parameters
sender:`IUser` | Undocumented
recipient:`IUser` or `IGroup` | Undocumented
message:`dict` | Undocumented
Returns
`twisted.internet.defer.Deferred` | A Deferred which fires when the message has been delivered, or which fails in some way. If the Deferred fails and the message was directed at a group, this user will be removed from that group.

def userJoined(group, user): (source)
Callback notifying this user that the given user has joined the given group.

Parameters
group:`IGroup` | Undocumented
user:`IUser` | Undocumented
Returns
`twisted.internet.defer.Deferred` | Undocumented

def userLeft(group, user, reason=None): (source)
Callback notifying this user that the given user has left the given group for the given reason.

Parameters
group:`IGroup` | Undocumented
user:`IUser` | Undocumented
reason:`unicode` | Undocumented
Returns
`twisted.internet.defer.Deferred` | Undocumented

name = (source)
A short string, unique among users. This will be set by the `IChatService` at login time.