@elyxios/messaging
v1.0.0
Published
Elixus-server is a Node.js library for setting up a messaging service with live messaging capabilities based on \`socket.io\`. This library simplifies the process of integrating live messaging in your Node.js applications.
Downloads
2
Readme
Elixus-server
Elixus-server is a Node.js library for setting up a messaging service with live messaging capabilities based on `socket.io`. This library simplifies the process of integrating live messaging in your Node.js applications.
Installation
npm install elixus-server
Usage
import messagesConnection from "elixus-server";
import { Server } from "http";
const httpServer = new Server();
const messagingService = messagesConnection(httpServer, {
timeout: 15000,
route: "/chat",
port: 3000,
});
messagingService.onSendMessage((message, room) => {
console.log("New message:", message);
// Add your message handling logic here
});
httpServer.listen(3000, () => {
console.log("Server is running on port 3000");
});
API
messagesConnection(server: Server, options?: MessagesConnectionOptions)
Sets up the messaging service.
server
: The HTTP server instance or the port number on which to run the server.options
(optional): An object with the following properties:timeout
(default:10000
): Connection timeout in milliseconds.route
(default:undefined
): Custom path for socket connection.port
(default:undefined
): Port number for the server to listen on.
Returns an object with the following properties:
onlineUsers
: An array of online users.onSendMessage(callback)
: Registers a callback function to handle incoming messages.
setOnlineUsers(users: OnlineUser[])
Updates the list of online users.
Types
type MessagesConnectionOptions = {
timeout?: number;
route?: string;
port?: number;
};
type OnlineUser = {
room: string;
id: string;
};
Events
send-message
Triggered when a user sends a message.
data
: An object containing:to
: The recipient's ID.message
: The message content.token
: The authentication token.payload
: Additional payload data.
new-message
Emitted to the recipient and sender when a new message is received.
online
Emitted when the online users list is updated.
Example
import messagesConnection from "elixus-server";
import { Server } from "http";
const httpServer = new Server();
const messagingService = messagesConnection(httpServer, {
port: 3000,
});
messagingService.onSendMessage((message, room) => {
console.log("New message:", message);
// Handle the message here
});
httpServer.listen(3000, () => {
console.log("Server is running on port 3000");
});