Rubyで作られたコマンドラインのツイッタークライアントtを使って、自動投稿ツールのbufferをローカル環境に構築します。
Bufferとは
BufferというSNS自動投稿ツールを知っていますか?TwitterやFacebookと連携させれば、つぶやきをどんどんストックしていくだけで指定した時間に投稿してくれるWebサービスです。
Twitterで「なう」をつぶやくのも魅力のうちですが、やはりフォロワーさんとシェアしたい情報やつぶやきはなるべく多くの皆さんに見てもらいたいもの。そんな時にBufferを使えばアクティブなユーザが多そうな時間帯(例えば通勤時間帯やお昼休みなど)に自動で投稿してくれます。
自分の場合、日本との時差の関係で共有したいタイミングがベストでない事が多いのでよく使わせてもらってます。Buffer自体の使い方は他サイトさんを参照してもらうとして、このBufferもどきを自前で構築してしまおうと思いました。つまり指定した時間になったときに用意しておいた文章を投稿できるようにします。
Twitterをよく使う人必見!Bufferの使い方 | nanapi [ナナピ]
必要なもの
コマンドラインから投稿できる手段さえ見つければ後はスクリプトでなんとかなります。今回はtを使います。
tはRubyで書かれたtwitterのコマンドラインインタフェースです。つぶやきの投稿・削除はもちろん、タイムラインの取得、リツイート、フォロワー管理などさまざまなコマンドが用意されています。
セットアップ
インストールは gem install t
でできます。事前にシステムにRuby 1.9.2以上がインストールされていることを確認してください。
このクライアントを利用するには自分でツイッターアプリとして登録しなければなりません。こちらでアプリの名前と概要、ウェブサイトを入力します。どうせ自分しか使わないので適当でいいでしょう(クライアントによっては投稿されたアプリの名前を表示するものがあるので名前くらいはいい感じにしておいた方がいいかもしれません)。アプリの権限をRead, Write and Access direct messagesにしておいてください。
自分用のアプリを登録したらコマンドラインでt authorize
と入力します。指示にしたがってAPIキーとシークレットキーを入力します。これだけでセットアップは完了です。 t update "つぶやく内容"
でつぶやけたら成功です。
シェルスクリプトからtを使う
tはただのコマンドなので、シェルスクリプト内で簡単に実行できます。例えばqueue.txtに保存されたテキストから1行読み込んで投稿するシェルスクリプトは以下のように書けます。
#!/bin/bash
line=`head -n 1 queue.txt`
if [[ ! -z $line ]]; then
t update "$line"
sed -e "1d" queue.txt > queue.tmp
mv queue.tmp queue.txt
fi
変数lineに1行読み込んで、それが空でなかった場合に t update
で投稿します。投稿した行はもう必要ないので sed -e "1d"
で削除したものを上書き保存します。
このスクリプトをcronやlaunchAgent(macの場合)を使って定期的に実行するようにします。あとはqueue.txtに投稿したい内容を放り込んでいくだけです。
メリット/デメリット
Bufferの無料アカウントではキューを10個までしか貯めることができませんが、このオレオレBufferでは好きなだけ放り込むことができます。投稿時間もcron及びlaunchAgentを使ってフレキシブル(x分毎とか)にできます。またtは複数アカウントに対応しているので、投稿内容に応じてアカウントを切り替えるというのも簡単です(先の無料アカウントでは1つのみ)。
Bufferでは投稿したそれぞれのつぶやきについてクリックやRTの統計を取ることができますが、本家Twitterでもできるようになったので、そこはもうアドバンテージではないかと。
これを応用すれば指定した時間にRTしたり(Bufferでもできる)や削除したりするスクリプトも書くことができます。それぞれのコマンドについてはtのドキュメントを参照してください。
指定した時刻にツイートやFB投稿を自動的に削除するサービス「Delete it Later」 : ライフハッカー[日本版]
また、外部サービスを利用せずにローカルで完結しているというのもメリットかもしれません。
【復旧済】Bufferがハッキングされ、勝手にツイート・Facebook投稿されている人多数。自分のアカウントも要チェック!
デメリットとしては、ローカルに構築しているのでコンピュータが電源OFFの時はスクリプトが動きません。スリープにしておけば裏でサービスが動かしてくれます。あとはもちろんネットワークにつながってないとだめです。
自宅サーバーやVPSで動かしてもいいでしょうが、このためだけに環境を構築するのはオーバーキルですね。普通にBuffer使ったほうがいいと思います。
まとめ
今回はコマンドラインTwitterクライアントのtを使ってオレオレBufferを作ってみました。(ところで「t」って検索し辛い名称)
Buffer自体はとても便利なサービスです。自分もずいぶん長い間利用させてもらってます。それでも無料で出来る範囲だとキューの数に制限があったり、複数アカウントが使えなかったりします。なら有料にしろっていう話ですが、そのために月10ドル払う気もしないという。オレオレBufferはそんな時にいいオプションになるのではないでしょうか。
Comments
comments powered by Disqus