Skip to content
← All Projects
M

Myth

Personal project

A feature-rich Discord bot designed for managing large-scale gaming guilds and communities. Myth handles roster management, event scheduling, DKP/loot tracking, attendance logging, and cross-server alliance coordination. Built to support guilds with thousands of members across games like WoW, FFXIV, and New World.

Key Features

  • Roster management with class, role, and gear-score tracking per member
  • Event scheduler with RSVP, reminders, and automatic role-based sign-up slots
  • DKP and loot distribution system with customizable point rules and bid tracking
  • Attendance logging with automated tracking from voice channels during raids
  • Cross-server alliance tools for coordinating multi-guild events and wars
  • Admin panel with rich embeds for guild stats, activity reports, and member audit logs

The challenge

A raid guild of a few dozen people can be run out of a pinned message. A guild of thousands cannot. At that size the coordination work, who is on the roster, what they play, whether they actually showed up, who has earned the next drop, and which allied guild is bringing what to a war, outgrows every tool a Discord server ships with, and it lands on officers as unpaid administrative labor done in spreadsheets alongside the game they were trying to play. Loot is where it turns genuinely contentious, because distributing rewards without a transparent recorded rule is the fastest way to lose members who feel skipped. Attendance is where it turns tedious, since somebody has to note who was present through a three-hour raid rather than who said they would be. And none of it holds still across titles: World of Warcraft, Final Fantasy XIV, and New World describe classes, roles, and progression differently enough that a system modeled on any one of them fits the others badly.

The approach

Myth models the guild rather than the chat. The roster tracks each member's class, role, and gear score, which is what makes event sign-up schedulable in the first place: the scheduler runs RSVPs, reminders, and role-based sign-up slots, so a raid fills by composition rather than by whoever clicked first, and an officer sees the gap in tanks or healers before the night starts instead of during it. Loot runs on DKP with customizable point rules and bid tracking, so earning and spending are both recorded and the outcome of a contested drop can be shown rather than argued. Attendance is automated off voice channels during raids, because presence in the raid's voice channel is a signal the game night already generates for free, and reading it beats asking anyone to keep a list by hand. MongoDB backs the persistence because the shape of the data varies by design: rosters, DKP rule sets, and event definitions differ per game and per guild, and a document model absorbs that variation without a schema migration for every new title or house rule. Redis holds the ephemeral layer of active event state, in-flight loot bids, and cached rosters, with Node.js and Discord.js running the bot itself.

The outcome

Modelling the guild rather than the chat changes what raid night feels like, and each of those choices has a second edge. Because earning and spending are both recorded against point rules the guild agreed in advance, a contested drop becomes a lookup rather than an argument — which moves an officer's authority from judgment onto the record, and puts the weight on getting those rules right up front, since the record is now the thing anyone unhappy will argue with. Reading attendance off voice presence costs nobody anything during the raid and survives a long night no human would log by hand, but what it measures is being in the channel rather than pulling weight, which is a trade worth making and worth knowing you made. The document model buys a new title or a new house rule without a migration, at the price of enforcing shape in the bot rather than in the database. And alliance coordination has to reach outside any single server's state, because an alliance's members are by definition not all sitting in one Discord. The net effect is that officers spend their evenings on composition, strategy, and recruitment instead of on the bookkeeping that used to surround them.

Tech Stack

TypeScriptDiscord.jsMongoDBRedisNode.js