Movie Night chat bridge

Hannah Ward 32a97e7a84 some things 5 anos atrás
integration-tests 32a97e7a84 some things 5 anos atrás
private 66919574dc rewriting the ircd 5 anos atrás
.gitignore 32a97e7a84 some things 5 anos atrás
LICENSE 648a4033f5 add LICENSE 5 anos atrás
README.md 10b4095df0 update docs & messages 5 anos atrás
api.rkt 45d65ad0db receive JOIN/PARTs from movienight 5 anos atrás
chat.rkt bb482d7d83 process incoming nick changes 5 anos atrás
ircd.rkt 10b4095df0 update docs & messages 5 anos atrás
macros.rkt 66919574dc rewriting the ircd 5 anos atrás
main 32a97e7a84 some things 5 anos atrás
main.rkt c44a9a54d7 command line options 5 anos atrás

README.md

About

This projects aims to create a bridge for the chat programed used in MoveNight. So far, this is work in progress. At the moment it is a simple IRC server that relays messages back and forth. Unfortunately, error handling is abscent, and errors from the MoveNight chat are not propagated. But hey, it kinda works.

Basic usage

By default, the ircd binds on port 6667 on all the available addresses. Use the command line options --port and --host to change that.

The command line option --url specifies the URL for the MovieNight chat server (usually it is wss://movie-night-domain/ws).

To produce logs set the env variables PLTSTDOUT or PLTSTDERR to "warning" or "info". See the Racket docs on loggers for details.

Prebuilt binaries

Coming soon...

Requirements & building

This developement is known to work on Racket v7.5 with packages:

  • rfc6455 (websockets implementation, try raco pkg install rfc6455)

Build it with raco make main.rkt and run racket main.rkt. Or: build native with raco exe main.rkt.

TODOs

  • Support for the user list. Specifically:
    • Handle WHO better
    • Handle nickname changes TODO: so far we only handle nickname changes incoming from movie night
  • Better handling of error messages. E.g. in case of an invalid nickname, return the ERR_ and kill the connection to the client
  • Handle /me actions
  • Unfuck the HTML
  • TESTS!!11