hardlounge/README.md

141 lines
2.3 KiB
Markdown
Raw Normal View History

2014-06-15 18:18:55 -04:00
# Shout
2014-06-09 15:45:38 -04:00
2014-04-15 16:18:19 -04: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.
2014-06-15 18:18:55 -04:00
### Contributing
Shout is __open source__ and __open for contributions__. Any sort of help is appreciated!
2014-06-18 06:11:51 -04:00
Come join #shout-irc on Freenode!
2014-06-15 18:18:55 -04:00
### Screenshots
2014-06-09 15:45:38 -04:00
2014-06-15 18:09:07 -04:00
![](https://raw.github.com/erming/shout/master/screenshots/shout.png)
2014-06-01 20:01:26 -04:00
2014-06-12 18:51:15 -04:00
And also..
2014-06-15 18:09:07 -04:00
[Mobile interface](https://raw.github.com/erming/shout/master/screenshots/shout-mobile.png)
2014-06-12 18:51:15 -04:00
## 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
2014-06-19 07:31:22 -04:00
`npm install --production`
2014-06-12 18:51:15 -04:00
5. Run the server
`npm start` or `node index.js`
6. Open your browser
`http://localhost:9000`
2014-04-15 16:18:19 -04:00
### Commands
2014-06-09 15:45:38 -04:00
2014-04-15 16:18:19 -04:00
These are the commands currently implemented:
2014-05-18 12:18:19 -04:00
- [x] /ame
- [x] /amsg
2014-05-15 17:58:50 -04:00
- [x] /close
2014-05-15 17:46:29 -04:00
- [x] /connect
- [x] /deop
- [x] /devoice
- [x] /disconnect
2014-05-17 18:17:50 -04:00
- [x] /invite
2014-05-15 17:46:29 -04:00
- [x] /join
- [x] /kick
- [x] /leave
- [x] /me
- [x] /mode
- [x] /msg
- [x] /nick
- [x] /notice
- [x] /op
- [x] /part
2014-05-16 09:12:57 -04:00
- [x] /partall
2014-05-15 17:46:29 -04:00
- [x] /query
- [x] /quit
2014-05-15 17:58:50 -04:00
- [x] /raw
2014-05-15 17:56:23 -04:00
- [x] /say
2014-05-15 17:46:29 -04:00
- [x] /send
- [x] /server
2014-05-29 21:07:38 -04:00
- [x] /slap
2014-05-15 17:46:29 -04:00
- [x] /topic
- [x] /voice
2014-06-12 08:11:12 -04:00
- [x] /whoami
2014-05-15 17:46:29 -04:00
- [x] /whois
2014-04-20 08:53:55 -04:00
2014-04-26 17:17:20 -04:00
## Events
2014-06-09 15:45:38 -04:00
2014-04-26 17:17:20 -04:00
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: "",
2014-06-15 16:36:55 -04:00
network: "",
2014-06-02 17:08:03 -04:00
count: 0,
2014-04-26 17:17:20 -04:00
messages: [],
users: [],
}
});
2014-06-02 17:08:03 -04:00
// Event: "messages"
// Sent after the server receives a "fetch" request from client.
socket.emit("messages", {
id: 0,
msg: []
});
2014-04-26 17:17:20 -04:00
// 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: "",
2014-06-21 16:37:21 -04:00
name: "",
2014-04-26 17:17:20 -04:00
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 07:10:06 -04:00
## License
Available under [the MIT license](http://mths.be/mit).