Ruby Twitter Gemを使ったらTwitter botが9行で書けた

microneを使ったらApp EngineのTwitter botが14行で書けた

これ読んだ時なんかしっくり来なかったんですよね


ここの記事ではなぜかTwitter botをつくるのにWebサーバ+Webフレームワークを用いるというなことをやっています。14行で書けた! とのことですが、普通のマシン上で動く普通のbotはもっと短いです。


自分はPythonはあんまり書けないのでendの分だけPythonより行数が増えると言われているRuby

# coding: utf-8
require 'twitter'
Twitter.configure do |config|
  config.consumer_key = '*****'
  config.consumer_secret = '*****'
  config.oauth_token = '*****'
  config.oauth_token_secret = '*****'
end 
Twitter.update(open('twitter.txt').readlines.shuffle.first)

やってることが少ない分コードも短くシンプルになります。当然ですね

ちなみに元ネタのコードをRubyの代表的なマイクロフレームワークsinatra再現するとこんな感じになるはず。

# coding: utf-8
require 'twitter'
require 'sinatra'
Twitter.configure do |config|
  config.consumer_key = '*****'
  config.consumer_secret = '*****'
  config.oauth_token = '*****'
  config.oauth_token_secret = '*****'
end 
get '/post' do
  Twitter.update(open('twitter.txt').readlines.shuffle.first)
end

sinatraの部分が無駄っぽいのがお分かりいただけたでしょうか


さらに
ためしに実行するだけでもブラウザにURL打ち込んで叩く必要があったり、
デプロイ作業が必要になったりと、Webアプリとして作るのはなんだか面倒そうです。

まとめ

適材適所なのがベター。
BotのようにWebへの出力がない/少ないサービスを開発するのにGAEというWebアプリ用の環境を使うのはそもそもおかしいのではないか

GAE以外の選択肢

きっとこんなに無理してGAE使ってるのは無料だからといった理由の人もいるのかもしれない。
でもあえて不便なGAEを使わないでLinuxサーバとか借りればいいんじゃないでしょうか。


自分もsshが使える無料レンタルサーバbot運用しています。


ssh レンタルサーバ 無料

ぐぐるといっぱい出てきます。


では、快適な環境で快適なBotライフを!