Skip to content

ryukinix/lisp-chat

Repository files navigation

lisp-chat

Quicklisp dist

Lisp Chat

An experimental chat irc-like written in Lisp.

lisp-chat-screenshot

Installation

Install [roswell][ros] and add ~/.roswell/bin/ to the PATH variable.

After that just type:

ros install ryukinix/lisp-chat

Lisp-chat it's on Quicklisp as well, tested on the following implementations:

  • SBCL
  • CCL
  • ECL

Usage

Load the server

$ lisp-chat-server localhost

Create a client

$ lisp-chat localhost

Online version with connection through web sockets instead raw tcp sockets:

$ lisp-chat wss://chat.manoel.dev/ws

Web Interface

A web interface is now available! You can access the public instance at: https://chat.manoel.dev

When running the server locally, the web interface is accessible at http://localhost:5559.

lisp-chat-web

Alternative clients

If you want test this and don't have the Lisp requested, I have those alternatives for you:

  • Terminal text-based python client
  • Terminal ncurses python client
  • Netcat client (wtf?)

On Python client, I wrote in a way only using ths stdlib avoiding pain to handle the dependency hell, so you can just call that:

$ python client.py

So finally... netcat. Yes! You can even just use netcat! An user called Chris in past days just logged in the server with the following message:

|16:30:37| [Chris]: Used netcad
|16:30:41| [Chris]: netcat*
|16:30:50| [Chris]: bye

So you can type netcat <server> 5558 and go on! I tested on my machine and works fine! The main reason is because the communication between server and client just use raw data. For better synchronization with text data from server while you typing, I suggest you to use a readline wrapper like rlwrap calling as rlwrap netcat <server> 5558.