Skip to content

Instantly share code, notes, and snippets.

@asflash8
Last active August 29, 2015 14:05
Show Gist options
  • Save asflash8/3c13e90e70da19d6f3a4 to your computer and use it in GitHub Desktop.
Save asflash8/3c13e90e70da19d6f3a4 to your computer and use it in GitHub Desktop.
ハミダセでデモしたtwitterとhue連携プログラム
CONSUMER_KEY="YOUR TWITTER APP CONSUMER KEY"
CONSUMER_SECRET="YOUR TWITTER APP CONSUMER SECRET"
ACCESS_TOKEN="YOUR TWITTER APP ACCESS TOKEN"
ACCESS_TOKEN_SECRET="YOUR TWITTER APP ACCESS TOKEN SECRET"
HUE_BRIDGE_HOST="YOUR_HUE_BRIDGE_HOST"
HUE_USERNAME="YOUR_HUE_USER_NAME"
source "https://rubygems.org"
gem 'twitter'
gem 'dotenv'
gem 'hue'
require 'twitter'
require 'dotenv'
require 'erb'
require 'hue'
# 環境変数の読み込み
Dotenv.load
# Twitterクライアントの生成
twitter = Twitter::REST::Client.new do |config|
config.consumer_key = ENV['CONSUMER_KEY']
config.consumer_secret = ENV['CONSUMER_SECRET']
config.access_token = ENV['ACCESS_TOKEN']
config.access_token_secret = ENV['ACCESS_TOKEN_SECRET']
end
# Hueライトクライアントの取得
light_number = (ARGV[1] || 0).to_i
hue = Hue::Client.new(ENV['HUE_USERNAME']).lights[light_number]
tweets = {}
# 検索用ハッシュタグの取得
hashtag = ERB::Util.url_encode(ARGV[0] || '#ハミダセ')
loop do
# 検索に一致した最近の3件のつぶやきを取得
twitter.search(hashtag, reqult_type: :recent, locale: :ja).take(3).each do |tweet|
next if tweets.has_key? tweet.id
tweets[tweet.id] = tweet
puts '%20s : %s' % [tweet.user.screen_name, tweet.text[0..80].gsub("\n", '')]
hue.alert = "select"
sleep 0.5
end
sleep 5
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment