Twitterのシステムリファクタのコードです。Rubyで書いています。接続情報などは、yamlで記述しています。また、メッセージも合わせてyamlで取るようにしています。
#!/usr/bin/ruby # encoding: utf-8 require 'twitter' require 'oauth' require 'yaml' twitterAccuont = ARGV[0] messageInfo = ARGV[1] key = YAML.load_file('../twitterConf/twitter.yml') massage = YAML.load_file('../twitterConf/massage.yml') begin client = Twitter::REST::Client.new do |config| config.consumer_key = key[twitterAccuont]['consumer_key' ] config.consumer_secret = key[twitterAccuont]['consumer_select' ] config.access_token = key[twitterAccuont]['access_token_key'] config.access_token_secret = key[twitterAccuont]['access_secret' ] end str_out = massage[messageInfo]['message'] + " " str_out = str_out + massage[messageInfo]['tag'] + " " + Time.now.strftime("%Y-%m-%d %H:%M:%S") client.update(str_out) p Time.now.strftime("%Y-%m-%d %H:%M:%S") + " " + twitterAccuont + " " + "tweet-msg" + " " + messageInfo rescue => e STDERR.puts "[EXCEPTION] " + e.to_s p Time.now.strftime("%Y-%m-%d %H:%M:%S") + " " + twitterAccuont + " " + "tweet-msg" + " " + messageInfo + " Error:" + e.to_s exit 1 end
Twitterの設定ファイルのyamlでは
roku-miai: consumer_key : xxxxxxxxxxxxxxxxxxxxx consumer_select : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX access_token_key : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX access_secret : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
メッセージはYamlは
say_hello: message : "おはようございます。Good morning. Starting to update Today." tag : " #goldfish #金魚 #水温 #RaspberryPi #MiraiWaterTemp #netthing #IoT #M2M" say_goodby: message : "こんばんは。Stopping update because of dark. See you. " tag : " #goldfish #金魚 #水温 #RaspberryPi #MiraiWaterTemp #netthing #IoT #M2M"