Skip to content
PT
← Back to the portfolio

Discord bots & community automation

The bots behind the communities

Discord automation for The Camp and DCL: helping members find their people, giving staff better tools and connecting community activity to the web.

My contribution

I maintain and extend a shared utility-bot codebase for The Camp and DCL, configure its community-specific behavior and build the integrations with StaffHub. The work spans Discord interactions, activity tracking, profile rendering and staff-role synchronization.

The Camp + DCL

Shared tools, community-specific behavior

One maintained utility-bot codebase, with each server's roles, channels and clan membership configured separately.

Clan panels & buttons

Clans & member identity

Members create and manage clans, invite or remove members, and customize their clan role, tag, color and icon. Membership is scoped to each server, so a DCL clan and a Camp clan can coexist.

Post & looking-for panels

Anonymous community posts

Button-driven submissions route to community-post or looking-for channels. Image checks, reporting and staff moderation support the flow; author records remain available for staff accountability.

Voice-channel portal

Voice portals

A member can use a portal to move into an eligible voice channel. Each community has its own configured destinations, making it easier to join a conversation.

Automatic role updates

Server-tag roles

The bot grants or removes the configured role when a member's Discord server tag changes, keeping community supporter recognition in sync.

The Camp / StaffHub

From Discord activity to a member platform

The bot captures community events and handles Discord interactions. StaffHub owns the economy rules, profile designs and staff workflows.

?balance

Member points & activity

Track qualifying chat and voice activity and report it to StaffHub. Cooldowns, repeated-message checks and voice eligibility rules limit farming; the website owns balances and reward settings.

?quests

Quests & progress

Read quest definitions from the website, track member progress and report completed objectives. Completion reporting avoids awarding the same quest repeatedly within its reward period.

?rank · ?rep

Ranks & reputation

Show text and voice XP progress through rank commands. Reputation tools let members view feedback and leaderboards, with voting rules enforced by the bot.

?card · ?profile

Shareable profile cards

Request a member's website-designed profile card directly in Discord. StaffHub renders and caches the PNG or animated GIF; sensitive moderation roles are filtered out of card role data.

Website → Discord

Staff roles from StaffHub

Connect Internal Affairs status changes on the website to Discord role grants and removals, reducing manual updates between the staff platform and the server.

How the bot and website work together

Activity

  1. Chat & voice

    Discord events

  2. Bot tracker

    eligibility & cooldowns

  3. StaffHub API

    balances & quest rules

Cards

  1. ?card

    member request

  2. Website renderer

    cached PNG or GIF

  3. Discord reply

    shareable profile

Staff

  1. StaffHub status

    Internal Affairs

  2. Role bridge

    validated update

  3. Discord role

    grant or remove

Built with

  • TypeScript
  • Node.js
  • Discord API
  • PostgreSQL
  • Cloudflare R2
  • StaffHub API
  • systemd

These features describe the configured bot implementation, not a live availability monitor. The shared community tools support The Camp and DCL; the StaffHub points, quests, ranks and profile-card integration shown here is scoped to The Camp.