HOME > 電算 > twitter > 標準入出力で twitter

標準入出力で twitter

標準入出力のファンとしては、たんに CUI というだけではなく、パイプにかませて使えるような twitter クライアントがほしかった。しかし、そんなショボいもの、なかなかありそうもないので、当座しのぎに python (tweepy 利用)で書いた。せっかくだから晒しておくけど、自分用だからエラー処理が皆無。

OAuth を利用しているが、コンシューマ・キーとコンシューマ・シークレットは自分で取得したものを使うという不親切ぶり。いや、そもそも標準出入力という時点で不親切だから気にしてませぬ。設定ファイルなんかは何一つとしてなく、必要なものはすべてオプションの値として食わせてやるのだ。

twikabi.py

twikabi.py

必要なライブラリは、tweepy, sys, re, optparse

python twikabi.py --action=(home | mentions | tweet | lists)
                  --ckey=CONSUME_KEY --csecret=CONSUMER_SECRET 
                  --akey=ACCESS_KEY --asecret=ACCESS_SECRET
                  [--fsep=FIELD_SEPARATOR] [--rsep=RECORD_SEPARTOR]
                  [--items=NUMBER_OF_RECORDS_TO_GET]
python twikabi.py --action=list
                  --list=LIST_ID
                  --ckey=CONSUME_KEY --csecret=CONSUMER_SECRET 
                  --akey=ACCESS_KEY --asecret=ACCESS_SECRET
                  [--fsep=FIELD_SEPARATOR] [--rsep=RECORD_SEPARTOR]
                  [--items=NUMBER_OF_RECORDS_TO_GET]
python twikabi.py --action=(reply | favor | cancelfavor) 
                  --statusid=STATUS_ID
                  --ckey=CONSUME_KEY --csecret=CONSUMER_SECRET 
                  --akey=ACCESS_KEY --asecret=ACCESS_SECRET
                  [--fsep=FIELD_SEPARATOR] [--rsep=RECORD_SEPARTOR]
                  [--items=NUMBER_OF_RECORDS_TO_GET]
--action    動作の種類。
            とりうる値は、以下の通り。
            home(ホームタイムライン取得)
            lists(講読しているリスト名と ID の取得)
            listl (特定のリストのタイムラインを取得)
            apilimit(API 残り回数)
            favor(「お気に入り」にする)
            undofavor(「お気に入り」からはずす)
            mention(自分の ID に言及のある発言の取得)
            myretweet (自分がリツイートした発言の取得)
            favorite (「お気に入り」にした発言の取得)
            destroy (発言の削除)
            tweet(標準入力の内容を投稿)
--statusid  ステータス ID
--list      リスト ID 
--ckey      コンシューマキー
--csecret   コンシューマシークレット
--akey      アクセスキー
--asecret   アクセスシークレット
--items     出力レコード件数(デフォルトは 60)
--fsep      出力のフィールド・セパレータ(デフォルトは改行)
--rsep      出力のレコード・セパレータ(デフォルトは改行)

twikabiauth.py

twikabiauth.py

コンシューマ・キーとコンシューマ・シークレットをオプションに食わせて、認証手続きを開始。最後にアクセス・キーとアクセス・シークレットが標準出力に出てくる。

python twikabi.py --ckey=CONSUME_KEY --csecret=CONSUMER_SECRET 

tw.sh

tw.sh

twikabi.py と twikabiauth.py のラッパーで、zenity を使った、なんちゃって GUI なシェルスクリプト。おそろしく貧相なものだけど、タイムラインやリストを読んで、リプライしたり、ふぁぼったりそれを外したり、(外部のブラウザによって)リンクを開いたり、リツイート(公式・非公式)したりすることくらいはできる。(投稿・リプライ用エディタが出ているときには「閉じる」を押しても「OK」を押しても、投稿されるから注意)。sed が必要。

twikabi.py と twikabiauth.py を tw.sh と同じディレクトリに入れておく。tw.sh ファイルの先頭あたりを書き換えて、コンシューマ・キーとコンシューマ・シークレットを書き込んでおく。

アクセスキーの設定ファイルへのパス(デフォルト ~/.twikabikey)を引数として tw.sh を起動することにより、複数のアカウントを使い分ける。

――目次――
HOME雑文写真壁紙馬鹿読書語学
│├英語
│└日本語電算地理
│└白地図ブログ