記事一覧

Twitterの発言をTumblrにまとめるYAYAスクリプト

用意するもの

手順

Twitter側の準備
  • まとめたい発言をfavoって集める。淡々と。
ゴースト側の準備
  • twitalkのインストール
  • サプリメントを当てる
  • twitalkの辞書(拡張子.dic)のどこでもいいので以下のスクリプトを張り付ける。
    usernameとpasswordは自分のを設定する。
    keyはzが嫌なら変える。
sys.key.z
{
  _username = 'username'  // set your username
  _password = 'password'  // set your password

  _fname    = 'favo.txt'
  _event    = 'OnGetFavoritesFromTwitter'
  _url      = "http://%(_username):%(_password)@twitter.com/favorites.xml"
  "\![execute,http-get/
    ,%(_url)/
    ,--async=%(_event)/
    ,--file=%(_fname)/
    ,--param-charset=UTF-8/
  ]\e"
}

OnGetFavoritesFromTwitter
{
  _path = GETSETTING('coreinfo.path') + 'var\favo.txt'
  _id = GetXPath('open', _path)
  _screen_name = IARRAY()
  _text        = IARRAY()
  _url_id      = IARRAY()
  if _id {
    for _i = 1; _i <= 20; _i++ {
      _tmp = GetXPath('get', _id, "/statuses/status[%(_i)]/id")
      if _tmp == ''; break;
      // id
      _url_id      ,= _tmp
      // screen_name
      _screen_name ,= GetXPath('get', _id, "/statuses/status[%(_i)]/user/screen_name")
      // text
      _text        ,= GetXPath('get', _id, "/statuses/status[%(_i)]/text")
    }
    _nop = GetXPath('close', _id)
//    _nop = FDEL(_path)
  }

  _filename = GETSETTING('coreinfo.path') + 'var\stot.txt'
  if !FOPEN(_filename, 'w')
    return

  _flag = 0
  for _i = ARRAYSIZE(_url_id) - 1; _i >= 0 ; _i-- {
    _str = "%(_screen_name[_i]):%(_text[_i]) [http://twitter.com/%(_screen_name[_i])/status/%(_url_id[_i])]"
    FWRITE(_filename, _str)
  }
  FCLOSE(_filename)

  "\![open,file,%(_filename)]\e"
}

OnKeyPress
{
  if ISFUNC('sys.key.' + reference[0]) {
    EVAL('sys.key.' + reference[0])
  }
}
  • zキーを押せばfavoったpostがSTOT形式(後述)で保存されるので、手動でTumblrに張り付ける(手抜き)
閲覧者側の準備

Greasemonkey使ってる人はこれをインストールすると見やすい。

結果

こんな感じにまとめられる。

その他

ShareTwitterOnTumblr(STOT)っていう発言まとめ用の便利なGreasemonkeyスクリプトが昔あったのですが、度重なるTwitterの仕様変更にメンテが追い付かない状態で、YAYAで自作して現在に至るまで使っています。
Tumblrに投稿するまで自動化したいけど面倒なので手動で。