TootRain 1.7.3 以降は 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"})
今表示されてるコメントは status
から取得するできます。
tell application "TootRain"
every status
end tell
これでコメントの配列を貰えますが、中には以下の情報が入ってます:
id
body
- コメント内容、HTMLなしrawBody
- コメント内容、Mastodonからの投稿は大体 <p>hello</p>
みたいな感じで HTML がついてるusername
screenName
コメントが来る度に呼び出す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 に対応してます。