Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shokai/skype-ruby

Deprecated. MS removed API
https://github.com/shokai/skype-ruby

Last synced: 5 days ago
JSON representation

Deprecated. MS removed API

Awesome Lists containing this project

README

        

Skype
=====
[Skype Desktop API](http://dev.skype.com/desktop-api-reference) Ruby wrapper for Mac/Linux.

- https://github.com/shokai/skype-ruby
- http://rubygems.org/gems/skype

Platforms
---------
- AppleScript + Mac OSX
- DBus + Linux (testing on Ubuntu 12.04)

Installation
------------

for Mac

% gem install skype
% skype-chat

for Linux

% gem install skype ruby-dbus
% skype-chat

Gemfile
```ruby
gem "skype"
gem "ruby-dbus" if RUBY_PLATFORM =~ /linux/i
```

Usage
-----
please read [API Reference](http://dev.skype.com/desktop-api-reference) before use.

### load
```ruby
require 'rubygems'
require 'skype'

Skype.config :app_name => "my_skype_app"
```

### Skype API

send message
```ruby
Skype.message "USER_NAME", "hello!!"
Skype.exec "MESSAGE USER_NAME hello!!" # execute API directly
```

call
```ruby
Skype.call "USER_NAME"
Skype.exec "CALL USER_NAME"
```

video call
```ruby
Skype.exec "VIDEOCALL USER_NAME"
```

### Chat API

find a chat
```ruby
chat = Skype.chats.find{|c| c.members.include? "shokaishokai" and c.topic =~ /testchat/ }
```

post message to the chat
```ruby
chat.post "hello chat!!"
```

show chat messages
```ruby
chat.messages.each do |m|
puts m
end
```

### Call API

call
```ruby
call = Skype.call "shokaishokai"
```

check status
```ruby
puts call.status # => :routing, :ringing, :inprogress, :finished, :missed, :cancelled
puts call.talking? # => true, false
```

hangup
```ruby
call.hangup
```

Samples
-------
- https://github.com/shokai/skype-ruby/tree/master/samples
- https://github.com/shokai/skype-ruby/tree/master/bin

Test
----
test requires 2 skype accounts.

% gem install bundler
% bundle install
% export SKYPE_FROM=your_skype_name1
% export SKYPE_TO=your_skype_name2
% rake test

Contributing
------------
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request