Last active
June 18, 2025 08:22
-
-
Save testkun08080/67e13fe4c58efd86664dddb15682b473 to your computer and use it in GitHub Desktop.
Ionq_api_uranai
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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