A real-time Talker Ruby client.
Ruby
Switch branches/tags
Nothing to show
Pull request Compare This branch is 18 commits behind macournoyer:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
spec
.gitginore
.gitignore
README.md
Rakefile
talker.gemspec

README.md

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. Find the Room ID you want to connect to. This is the last part of the URL:

    https://myaccount.talkerapp.com/rooms/<room_id>

  4. Serve hot and enjoy

    Talker.connect(:room => ROOM_ID, :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",... 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.