説明なし

README.md 1.4KB

babl

a simple, web-based chat server using websockets.

running it

$ npm install
$ PORT=10001 node server

The server is now running on http://localhost:10001.

You can also archive all messages ever sent:

$ HOST_URL=ws://localhost:10001 node archiver

This allows clients to load the previous messages on initial load.

ideas

  • starting out should be as easy as possible
    • start with a purely client-side bot/script
      • who will answer on the client? the logged in user or a user-specific bot?
    • use same api on server
      • still, some things aren't possible on the client (unrestricted http requests, file writing or custom protocols)
  • would be cool to support images & youtube videos via the same (client-side) api, possibly even audio or canvas?
  • don't want to reinvent security, protocols... is it possible to use hubot? (setup is quite complex, need to understand quite a few different parts)

wishlist

  • how do we websocket efficiently? should we batch (both client and server), should/could we send binary?

api playground

here are some ideas how the api could look.

// client-side
var chat = document.querySelector("#chat");

babl.on('connection', function(conn) {
    conn.on('message', function(msg) {
        var display_msg = msg.user + "(" + msg.timestamp + "): " + msg.text;
        chat.textContent += display_msg + "\n";
    });
});