@painda/chat
v0.1.2
Published
Room and direct messaging module for PaindaProtocol
Maintainers
Readme
@painda/chat
Room and direct messaging module for PaindaProtocol.
Part of the PaindaProtocol ecosystem.
Installation
npm install @painda/chat @painda/coreQuick Start
import { PPServer } from '@painda/core';
import { RoomManager, directMessage } from '@painda/chat';
const server = new PPServer({ port: 3000 });
const rooms = new RoomManager(server);
server.on('connection', (client) => {
// Join a room
rooms.join(client, 'general');
client.on('message', (msg) => {
if (msg.type === 'chat') {
// Broadcast to room
rooms.broadcast('general', {
type: 'chat',
payload: msg.payload,
}, client); // exclude sender
}
if (msg.type === 'dm') {
// Direct message to another client
directMessage(server, msg.payload.to, {
type: 'dm',
payload: msg.payload.text,
});
}
});
});API
RoomManager
join(client, room)— add client to roomleave(client, room)— remove client from roombroadcast(room, message, exclude?)— send to all in room
directMessage(server, targetId, message)
Send a message directly to a specific client by ID.
License
MIT
