https://github.com/macournoyer/talker.rb
A real-time Talker Ruby client.
https://github.com/macournoyer/talker.rb
Last synced: about 1 year ago
JSON representation
A real-time Talker Ruby client.
- Host: GitHub
- URL: https://github.com/macournoyer/talker.rb
- Owner: macournoyer
- Created: 2009-11-12T17:23:27.000Z (over 16 years ago)
- Default Branch: master
- Last Pushed: 2011-06-02T19:32:49.000Z (about 15 years ago)
- Last Synced: 2025-04-25T06:09:26.966Z (about 1 year ago)
- Language: Ruby
- Homepage: http://talkerapp.com
- Size: 112 KB
- Stars: 25
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Talker Ruby Client
A real-time Talker Ruby client.
# Usage
1) Get a Talker account at https://talkerapp.com/signup
2) Get your Talker Token on https://myaccount.talkerapp.com/settings
3) Serve hot and enjoy
Talker.connect(:room => "Room name", :token => YOUR_TALKER_TOKEN) do |client|
client.on_connected do
client.send_message "hello!"
end
client.on_message do |user, message|
puts user["name"] + ": " + message
end
trap("INT") { client.close }
end
# Callbacks
All arguments are optional.
## on_connected(user)
Called when the user is authenticated and ready to receive events. "user" is a Hash containing your user info: {"id"=>1, "name"=>"macournoyer", "email"=>"macournoyer@talkerapp.com"}.
## on_presence(users)
Called after on_connected with the list of connected users.
With users being something like this:
[{"id"=>1, "name"=>"macournoyer", "email"=>"macournoyer@talkerapp.com"},
{"id"=>2, "name"=>"gary", "email"=>"gary@talkerapp.com"}]
## on_message(user, message)
Called when a new message is received.
user is the sender.
## on_private_message(user, message)
Called when a new private message is received.
user is the sender.
## on_join(user)
Called when a user joins the room.
## on_idle(user)
Called when a user becomes idle (closed connection without leaving).
## on_back(user)
Called when a user is back from idle.
## on_leave(user)
Called when a user leaves.
## on_close
Called when the connection is closed.
## on_error(error_message)
Called when an error is received from the Talker server.
## on_event(event)
Called when any kind of event (all of the above) is received. "event" is a Hash: {"type":"event type","id":"unique ID",... event specific attributes}.
# Methods
Methods of an instance of Talker class.
## current_user
Info about the user currently connected, nil if not yet connected:
{"id"=>1, "name"=>"macournoyer", "email"=>"macournoyer@talkerapp.com"}
## users
Array of users currently in the room. In the form:
[{"id"=>1, "name"=>"macournoyer", "email"=>"macournoyer@talkerapp.com"},
{"id"=>2, "name"=>"gary", "email"=>"gary@talkerapp.com"}]
## leave
Leave the room and close the connection.
## close
Close the connection without leaving the room.
## send_message(message)
Send a message.
## send_private_message(user_name, message)
Send a private message to user_name.
# Running the specs
Howdy brave lil' one! To run the specs you'll need courage, hard work and some luck:
1) Install from source my "special" fork of em-spec at http://github.com/macournoyer/em-spec.
2) Edit the file spec/talker.example.yml with your info and rename it to spec/talker.yml.
3) Run rake and everything should be green, birds should start signing and someone will make you a chocolate cake
(results may vary).
# Credits & License
Released under the Ruby License, (c) Talker
Thanks to http://github.com/raggi for kicking this off.