TwitterBotを作るにあたっての覚書 Twitter編
誰でもできるTwitter Botの作り方―人気キャラにつぶやかせるを見ながら作り始めたBot作成ですが、結構本のスクリプトから変えてます。
それについて、現時点でどこを変えたかとか、作ってくうちに知ったTwitterの仕様について軽くメモ。後々増えていく可能性大。
……Twitterご存じの方には「いまさら何を当たり前のことを」なこと多数だと思われますのでご注意。
TwitterのIDとか
Twitterユーザーには数字で9桁のIDが自動的に割り振られている(これは登録数の増加によりドカドカ増えていくと思われる)。
TwitterのID取得の際などに入力する英数字の文字列は「screen_name」とに、日本語名は「name」にそれぞれ格納されている。
タイムライン
タイムラインの各ツイート情報には各ユーザーのプロフィール的な情報も含まれる。というかそっちの方が多い。
これはmention、ダイレクトメッセージなどでも同じ。
また、各ツイートにも一意の数字11桁(2010年8月現在)のIDが割り振られている。
検索(Search)
TLやmentionなどにくらべて1ツイートごとの情報が少ない。
ツイートID、ツイートされた日時、ユーザID、screen_name、ツイート、などくらい。nameはなさげ。
フォローとフォロー解除
- フォローする。>> [Twitterクライアントクラス].friend([ユーザID又はスクリーンネーム])
- フォロー解除する。>> [Twitterクライアントクラス].unfriend([ユーザID又はスクリーンネーム])
なお、タイムライン、mentionの情報には自分が相手をフォロー済みか否かの情報も入っている。(user下following。フォローしてる=true、してない=false)
※前の記事でtwitter_oauthライブラリをfetchで落としてきてましたが、あれ、やっといてよかったと今回思いました。
本で紹介されていたTwitterのAPI Wikiで得られる知識も大事なのですが、結局はRubyと仲立ちをしているこのライブラリでどういう動作になんて名前が割り振られてるか、を知らないとTwitterに対して働きかけられないからです。
例えば「unfuriend」って言葉、wikiのどこ探しても出てきません。フォロー解除のAPIである「friendships/destroy」との仲立ちをしているメソッドの名前が「unfuriend」である、と、ライブラリのソースを直接覗いて見つけ出しました。……見ればすぐ分かる程度のことなんですが(汗)。
とにかく、そういう一手間がいります、ということで。