diff --git a/README.md b/README.md new file mode 100644 index 0000000..1f77f0b --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ +A simple mutli-threaded chat server written in Haskell with support for +user-to-user private messaging and channels which users can join and +chat in. + +Run server: + +``` +$ link +``` + +Command to the server over TCP: + +``` +$ telnet +``` + +Commands sent to the server: + +- `LOGIN ` Login with the username +- `QUIT` Quit the server +- `MSG ` Send a private message to a user +- `JOIN ` Join a channel +- `LEAVE ` Leave a channel +- `TELL ` Send a message to a channel +- `NAMES ` Get names of all users in a channel +- `PONG` Reply to a ping from the server + +Messages from the server: + +- `LOGGEDIN ` Confirmation of a login +- `NAMEINUSE ` Username is already taken +- `MSG ` A private message from a user +- `NOSUCHUSER ` You tried to send a message to a non-existent user +- `JOINED ` A user joined the channel you have joined +- `LEFT ` A user left the channel you have joined +- `NAMES ...` Names of all users in a channel +- `TELL ` A message from a channel you have joined +- `PING` A ping from the server. Must be replied with a `PONG` command or else + the server will disconnect you.