こんにちは、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)
- Pythonistaでコードを保存(例:
omikuji.py
) - 実行すると名前入力欄が出る
ハナマルコ
のように @なしで入力- 結果が自動でコピーされる!
出力イメージ
✅ おみくじ結果をクリップボードにコピーしました!
📋 コピー内容 ↓
@ハナマルコ さんの今日の運勢は…
⭐大吉!
最高の幸運が舞い込む予感!思い切って行動しよう!
💡ラッキーアイテム:🎧イヤホン
あとは、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日になりました。
最後まで読んでいただき、ありがとうございました!