launchd

朝の「状況把握5分」をゼロにするDiscord Bot通知の作り方【Python/launchd】

朝の「状況把握5分」をゼロにするDiscord Bot通知の作り方【Python/launchd】

この記事は約 3 分で読めます

📖 目次
  1. 📌 何が起きたか
  2. 📌 環境
  3. 📌 実際に試したこと
  4. 📌 解決までの実際の手順
  5. 📌 試してわかったこと
  6. 📌 まとめ

Discordに「おはよう通知」を作ったら、思った以上に使えた話

何が起きたか

毎朝、今日やることを把握するのに5分くらいかかってた。ブログの在庫は?X承認待ちは何件?昨夜エラー出た?——全部バラバラのファイルやターミナルを見ないとわからなかった。それを1通のDiscord通知に集約しようと試みた。

環境

  • macOS(MacBook Pro M5)
  • Python + Discord Bot(01_Scripts/discord_bot/bot.py
  • launchd で定時実行
  • Claude Code(Sonnet)で設計・実装

実際に試したこと

最初は「毎朝ダッシュボード送ってくれ」とだけ指示した。Claudeが実装して送信テスト。Discordに届いたのがこれ:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☀️ 04/19 (日) おはようございます
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 今すぐやること
📌 X承認待ちが12件あります → !xapprove で確認
📌 YouTubeの在庫が空です → /youtube-mbti で台本を生成
📌 エラーが発生しています → 下のエラー欄を確認

📦 コンテンツ在庫
🟢 ブルースカイ 39件
🟢 X(エックス) 22件 うち承認済み 12件、未承認 10件
🟢 note 41件
🟢 ブログ 17件
🔴 YouTube 0件

⚠️ 昨夜のエラー(1件)
• KDP:ブラウザ操作がタイムアウト → KDPのページを手動で確認推奨
━━━━━━━

在庫数、承認待ち件数、前夜のエラーが1画面に収まってる。「今すぐやること」セクションが条件付きで出るのが地味に便利で、YouTubeが0件のときだけ台本生成を促す通知が出る。

次に、ポスト内容についてフィードバックした。「専門用語が多すぎてわかりにくい。自分が実際に支持したこと・やったことをベースにできないか」という話をした。スクリーンショットを添えて見せたら、問題がすぐ共有できた。

解決までの実際の手順

通知の設計でポイントになったのは「在庫ゼロのときだけ警告を出す」という条件分岐。実装は quick_status.sh から各キューのカウントを取得して、しきい値以下なら📌を追加する形。

items = []
if youtube_count == 0:
    items.append("📌 YouTubeの在庫が空です → /youtube-mbti で台本を生成")
if x_pending > 0:
    items.append(f"📌 X承認待ちが{x_pending}件あります → !xapprove で確認")
if has_errors:
    items.append("📌 エラーが発生しています → 下のエラー欄を確認")

エラーセクションは前夜のログから自動取得。KDPのタイムアウトが出てたのは、Brave CDPが落ちてた日で、ログに「ブラウザ操作がタイムアウト」と残ってたのをそのまま表示してる。

ポスト文体の修正は、「僕がやったこと・感じたこと」を入力のベースにする方向で調整した。生成AIの出力をそのまま使うんじゃなく、作業ログや実測値を素材にして書かせるフローに変える話になった。

試してわかったこと

毎朝1通届くだけで、「今日の優先度」が決まるスピードが変わった。在庫が見えてると、「今日台本書かないとまずい」が自然にわかる。

専門用語問題は、Claudeが生成したポストがどうしても「AIエンジニアが書いた文章」になりがちで、実体験を混ぜないと読み手には伝わらないという話。ログや会話を入力にすると、具体性が出やすい。

KDPのエラー通知は、Braveが起動してないと毎回タイムアウトになるパターンで、これは通知で気づいて翌朝確認できた。

まとめ

Discord朝通知に在庫・承認待ち・エラーを集約したら、毎朝の確認作業が1通で完結するようになった。
ポスト生成は専門用語より実体験ベースの入力にしたほうが読まれやすい文章になる。
エラー通知は出て終わりじゃなくて、翌朝「手動確認推奨」まで書いておくと実際に動ける。

👨‍💻
一ノ瀬泰斗
AI自動化エンジニア / Python個人開発者

Claude Code × Ollama × launchd で SNS・ブログ・KDPを全自動化。実測データと失敗談を軸に、月5万円収益化のリアルな記録を発信中。