@elyxios/messaging

1.0.0 • Public • Published

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");
});

Readme

Keywords

none

Package Sidebar

Install

npm i @elyxios/messaging

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

23.5 kB

Total Files

7

Last publish

Collaborators

  • tahataha005