Pythonでおみくじアプリを作ろう!

Xでおみくじ企画

こんにちは、Python初心者のハナマルコです。
今日もチャッピー先生と一緒に、ゆるっとPython勉強していきます。

今回はちょっと実験的なことに挑戦してみました。

ハナマルコ

X(旧Twitter)で、おみくじリプ企画をやってみたい!

SNSでよく見る「この投稿にリプしてくれたら占い返すよ〜」というあれ。
おもしろいしやってみたいけど……

  • いちいち手でコメント考えるのめんどくさい…
  • 自分でちょっとしたプログラム作れたら便利じゃない?
チャッピー先生

それなら、Pythonistaを使えばiPhoneだけでできますよ。

さすがチャッピー先生、Pythonista(iOS向けのPythonアプリ)を使って「おみくじ自動返信ポスト」を作りたい!

読みたいところに飛べる目次

目標|Xのリプに占い結果を自動で返したい

今回目指したのはこんな感じ

  • Pythonでおみくじ結果(運勢+コメント+ラッキーアイテム)をランダムで出す
  • リプをくれた人の名前を入力すると、自動で返信文を生成
  • その文章をXにコピペして返信できるようにする
  • Pythonistaだけで完結!(スマホだけでOK!)

これ、初心者でもめっちゃ楽しくできた上に、思わぬトラブルもあって学びだらけでした…。

完成コード|自動クリップボード付きおみくじ返信ツール

まずは、最終的に完成したコードをご覧ください(コピペで動かせます)

import random
import clipboard  # ← Pythonista専用!これで自動コピー✨

print("🔮 Pythonおみくじ実行中…")
print("リプをくれた人の名前(@を除いたユーザー名)を入力してください👇")

name = input("名前を入力:").strip()

fortunes = [
    ("🌟大吉", "最高の幸運が舞い込む予感!思い切って行動しよう!"),
    ("😊中吉", "いい流れが来てます!チャンスは積極的につかんで!"),
    ("🙂小吉", "小さな幸せに気づける一日。感謝を忘れずに◎"),
    ("😐吉", "悪くはない!いつも通りを楽しもう。"),
    ("😅末吉", "努力が実るまであと少し。焦らず着実に!"),
    ("☁️凶", "運気は停滞気味。でもミスをチャンスに変えられるかも!"),
    ("⚡大凶", "今日は慎重に。無理せず休むのも大切。")
]

lucky_items = [
    "🍵お茶", "📚本", "🎧イヤホン", "🍫チョコレート",
    "👟スニーカー", "💻パソコン", "🧸ぬいぐるみ",
    "🍙おにぎり", "📱スマホ", "✏️えんぴつ"
]

fortune, comment = random.choice(fortunes)
item = random.choice(lucky_items)

reply = (
    f"@{name} さんの今日の運勢は…\n"
    f"{fortune}!\n{comment}\n"
    f"💡ラッキーアイテム:{item}"
)

clipboard.set(reply)  # ← ここで自動コピー!

print("\n✅ おみくじ結果をクリップボードにコピーしました!")
print("Xの返信欄にそのままペーストして使ってください✨\n")
print("📋 コピー内容 ↓\n")
print(reply)

ポイント解説

実行方法(Pythonista)

  1. Pythonistaでコードを保存(例:omikuji.py
  2. 実行すると名前入力欄が出る
  3. ハナマルコ のように @なしで入力
  4. 結果が自動でコピーされる!

出力イメージ

✅ おみくじ結果をクリップボードにコピーしました!
📋 コピー内容 ↓

@ハナマルコ さんの今日の運勢は…
⭐大吉!
最高の幸運が舞い込む予感!思い切って行動しよう!
💡ラッキーアイテム:🎧イヤホン

あとは、Xの返信欄をタップ → ペースト → 投稿するだけ!

トラブル発生!?コピー後に赤い四角が!

コピペで赤いマークがでてしまう
コピペで赤いマークがでてしまう

ところが…

ハナマルコ

🟥 コピーした文章の最後に「赤い四角(□)」が出てくる!?!?

なんだこれ!?なんか変な文字入っちゃった!?

最初はかなり焦りました…

原因は「絵文字や特殊文字の表示の仕方」だった!

チャッピー先生に助けを求めてわかったのは…

チャッピー先生

🟥は「壊れた文字」ではなく「表示できないだけ」の文字です。

つまり:

  • 一部の絵文字やUnicode文字(たとえば 🖊️🌧️)は、表示環境によって正しく見えないことがある
  • iOSやPythonistaのコンソール上で見えない文字は、🟥で代用される
  • でもX(Twitter)に投稿するとちゃんと表示される

実際、コピペしてツイートしてみたら…

ハナマルコ

🟥は消えて、ちゃんと占い結果が表示されてるーーー!!

対処法も一応やってみた(でも不要だった)

チャッピー先生に教えてもらい、念のため以下の対策も入れてみました。

  • .strip() で名前入力の空白・改行除去
  • .encode('utf-8').decode('utf-8') で不可視文字除去
  • 絵文字リストを「安全なものだけ」に限定

でも、最終的には不要と結論にいたりました。

🟥は見えるだけで、壊れていない
そのまま投稿してOK!

学びポイントまとめ|Python初心者でもここまでできた!

✅ PythonistaならスマホだけでPython実行ができる
input()random.choice()f-string だけで立派な占いロジックが作れる
clipboard.set() を使えば自動コピーまでできちゃう
✅ Unicode絵文字は環境依存!見た目より中身!

おまけ|こんなツイートで企画してみました

企画】Pythonでおみくじ返信中
この投稿にリプくれた方に、手作りPython占い結果を返信します
実験も兼ねてるのでお気軽にどうぞ〜!

意外と興味持ってくれる方がいて、リプが来たら楽しく返信できました!

まとめ

最初は「Pythonなんてムズそう…」と思っていた私でも、Xの企画に使えるツールを自作できたのは、ほんとにうれしい経験でした!

しかも、

  • プログラミングの基礎練習になるし
  • 実際に使えるし
  • フォロワーと交流できるし

と、一石三鳥!

「赤い四角が出た」っていうハプニングも含めて、めっちゃ学びのある1日になりました。

最後まで読んでいただき、ありがとうございました!

当ブログは基本的にリンクフリーです。リンクを行う場合の許可や連絡は不要です。

Xでおみくじ企画

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
読みたいところに飛べる目次