Send and receive Tweets using Max via OSC to a background ruby server.
An advantage of this method is that both the patch and the server are compact and easy to understand. The Max patch does things in a Max way. And likewise with the ruby scripts.
download
https://github.com/tkzic/internet-sensors
folder: twitter-ruby
files
Max
ruby
- twitter-server-send.rb (for sending Tweets)
- twitter-server-get.rb (for receiving Tweets)
ruby gems
The ruby script requires installation of the following gems
For example:
# sudo gem install twitter
Twitter authorization
In addition to having a Twitter account, you will need to set up a Twitter application from the developer site here:
https://dev.twitter.com/apps
Good instructions on how to do this can be found in this stackoverflow.com post under this heading: So you want to use the Twitter v1.1 API?
http://stackoverflow.com/questions/12916539/simplest-php-example-for-retrieving-user-timeline-with-twitter-api-version-1-1
When you get to step 5 – in the instructions – instead of writing your own code, just use a text editor to copy your access tokens into these ruby programs:
- twitter-server-send.rb
- twitter-server-get.rb
Replace the strings in this line of code by copying and pasting the appropriate ones from your Twitter application:
twitterClient = Twitter::REST::Client.new do |config|
config.consumer_key = "mqQtoYh16343tDFG3BK7QQ"
config.consumer_secret = "X0KexjlK49fhhrnn9EztapZfATCQqWCc5fXVJH2pE"
config.oauth_token = "205589709-5krgh9FR3KkLGRDnewiU7GKKBMA6i2La84c"
config.oauth_token_secret = "LNARAeooN2vkklkF006GRdihQ5D8YYkm8dYvEs68M"
end
Yeah – its cryptic, but trivial compared to writing the ouath code. Just a reminder, if even one letter or quote mark, or anything is out of place, the authorization will fail.
instructions
(note: currently running with ruby version 2.0) Display your ruby version by typing: ruby –version
Sending Tweets
- Open the Max patch: twitter-client.maxpat
- In a terminal window run the ruby script:
# ./twitter-server-send.rb
- In the Max patch, type in a Tweet. Press the green button to send.
- When you have tweeted enough, end the ruby server program by typing <ctrl-c>
Receiving Tweets
- Open the Max patch: twitter-client.maxpat
- In a terminal window run the ruby script:
- From Twitter, send a Tweet to the user name embedded in the server
# ./twitter-server-get.rb
Both ruby servers can run at the same time.
What’s next?
- Parse incoming Tweets into various components
- Combine the 2 Ruby servers
revision history
- 5/21/2014 – refactored app names. Added receive server
- 5/19/2004 – moved to twitter-ruby folder
- 1/18/2014 – minor fixes to ruby server for current ruby version 2.0
- 9/7/2013 – uses oauth to communicate directly to Twitter from ruby