RaycastでMastdonに日本語を翻訳してから英語で投稿する
必要なコマンド
jq
chatgpt
toot
以下をスクリプトとして登録して、動かしている。 @raycast.argument1 を書いておかないと引数を取れないので注意。
code:bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title toot
# @raycast.mode compact
# Optional parameters:
# @raycast.icon 🤖
# Documentation:
# @raycast.description Toot to Mastodon in Enligsh
# @raycast.argument1 { "type": "text", "placeholder": "blah blah blah", "percentEncoded": false }
# @raycast.author serizawa
to() {
# ヒアドキュメント形式でテンプレートを変数に代入
local template=$(cat <<EOF
You are a software engineer with expertise in web technologies.
Translate the input text to English. You do not have to respect the Japanese separators in the input. Make it readable as English and natural in English. Please use frank English, as if you were posting on Twitter or Reddit. You may use slang.
Do not return anything other than the translated text. Do not wrap responses in quotes.
“””
$@
“””
EOF
)
# テンプレートが空文字でない場合にtootする
chatgpt "$template" | toot post -l en --json | jq -r .uri
fi
}
to "$1"