2014-04-23 20:59:48 +00:00
## shout
2014-04-15 20:18:19 +00:00
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:
2014-05-15 19:36:58 +00:00
- [ ] /connect
- [ ] /deop
- [ ] /devoice
- [ ] /disconnect
- [ ] /join
- [ ] /kick
- [ ] /leave
- [ ] /me
- [ ] /mode
- [ ] /msg
- [ ] /nick
- [ ] /notice
- [ ] /op
- [ ] /part
- [ ] /query
- [ ] /quit
- [ ] /send
- [ ] /server
- [ ] /topic
- [ ] /voice
- [ ] /whois
2014-04-20 12:53:55 +00:00
## Install
1. Install Node.js and NPM
`sudo apt-get -y install nodejs npm`
2. Clone the project from GitHub
2014-04-23 20:59:48 +00:00
`git clone http://github.com/erming/shout`
2014-04-20 12:53:55 +00:00
3. Open folder
2014-04-23 20:59:48 +00:00
`cd shout/`
2014-04-20 12:53:55 +00:00
4. Install Node packages
`npm install`
5. Run the server
2014-04-26 17:44:16 +00:00
`npm start` or `node index.js`
2014-04-20 12:53:55 +00:00
6. Open your browser
`http://localhost:9000`
2014-04-26 21:17:20 +00:00
## Events
Using [Socket.IO ](http://socket.io/ )
Events sent from the __server__ to the __browser__ :
```javascript
// 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: "",
}]
});
```
2014-04-28 11:10:06 +00:00
## License
Available under [the MIT license ](http://mths.be/mit ).