gossip
Gossip is a shard for integrating MUDs with the Gossip inter-mud chat network.
Installation
Add this to your application's shard.yml
:
dependencies:
gossip:
github: proxima/gossip-crystal
Usage
require "gossip"
client = Gossip::Client.new "mud-name", "client-id", "client-secret"
spawn client.run
Enable verbose logging
client.verbose = true
Optionally, you can provide Gossip::Client a Proc which returns the MUD's online players.
client.player_list = ->{ ["Player1", "Player2"] }
or
client.player_list = ->{ acquire_player_list_somehow(); }
You can also use the client to inform Gossip of login/logoffs in real-time.
client.player_login.send "Player Two"
client.player_logoff.send "Player One"
Listen to broadcasts from other MUDs
spawn do
loop do
msg = client.broadcast.receive
end
end
Development
TODO tells (send/receive)
TODO reconnects, raise errors when disconnected
Contributing
- Fork it (https://github.com/your-github-user/gossip-crystal/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- proxima Christopher Lee - creator, maintainer