Pythonista 3でおみくじ自動返信アプリを作る|SNS連動ガイド

    Pythonでおみくじアプリを作る ハナマルコ アイキャッチ

    こんにちは、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日になりました。

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

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

    Pythonでおみくじアプリを作る ハナマルコ アイキャッチ

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

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