---
title: "Deploy AI-Ready Discord Ticket Bot"
description: "Discord Ticket + Web Panel with reports & config+. 3 langs (PT, ES, EN)."
category: "Bots"
url: https://railway.com/deploy/discord-ticket
---

# Deploy AI-Ready Discord Ticket Bot

Discord Ticket + Web Panel with reports & config+. 3 langs (PT, ES, EN).

**[Deploy AI-Ready Discord Ticket Bot on Railway](https://railway.com/template/discord-ticket)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/discord-ticket/manifest.json

- **Creator:** Jorge Henrique's Projects
- **Category:** Bots
- **Total deploys:** 22

## Template content

### Discord Pro Ticket https://devicons.railway.com/i/discord.svg

- **Source:** jorgehenrrique/docker-discord-bot-pro-ticket
- **Public domain:** Yes

### MongoDB https://devicons.railway.app/i/mongodb.svg

- **Image:** mongo:8.0
- **Start command:** `docker-entrypoint.sh mongod --ipv6 --bind_ip ::,0.0.0.0 --setParameter diagnosticDataCollectionEnabled=false`

## Documentation

# Deploy and Host Pro Ticket Discord Bot on Railway

Professional Discord ticket bot with optional **AI auto-support**, web panel 2.0, 30+ slash commands, Steam OAuth, smart tags, transcripts, and reports. Languages: PT-BR, EN-US, ES-ES. One-click deploy — provide bot token, client secret, and server ID.

## About Hosting Pro Ticket Discord Bot

Railway provides MongoDB, SSL, and scaling. This template pre-configures env vars and DB connection. You only set Discord credentials; the rest (including `AI_MASTER_KEY` for encrypting AI API keys) is auto-configured. Steam verification needs Public Networking on port **8080**.

### Keep the Docker image updated

The bot runs from `ghcr.io/jorgehenrrique/pro-ticket-bot:latest`. After deploy, open Railway → bot service → **Settings → Source** (Deploy from Image) and enable automatic checks / updates for the image (or periodically **Check for updates** + redeploy). Otherwise your project keeps an old build after we publish new `:latest` versions.

## Common Use Cases

- **Game servers** — Tickets by server/type, Steam verify, staff stats, HTML transcripts
- **Helpdesk** — SLA, tags, custom fields, scheduled reports, optional AI first-line support
- **Communities** — Auto-voice, welcome DMs, ratings, blacklist, anti-flood / bait channel

## Dependencies for Pro Ticket Discord Bot Hosting

- **MongoDB** — Included in template
- **Node.js >= 22** — Handled by Railway
- **BOT_TOKEN**, **DISCORD_CLIENT_SECRET**, **GUILD_ID** — Discord Developer Portal (below)
- **STEAM_API_KEY** _(optional)_ — [steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)
- **AI_MASTER_KEY** — Auto-generated by this template (do **not** change after saving AI API keys in the panel)

Also need: [Railway](https://railway.com) account, Discord app, and a server where you are Administrator.

### Implementation Details

#### Pre-Deploy: Discord Bot Setup

**1 — Create app:** [Discord Developer Portal](https://discord.com/developers/applications) → New Application → Create.

**2 — Bot tab:** Disable **Public Bot**. Enable **Server Members Intent** and **Message Content Intent** (Presence not required).

**3 — Token:** Bot → Reset Token → copy and store securely (shown once).

**4 — Client Secret:** OAuth2 → General → Reset Secret → save as `DISCORD_CLIENT_SECRET`. OAuth redirect is added after deploy (Post-Deploy step 2).

**5 — Invite:** OAuth2 → scopes `bot` + `applications.commands` → permissions **Administrator** → open invite URL → authorize on your server.

**6 — Guild ID:** Discord User Settings → Advanced → Developer Mode → right-click server → Copy Server ID.

**7 — Steam key (optional):** Only for Steam profile images in verification.

#### Deploy

Click **Deploy** → set:

- `BOT_TOKEN` · `DISCORD_CLIENT_SECRET` · `GUILD_ID`
- `STEAM_API_KEY` _(optional)_

All other vars are pre-configured (`MONGO_URI`, `BASE_URL`, `PORT`, `AI_MASTER_KEY`, etc.). Wait 2–5 minutes.

`AI_MASTER_KEY` encrypts AI provider keys in MongoDB. The template generates it once — **do not rotate** it after you save an API key in the panel (decryption would fail and you must re-enter keys).

**Web panel:** After the OAuth redirect (below), open your Railway public URL, log in with Discord, manage tickets/settings, and optionally enable AI under **Assistente IA**.

#### Post-Deploy Steps

1. Confirm the bot is **online** in Discord
2. **OAuth redirect:** Service → Settings → Networking → copy public domain → Discord OAuth2 → Redirects → add:
   ```
   https://YOUR_RAILWAY_DOMAIN/api/auth/discord/callback
   ```
   Example: `https://pro-ticket-bot.railway.app/api/auth/discord/callback`
3. `/start` — timezone, language, ticket category, transcript & attachments channels, staff role
4. `/ticket setup-panel` (or publish from the web panel)
5. _(Optional)_ Steam: Networking port `8080` → `/config-verification` + `/config-steam-buttons`
6. _(Optional)_ AI: panel → Assistente IA (provider + API key). Requires `AI_MASTER_KEY` (already set). Never rotate that env after keys are saved.

#### Key Features

Run **`/start`**, then publish the open-ticket panel.

![Ticket open panel](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/discord-ticket-panel.png)

![Web dashboard](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/web-dashboard.png)

![Optional AI — settings](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/web-ai-config.png)

![AI knowledge base](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/web-ai-knowledge.png)

![AI ops & insights](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/web-ai-ops.png)

![Ticket controls](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/discord-ticket-controls.png)

![Steam verification](https://raw.githubusercontent.com/jorgehenrrique/docker-discord-bot-pro-ticket/main/.github/images/web-verification.png)

- **Optional AI auto-support** — Knowledge base, memories, learning, media, auto-tags, voice; staff tools via `/ai`; user language via `/language`. Configure provider + API key in the web panel (needs `AI_MASTER_KEY`, already set)
- **Web panel** — Discord OAuth; live tickets; staff/user stats; live transcripts; full settings UI (PT-BR / EN-US / ES-ES)
- **Tickets** — Game/any servers + types with staff roles; smart tags that swap channel access; custom fields, invites, claim/finalize, voice, auto-close/reopen
- **Ratings & reports** — Mutual ratings; scheduled or on-demand reports; charts + JSON/CSV export
- **Steam** — OAuth + verified role; optional reward webhook; public API lookup/link/delete
- **Moderation & community** — Anti-flood, bait channel (kick/timeout/ban); sticky/scheduled messages; text commands; mention replies; role menus; welcome DMs; auto-voice

##### Commands inside an open ticket

- `/close` — Owner / Staff / Admin — Close current ticket
- `/finalize` — Staff / Admin — Finalize message (user closes or continues)
- `/ticketc invite` · `remove` · `list` — Owner\* / Staff / Admin — Guests
- `/reputation positive` · `negative` · `view` · `/timer` — Staff / Admin
- `/language` — Preferred ticket language (pt-BR / en-US / es-ES)
- `/ai ticket` · `learn` · `summary` · `suggest` · `reply` · `tag` · `translate` · `voice` · `insights` — Staff AI tools
- `/ai status` · `toggle` · `reindex` — Admin AI controls

Related: `/open` — Staff/Admin opens a ticket for another user. Channel buttons: claim, voice, tags, keep-open, etc.

\*Owner invites only if enabled in settings. Details: [docker-discord-bot-pro-ticket](https://github.com/jorgehenrrique/docker-discord-bot-pro-ticket)

## Why Deploy on Railway?

- **MongoDB + SSL** — Included; HTTPS for Steam OAuth and web login
- **One-click** — Pre-configured env (incl. `AI_MASTER_KEY`); logs; 24/7

[**Support**](https://discord.gg/tEp2D7MbjZ)

## Similar templates

- [Telegram JavaScript Bot](https://railway.com/deploy/5lRkWa) — A template for Telegram bot in JavaScript using grammY
- [Cobalt Tools [Updated Sep ’26]](https://railway.com/deploy/cobalt) — Cobalt Tools [Sep ’26] (Media Downloader, Converter & Automation) Self Host
- [Telegram Gateway](https://railway.com/deploy/railway-telegram-gateway) — Multi-bot Telegram webhook gateway with WebSocket event streaming

Open this page in a browser: https://railway.com/deploy/discord-ticket
