TootRain と自動化

TootRain 1.7.3 以降は AppleScript とショートカットに対応してます。

AppleScriptでコメントを表示

Script Editor から TootRain で使えるコマンドをアクセスできます、例えばこういうAppleScript でコメントを表示できます。

tell application "TootRain"
    show status "Hello world"
end tell

一部のHTMLタグも対応してるので、例えば画像をこういう風に入れられます。

tell application "TootRain"
    show status "Hello<img src=\"https://is-he.re/emoji/lihkg/big-smile.gif\">world" avatar "https://is-he.re/emoji/lihkg/cow-ball.gif"
end tell

OS X 10.10 から、AppleScript だけじゃなくて、JavaScript も使えるようになったので、この JS で上と同じ挙動にできます。

TootRain = Application("TootRain")
TootRain.showStatus("hello", {"avatar":"https://is-he.re/emoji/lihkg/big-smile.gif"})

コメントを TootRain から取得

今表示されてるコメントは status から取得するできます。

tell application "TootRain"
    every status
end tell

これでコメントの配列を貰えますが、中には以下の情報が入ってます:

コメントが来る度に呼び出すAPIはないが、 status を定期的に取得することで、擬似的にリアルタイムなコメント処理ができます。例えばこれはコメントが来る度に読み上げる AppleScript です。

tell application "TootRain"
    set lastHandled to ""
    repeat
        set allStatuses to every status
        if allStatuses's length is greater than 0 then
            set lastStatus to the last item of allStatuses
            if lastStatus's id is not equal to lastHandled then
                set statusBody to lastStatus's body
                say statusBody using "Kyoko"
                set lastHandled to lastStatus's id
            end if
        end if
        delay 1
    end repeat
end tell

ショートカット

ショートカットとの整合はもっと簡単です、今対応してるのは TootRain で任意のコメントを表示するコマンドだけです。AppleScript と同じく一部の HTML に対応してます。