Simple chat service with Socket.io
Find a file
2023-07-20 23:06:01 -04:00
.github/ISSUE_TEMPLATE Update issue templates 2020-02-02 10:25:39 -05:00
.eslintrc.json Add .eslintrc 2020-02-02 09:55:16 -05:00
.gitignore Add DS_Store 2020-05-02 10:58:51 -04:00
client.js Add /help 2020-02-20 13:22:20 -05:00
LICENSE Initial commit 2020-02-02 09:51:49 -05:00
package-lock.json Bump word-wrap from 1.2.3 to 1.2.4 2023-07-18 20:47:31 +00:00
package.json Bump semver and meow 2023-06-24 08:57:25 +00:00
README.md Remove dependencies badge 2021-02-24 00:19:26 +03:00
server.js Add filter to prevent duplicate channel creation 2020-03-25 22:11:20 -04:00

Bridge - Simple Chat Service

GitHub package.json version Code Style

Bridge is a basic CLI chat application using Socket.io.

Features

  • Server, port and channel selection when started.
  • Username selection when first connected to the server.
  • Change usernames on the fly.
  • Unlimited room initialization and connection.
  • Whisper to other users in private.
  • Emote to draw attention.
  • Auto-reconnection when connection is interrupted.
  • Colors... Lots of colors!

Usage

Install the bridge package by running npm install -g boranseckin/bridge.

Client

  1. Run npx bridge to start the client.
  2. When prompted Server:, enter the server URL in the form of <domain>:<port>/<channel>.
    • If you do not specify channel, it will be assumed /.
    • If you do not specify port, it will be assumed 3636.
    • If you do not specify domain, it will be assumed localhost.
  3. When prompted Username:, enter the desired username.

Server

  1. Run npx bridge-server to start the server.

    • If you want to change the default port (3636), use -p <port> argument.
    • If you want to open multiple channels, use -c <channel> argument. You can use this argument as many times as you want. The server will open one channel for each -c tag. The default channel (/) will be always open regardless the additional channels.

    Example: npx bridge-server -p 1111 -c super -c server

  2. You will see the log of connections on your terminal.

Commands

Everything starting with a forward slash (/) is assumed to be a command.

  • /me <message> is used to send emotes. If sent without a message, acts as a indicator.
  • /w <to> <message> is used to whisper to a specific user. <to> has to be an online user in the server.
  • /username <username> is used to change the username.
  • /room <room> is used to change the room. If the room name is empty, user will be assigned to the #default room.
  • /ch <channel> is used to change the channel. If the channel name is empty, user will be assigned to the / channel.
  • /clear is used to clear the chat for the user.
  • /users is used to list all online users with their room names and IDs.
  • /id is used to print user's ID.
  • /server is used to print server's address.
  • /status is used to print the connection status.
  • /help is used to print all the usable commands.
  • /exit is used to exit the program.

Dependencies

Author

  • Boran Seckin

License

This project is licensed under the MIT License - see the LICENSE.md file for details.