basyura's blog

あしたになったらほんきだす。

twibill.vim - json 対応

Rubytter.rb の vimscript 版。
https://github.com/basyura/twibill.vim

xml から json にしたら処理が早くなった上に api も分かりやすくなった。

get twibill instance

let twibill = twibill#new({
  \ 'access_token' : your access token, 
  \ 'access_token_secret' : your access token secret })

home timeline

let tweets = twibill.home_timeline()
for t in tweets
  echo t.user.screen_name . ' : ' . t.text
endfor

mentions

let tweets = twibill.mentions()
for t in tweets
  echo t.user.screen_name . ' : ' . t.text
endfor

user timeline

let tweets = twibill.mentions()
for t in tweets
  echo t.user.screen_name . ' : ' . t.text
endfor

friends

let friends = twibill.friends('basyura')
for v in friends
  echo v.screen_name
endfor

list statuses

let tweets = twibill.list_statuses('basyura', 'vim')
for t in tweets
  echo t.user.screen_name . ' : ' . t.text
endfor

lists

for list in twibill.lists('basyura').lists
  echo list.full_name "=> @basyura/list_name
endfor
for list in twibill.lists('basyura').lists
  echo list.full_name "=> list_name
endfor

list members

let users = twibill.list_members('basyura', 'vim').users
for u in users
  echo u.screen_name
endfor

favorites

let favorites = twibill.favorites('basyura')
for f in favorites
  echo f.user.screen_name . ' : ' . f.text
endfor

ちなみに、webapi-vim を除くと 140行で、api の定義文字列も除くと 79 行でできているので vimscript の動的っぷりもなかなかだと思う。