{
  "id": "discord-bot",
  "title": "Discord bot in an afternoon",
  "category": "agents",
  "job": "Build and host an AI-powered Discord bot for your server.",
  "difficulty": "Intermediate",
  "tools": [
    {
      "id": "claude-code",
      "name": "Claude Code",
      "url": "https://claude.com/product/claude-code",
      "kind": "coding-agent",
      "summary": "Anthropic's agentic coding tool for the terminal and IDEs. Included in paid Claude plans.",
      "open_source": false,
      "pricing": {
        "plans": [
          {
            "name": "Pro",
            "usd_month": 20,
            "note": "$17/mo billed yearly; 5-hour and weekly usage limits"
          },
          {
            "name": "Max 5x",
            "usd_month": 100,
            "note": "5x Pro usage per session"
          },
          {
            "name": "Max 20x",
            "usd_month": 200,
            "note": "20x Pro usage per session"
          }
        ],
        "source": "https://claude.com/pricing?mode=code",
        "status": "verified",
        "notes": "Free Claude plan does not include Claude Code."
      },
      "last_checked": "2026-10-21"
    },
    {
      "id": "discordjs",
      "name": "discord.js",
      "url": "https://discord.js.org",
      "kind": "library",
      "summary": "The standard Node.js library for Discord bots.",
      "open_source": true,
      "pricing": {
        "plans": [
          {
            "name": "Open source",
            "usd_month": 0,
            "note": ""
          }
        ],
        "source": "https://discord.js.org",
        "status": "unverified",
        "notes": "Not re-checked this cycle."
      },
      "last_checked": "2026-10-21"
    },
    {
      "id": "railway",
      "name": "Railway",
      "url": "https://railway.com",
      "kind": "hosting",
      "summary": "Deploy always-on services (bots, APIs, workers) from a repo.",
      "open_source": false,
      "pricing": {
        "plans": [
          {
            "name": "Hobby",
            "usd_month": 5,
            "note": "Includes $5 of usage; overage billed on top"
          }
        ],
        "source": "https://docs.railway.com/pricing/plans",
        "status": "verified",
        "notes": null
      },
      "last_checked": "2026-10-21"
    }
  ],
  "model": "Claude Sonnet 5.5 to build; Claude Haiku 5.5 inside the bot",
  "mcp_servers": [],
  "config": {
    "filename": ".env.example",
    "language": "bash",
    "code": "DISCORD_TOKEN=\nANTHROPIC_API_KEY=\n# never commit .env"
  },
  "starter_prompt": "Create a discord.js bot with slash commands /ask (answers with Claude Haiku 5.5, max 300 tokens) and /help. Add per-user rate limiting, ignore other bots, read secrets from .env, and add a Procfile or start script so it runs on Railway.",
  "monthly_cost": {
    "min_usd": 25,
    "max_usd": 30,
    "note": "Claude Pro $20 to build, Railway Hobby $5 (includes $5 usage). Bot API calls are pay-per-token on top, small with Haiku 5.5."
  },
  "steps": [
    "Create the app in the Discord Developer Portal and copy the token.",
    "Run the prompt in Claude Code.",
    "Test in a private server.",
    "Deploy to Railway with the env vars set."
  ],
  "why_this_works": "A small, always-on service is exactly what Railway's Hobby plan is for.",
  "watch_out": "Rate limit /ask or a busy server will run up your API bill.",
  "unverified": [
    "discord.js details not re-checked this cycle."
  ],
  "tested": false,
  "last_checked": "2026-10-21"
}