What is this?
It's an IRC-like interface for XMPP Multi-User-Conferences (eg: chat rooms), back-ended by the lovely, node-xmpp.
It roughly implements XMPP's IRC command mapping
Usage
var Whisperer =client =jid: 'bob@example.jabber.server.com'password: 'your password here'clientclient
Methods
Whisperer
Constructor. Accepts on object with the following keys
- jid: Your full XMPP username (user@server.com/optionalresource)
- password: Your password
join
Joins a MUC. Accepts on object with the following keys
- jid: The address of the MUC (roomname@server.com)
- nick: The nickname you want to use in this room
- password: (optional) The room's password
- lastSeen: (optional) JS Parse-able date for the last time you logged in. Instructs the chat server to send by any message history it has since that time
message
Sends a message to either a specific user, or the whole MUC. Accepts on object with the following keys
- jid: The address of the MUC (roomname@server.com)
- message: The message you want to send
- nick: (optional) A user's nick to send a private message to
part
Leaves a MUC. Accepts on object with the following keys
- jid: The address of the MUC (roomname@server.com)
- message: (optional) An optional parting message
nick
Changes your nickname in the room. Accepts on object with the following keys
- jid: The address of the MUC (roomname@server.com)
- nick: Your new nickname in this room
topic
Changes the topic for the room. Accepts on object with the following keys
- jid: The address of the MUC (roomname@server.com)
- topic: The new topic of the room
invite
Invites a user to the room. Accepts on object with the following keys
- jid: The address of the MUC (roomname@server.com)
- user: The full JID of the user you're inviting
- message: A brief message to the user
Events
online
Emitted when the client connects. No payload
error
Emitted when the client encounters an error; example payload
message
Emitted when a user in the room sends a message, or the room plays back the message history when you log in (look at the timestamp!)
Example payload:
presence
Emitted when the a user enters or exits the room, or changes their metadata (nickname, permissions, etc..)
Example payload: