Skip to content

Instantly share code, notes, and snippets.

@testkun08080
Last active June 18, 2025 08:22
Show Gist options
  • Save testkun08080/67e13fe4c58efd86664dddb15682b473 to your computer and use it in GitHub Desktop.
Save testkun08080/67e13fe4c58efd86664dddb15682b473 to your computer and use it in GitHub Desktop.
Ionq_api_uranai
#!/bin/zsh
# you might need to call `chmod +x qUranai_ionq.sh`
# if you want to set the IONQ_API_KEY environment variable before run this script, you can do it like this:
# export IONQ_API_KEY="your_api_key"
set -e
# 🌟 必要な準備
# APIキーの確認
if [[ -z "$IONQ_API_KEY" ]]; then
echo "🚨 Error: IONQ_API_KEY が設定されていません。"
echo "🔑 APIキーを入力してください:"
read -r api_key_input
# 環境変数に設定
export IONQ_API_KEY="$api_key_input"
echo "✅ APIキーを設定しました。"
else
api_key=$IONQ_API_KEY
fi
echo "🔮✨ 今日の運勢を量子の力で占います…少々お待ちください! ✨🔮"
# 🎯 IonQ API でジョブを送信
input_data='
{
"name": "qUranai!",
"shots": 1,
"target": "qpu.aria-1",
"input": {
"qubits": 3,
"circuit": [
{"gate": "h", "target": 0},
{"gate": "h", "target": 1},
{"gate": "h", "target": 2}
]
}
}'
# 🎯 IonQ API でジョブを送信
resp=$(curl -s -X POST https://api.ionq.co/v0.3/jobs \
-H "Authorization: apiKey $api_key" \
-H "Content-Type: application/json" \
-d "$input_data")
echo "API Response: $resp"
# ジョブIDを取得
job=$(echo $resp | jq -r .id)
echo "🌌 ジョブID: $job を送信しました!"
# ⏳ 完了待ち
while true; do
sleep 2
job_status=$(curl -s -H "Authorization: apiKey $api_key" https://api.ionq.co/v0.3/jobs/$job | jq -r .status)
echo -n "現在のステータス: $job_status \n"
[[ $job_status = "completed" ]] && break
[[ $job_status = "failed" ]] && { echo "\n💔 ジョブが失敗しました。詳細は以下を確認してください:"; curl -s -H "Authorization: apiKey $api_key" https://api.ionq.co/v0.3/jobs/$job | jq; exit 1; }
done
echo "\n🌟 ジョブが完了しました!結果を取得します…"
# 🌠 結果を取得して占い結果を解析
results_url="https://api.ionq.co/v0.3/jobs/$job/results"
echo "結果のURL: $results_url" # デバッグ用出力
out=$(curl -s -H "Authorization: apiKey $api_key" $results_url)
echo "API Response: $out" # デバッグ用出力
# 結果データをJSONとして解析
resultNum=$(echo $out | jq -r 'to_entries | max_by(.value) | .key')
echo "結果のキー: $resultNum" # デバッグ用出力
# resultNum が null の場合
if [[ -z "$resultNum" || "$resultNum" == "null" ]]; then
echo "🚨 Error: 結果データの解析に失敗しました。APIレスポンスを確認してください。"
exit 1
fi
# 🎁 占い結果リスト
fortunes=(
"🌟✨ 大吉:今日は最高の1日になる予感! ✨🌟"
"🎉 中吉:素敵な出来事が待っています! 🎉"
"😊 小吉:笑顔で過ごせる1日になりそう! 😊"
"🌈 末吉:小さな幸せを見つけてください! 🌈"
"⚠️ 凶:慎重な行動を心がけましょう! ⚠️"
"💀 大凶:次のチャンスに期待しましょう! 💀"
"✨ 特別運:何か素晴らしいことが起きるかも! ✨"
"🌀 ミステリー運:未知の出来事が待っています… 🌀"
)
# 🏆 結果を表示
fortune=${fortunes[$((resultNum % ${#fortunes[@]} + 1))]}
echo "🎊✨ 今日の占い結果 ✨🎊"
echo "----------------------------"
echo "$fortune"
echo "----------------------------"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment