PonyChat's fork of Shout
Go to file
Mattias Erming 276db34c34 Force user to confirm server disconnect 2014-05-26 01:20:16 +02:00
client Force user to confirm server disconnect 2014-05-26 01:20:16 +02:00
lib Added title bar 2014-05-25 22:46:54 +02:00
.gitignore Updated jQuery plugins 2014-05-14 00:47:46 +02:00
README.md Added '/ame' and '/amsg' command 2014-05-18 18:19:02 +02:00
config.js Refactoring 2014-05-02 19:46:18 +02:00
index.js Added config and auto-connect 2014-04-06 00:01:19 +02:00
package.json Release 1.0.0-alpha2 2014-05-16 00:08:35 +02:00

README.md

shout

Run your IRC client on a server and access it from the web browser. This gives you a persistent connection and allows you to chat from multiple devices at the same time.

Commands

These are the commands currently implemented:

  • /ame
  • /amsg
  • /close
  • /connect
  • /deop
  • /devoice
  • /disconnect
  • /help
  • /invite
  • /join
  • /kick
  • /leave
  • /me
  • /mode
  • /msg
  • /nick
  • /notice
  • /op
  • /part
  • /partall
  • /query
  • /quit
  • /raw
  • /say
  • /send
  • /server
  • /slap
  • /time
  • /topic
  • /version
  • /voice
  • /whois

Install

  1. Install Node.js and NPM
    sudo apt-get -y install nodejs npm

  2. Clone the project from GitHub
    git clone http://github.com/erming/shout

  3. Open folder
    cd shout/

  4. Install Node packages
    npm install

  5. Run the server
    npm start or node index.js

  6. Open your browser
    http://localhost:9000

Events

Using Socket.IO
Events sent from the server to the browser:

// Event: "join"
// Sent when joining a new channel/query.
socket.emit("join", {
  id: 0,
  chan: {
    id: 0,
    name: "",
    type: "",
    messages: [],
    users: [],
  }
});

// Event: "msg"
// Sent when receiving a message.
socket.emit("msg", {
  id: 0,
  msg: {
    time: "",
    type: "",
    from: "",
    text: "",
  }
});

// Event: "networks"
// Sent upon connecting to the server.
socket.emit("networks", {
  networks: [{
    id: 0,
    host: "",
    nick: "",
    channels: [],
  }]
});

// Event: "part"
// Sent when leaving a channel/query.
socket.emit("part", {
  id: 0
});

// Event: "users"
// Sent whenever the list of users changes.
socket.emit("users", {
  id: 0,
  users: [{
    mode: "",
    name: "",
  }]
});

License

Available under the MIT license.