げんきだしてbot

って自分で言うの面倒なので自動的に励ましてくれるbotが欲しいと思って。
https://github.com/sugyan/genki-bot
今ならherokuでUserStreamとか使ってネガティブワードに反応してtweetするとか簡単に書けるのかな、と

require 'tweetstream'

TweetStream.configure do |config|
  config.consumer_key       = ENV['TWITTER_CONSUMER_KEY']
  config.consumer_secret    = ENV['TWITTER_CONSUMER_SECRET']
  config.oauth_token        = ENV['TWITTER_ACCESS_TOKEN']
  config.oauth_token_secret = ENV['TWITTER_ACCESS_TOKEN_SECRET']
  config.auth_method        = :oauth
end
stream = TweetStream::Client.new

stream.userstream do |status|
  next if status.retweet?
  next if status.reply?

  shinpai = '@%s ' % status.from_user
  case status.text
  when /orz/
  else
    next
  end

  tweet = client.update(shinpai + 'げんきだして!', {
      :in_reply_to_status_id => status.id,
  })
end

みたいなかんじでスクリプトつくってProcfile用意して、

$ heroku apps:create
$ heroku config:set TWITTER_CONSUMER_KEY=... TWITTER_CONSUMER_SECRET=... ...
$ git push heroku master
$ heroku ps:scale bot=1

とかやるだけで簡単に動かせるみたいで、便利な世の中ですね。

Tweets with replies by げんきだしてbot (@genkidashitebot) | Twitter