Closed6

Discord bot を Cloudflare Workers (+AI) で作る

aliyomealiyome

自分用の Discord bot が欲しくなったので開発する。
Discord bot のことはよく知らないので調べるところから。

motivation

ラバーダッキングの効果はとても良いと身に沁みているので、頻繁に利用したい。
しかし、作業に没頭すると長時間黙々と進めてしまい、ラバーダッキングしない。これが良くない。

→ 定期的(20分に一度くらい)に、今何の作業をしているのかを聞いてくる bot が欲しい
できれば bot は会話コンテキストを覚えていてほしい。
xxxの作業中でyyyという状態だったと思うけど、今の進捗はどうですか?みたいな聞き方をしてほしい
テキストまたは音声で bot に作業進捗を伝えると、良い感じに要約したりアドバイスして欲しい

作りたいもの

Discord bot

技術スタック(案)

  • デプロイ先: Cloudflare Workers
  • 使うAI: Cloudflare Workers AI
  • ライブラリ:
    • discord bot 開発用のフレームワーク TODO: 調べる

雑に作りたいので、 DDD やクリーンアーキテクチャみたいな設計にせず、トランザクションスクリプトで作る。ほとんど AI (Codex) に実装してくれって投げるかも。
完全に Vibe Coding せずに、事前にある程度調べてから Vibe Coding する。AI が提案する設計や実装の方が自分の当初の想定よりも優れていたら AI 案を採用する。

aliyomealiyome

今日(2025/10/01)午後から作り始めて、今日中に実装完了したい

aliyomealiyome

**off topic **

Gemini AI Pro プランに加入してるから LLM は Gemini の API を使おうかな、と思ってたけど、Gemini AI Pro プランはあくまで Gemini のアプリを利用するためのもので、API の無料枠が広がったりするわけではなかった。しょんぼり。

aliyomealiyome

作業ログ

  1. npm create cloudflare@latest でプロジェクトを作る
  2. biome や lefthook のいつもの設定をコピペで導入
  3. My Applications | Discord Developer Portal で Discord App を create
  4. Public Key, Application ID をコピーして .env に記録する
  5. Discord Developer Portal の Bot メニューで "Reset Token" をクリックして表示されたトークンを .env に記録する
  6. OAuth2 メニューで Scope を "bot"、 Permission を "Send Messages" と "Use Slash Commands" の 2 つにチェックを入れて招待リンクを作成し、 Bot 任意のサーバにインストール
  7. Discord で Bot を動作させる対象のサーバーIDをコピーして .env に追記する
     DISCORD_TOKEN=zzzz
     DISCORD_PUBLIC_KEY=xxxx
     DISCORD_APPLICATION_ID=yyyy
     DISCORD_TEST_GUILD_ID=aaaaa
    
  8. General Information メニューでInteractions Endpoint URL
    Endpoint に Cloudflare Workers のデプロイ先 (https://XXX.YYY.workers.dev) を設定
  9. Discord Hono を使って hello コマンドを登録した
  10. Discord Hono を使って hello コマンドの応答を実装してデプロイした

https://github.com/aliyome/rubber-duck-sup/commits/main/

aliyomealiyome

面倒になってあとは全部 AI に投げた

このスクラップは11日前にクローズされました