The Discord companion for the TarkovTracker.org community: slash commands, reaction roles, welcome automation, ticket creation, and a public bug-intake portal that forwards reports straight to GitHub.
TrackerBot runs two services side by side:
| Service | Entry point | Responsibility |
|---|---|---|
| Discord bot | bot.js |
Slash commands, reaction roles, welcome automation, and ticket creation. |
| Bug intake web server | webserver.js |
Serves the public issue forms and forwards submissions to GitHub. |
Requires Node.js 18+.
- Ticket creation flow with private support channels
- Reaction-role assignment and a
put-member-rolebulk role command - Automated welcome messages and auto-roles for new members
- Quick announcement helpers (
/message,/faq1,/utd) - One-command channel archiving (
/archive) - Public web forms that open GitHub issues for bug and data reports
npm installCopy .env.example to .env and fill in every value:
- Discord bot basics:
DISCORD_TOKEN,GUILD_ID - GitHub issue routing:
GITHUB_TOKEN,REPO_DEV,REPO_DATA_REPORT - Channel IDs for automated posts:
BUG_REPORT_CHANNEL_ID,TICKET_CHANNEL_ID,WELCOME_CHANNEL_ID - Web server port override:
PORT
GITHUB_TOKENneedsreposcope (or equivalent granular access) to create issues in the configured repositories.
Start everything at once:
npm startThis launches the bot and issue intake web server in parallel. Logs for each service are prefixed with bot or web.
Or run a single service:
npm run start:bot # Discord bot
npm run start:web # Public issue forms (http://localhost:3000)- Bot login success is logged as soon as Discord authenticates the token.
webserver.jsserveshttp://localhost:3000(issue portal), plushttp://localhost:3000/issueandhttp://localhost:3000/data(forms).
| Command | Description |
|---|---|
/message |
Send a message as the bot (Discord Admin only). |
/faq1 |
Post the FAQ notice about site stability. |
/utd |
Post the update-in-progress notice. |
/archive |
Archive the current channel and move it to the Archive category. |
/put-member-role |
Add the member auto-role to everyone missing it (Admin only). |
trackerbot/
├── bot.js # Discord bot entry point
├── webserver.js # Public bug/data intake server
├── src/
│ ├── client/ # Discord client setup
│ ├── commands/ # Slash command registration
│ ├── config/ # Env validation and constants
│ ├── handlers/ # Interaction and member event handlers
│ ├── interactions/ # Slash and button handlers
│ └── utils/ # Shared helpers (e.g. card embeds)
└── web/ # Static issue/data report forms
Issues and pull requests are welcome. Please open an issue to discuss substantial changes before submitting a PR.
Released under the MIT License.