«前の日記(2010-12-20) 最新 次の日記(2011-02-11)» 編集

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2011-02-08 TwitterDM同報ぼっと

TwitterDM同報ぼっと: metadcaster

TwitterのDMを同報送信するスクリプトを作りました。実行にはRuby1.9系が必要です。ダウンロードはこちら。

仲間内での連絡用アカウント(鍵つき)を用意してDMを送る用途を想定しています。

連絡用アカウント (@search)
 -- @retweets
 -- @home
 -- @lists
 -- @about
 -- @privacy

連絡用のアカウント @search にDMを送ると、@search をフォローしている @retweets, @home, @lists, @about, @privacy の5人にDMが同報されます。 @search のフォロワー全員にDMが同報されるので @search は鍵つきにしておくことをお薦めします。

使用方法はREADMEに書いています。

初期設定: 以下の2つのファイルを用意してください。
・$HOME/.metabotrc
・./config.rb

初回起動時だけ環境変数 DRY_RUN をセットして実行してください。
受信済みのDMを同報しないように記憶します。
例: $ DRY_RUN=yes ruby19 ./metadcaster.rb

実際の使用の際にはcronなどで定期実行するようにして使用します。
*/5 * * * * /usr/bin/env ruby19 /path/to/metadcaster.rb

== $HOME/.metabotrc: めたぼっとフレームワークの設定ファイル
# OAuth 関連のキーを取得して設定してください。
CONSUMER_KEY        = ''
CONSUMER_SECRET     = ''
ACCESS_TOKEN        = ''
ACCESS_TOKEN_SECRET = ''

== config.rb: 設定ファイル
MY_SCREEN_NAME          #=> 自分(同報DMの送信元になるアカウント)の
                        #   スクリーンネームを設定してください。
                        #    MY_SCREEN_NAME = "privacy"
                        #
EXCLUDE_RECIPIENTS      #=> metadcasterはフォロワー全員に同報DMを送信します。
                        #   同報DMを送信したくないアカウントのスクリーンネームを
                        #   設定してください。
                        #   EXCLUDE_RECIPIENTS = ["null", "privacy"]

== twstore.yaml: 処理済みDMを記憶しておくファイル
# 存在しなければ自動的に生成されます。

CONSUMER_KEYやACCESS_TOKENの取得方法は以下のページなどを参照してください。

--

追記: ライセンスはGPLv3にします。著作権表示はそのうち差し替えます。

Tue Feb 8 22:41:39 JST 2011