{
  "manifest_version": "1.0.0",
  "template": {
    "id": "ef89c3fb-54ad-480b-9353-862f25351f66",
    "slug": "discord-bot-or-python-starter-that-build",
    "name": "Discord Bot | Python Starter That Builds, discord.py 2.7",
    "description": "Discord bot starter that builds: current discord.py, pinned Python.",
    "url": "https://railway.com/deploy/discord-bot-or-python-starter-that-build",
    "upstream": {
      "repo_url": "https://github.com/ak40u/discordpy-railway-starter"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "discordpy-railway-starter",
      "source": {
        "repo": "https://github.com/ak40u/discordpy-railway-starter"
      },
      "needs_volume": false,
      "http": false
    }
  ],
  "required_inputs": [
    {
      "key": "DISCORD_TOKEN",
      "service": "discordpy-railway-starter",
      "description": "Bot token from the Discord Developer Portal: Applications, your app, Bot, Reset Token. Nothing else has to be switched on - the sample commands are slash commands and need no privileged intent.",
      "secret": true,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "ENABLE_MESSAGE_CONTENT",
      "service": "discordpy-railway-starter",
      "description": "Set to true to turn on the !ping and !hello prefix commands. They read message text, so the Message Content intent has to be enabled in the Developer Portal as well. Slash commands work either way.",
      "secret": false,
      "strategy": "default",
      "default": "false"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "discord-bot-or-python-starter-that-build"
      }
    },
    "cli": "railway deploy --template discord-bot-or-python-starter-that-build",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "ef89c3fb-54ad-480b-9353-862f25351f66",
            "serializedConfig": {
              "services": {
                "8a587cce-b537-418c-a0c4-afdd5478488c": {
                  "icon": "https://devicons.railway.com/i/discord.svg",
                  "name": "discordpy-railway-starter",
                  "source": {
                    "repo": "ak40u/discordpy-railway-starter",
                    "branch": null,
                    "rootDirectory": null
                  },
                  "variables": {
                    "DISCORD_TOKEN": {
                      "description": "Bot token from the Discord Developer Portal: Applications, your app, Bot, Reset Token. Nothing else has to be switched on - the sample commands are slash commands and need no privileged intent.",
                      "defaultValue": "{{DISCORD_TOKEN}}"
                    },
                    "ENABLE_MESSAGE_CONTENT": {
                      "isOptional": true,
                      "description": "Set to true to turn on the !ping and !hello prefix commands. They read message text, so the Message Content intent has to be enabled in the Developer Portal as well. Slash commands work either way.",
                      "defaultValue": "false"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {},
  "resources": {
    "expected_services": 1,
    "needs_volume": false
  },
  "generated_at": "2026-09-04T13:32:45.587Z",
  "generator_version": "0.1.0"
}
