Overview
What apoptotic is
apoptotic is one bot designed to replace the usual stack of five-or-six per-feature
bots. It runs as a single Rust binary on its own VM, talks to Discord through
serenity and poise, and persists everything (moderation cases, AutoMod config,
leveling state, channel-game state, scheduled tasks, BMC memberships) to a local
SQLite database owned by a dedicated worker thread. That design serializes writes
naturally and never blocks Tokio workers, even when a guild generates a burst of
audit-log traffic.
Most configuration can be done either through slash commands or through the
dashboard
— a small website that gives Discord server admins an easy UI for managing the
bot.
Moderation
Moderation suite
The moderation suite covers the full lifecycle of a case: warn,
mute, kick, ban,
tempban, and timeout. Every action is written to
a structured audit log with the moderator, target user, reason, expiry, and
related case IDs. Users can be looked up by ID, mention, or username and the bot
will produce a per-user history view. Tempbans and timeouts auto-expire on the
server side — they do not depend on the bot being online at the exact expiry
moment. An optional appeal flow lets banned users submit a reasoned appeal that
drops into a configured staff channel.
AutoMod
AutoMod
AutoMod is configurable per guild and runs every message through a chain of
filters: word lists with optional regex, spam controls (rate limits and message
repetition), mention controls (cap on @mentions per message), link controls
(per-domain allow/deny lists), phishing-domain detection against a maintained
blocklist, and raid / anti-nuke heuristics that watch for sudden bursts of
deletes, role removals, or webhook creation. Optional alt-account detection is
available through opt-in IP verification — see the
bot privacy policy and the
site privacy policy for exactly what is and is not stored.
Logging
Event logging
Granular event logging lets each guild route specific event categories
— message edits and deletes, role changes, channel creates and deletes,
voice joins and leaves, member joins and leaves, AutoMod actions —
to different channels. Every log entry includes a deep-link to the original
actor and target where applicable, so investigating an incident is a chain of
clicks rather than a manual cross-reference.
Engagement
XP and leveling
A standard XP / leveling system rewards consistent participation. XP is awarded
per message with cooldown protection so it can't be farmed by spam. Roles can
be auto-assigned at configurable levels, level-up announcements can be muted
to a single channel, and a leaderboard command renders the current top
contributors.
Engagement
Channel games
Channel games include the classic counting game (with breaker detection,
save points, and per-channel difficulty) plus a small set of opt-in mini-games
designed for quiet hours rather than dominating the chat. The games share the
same persistence layer as the rest of the bot, so state survives restarts.
Voice
Voice playback
Voice playback supports queueing tracks from supported sources, basic playback
control (play, pause, skip, stop), and per-guild volume defaults. The voice
pipeline runs in its own task so audio decoding never blocks command handling.
Scheduling
Scheduled tasks
Scheduled tasks cover the recurring social rituals that quietly hold a community
together: a daily Question of the Day, birthday reminders, configurable
one-shot reminders, and arbitrary recurring announcements. Schedules are stored
in SQLite and replayed on startup, so a restart never causes a missed birthday.
Roblox
Roblox + SP-Legends integration
apoptotic integrates directly with the
SP-Legends
backend. Inside Discord you can look up a Roblox player, see their public stats,
track absences in private servers, and surface live private-server availability
as embeds. The cross-service link uses an HMAC-signed token and the
/verify endpoint on apoptoses.com hashes the visitor's IP — so the
bot can detect alt accounts that share an IP within the same server without
ever storing a raw IP. The token is single-use and time-limited.
Membership
Buy Me a Coffee tier role sync
For communities that fund themselves through
Buy Me a Coffee,
the bot syncs membership tiers to Discord roles automatically. Linking a BMC
membership to a Discord ID is opt-in. When a tier changes, the corresponding
role is added or removed without manual intervention.
Permissions
Default permissions and why Administrator
apoptotic requests Administrator when invited. That is a broad
scope, and the reason is honesty rather than convenience: several features —
audit logging across every channel, role management for verification and BMC
sync, AutoMod actions (deletes, kicks, bans), and channel-level event logging —
require permissions that, taken together, add up to Administrator anyway.
Splitting them into a custom permission set has historically caused subtle bugs
where a feature silently fails on one server and not another. If you'd rather
invite the bot with a narrower scope and accept that some features will be
disabled, get in touch through the contact form.
Legal
Privacy and Terms
The bot has its own legal documents that cover what it stores about Discord
servers it has been added to (moderation logs, AutoMod rules, leveling XP,
counting state, configured log channels, BMC membership records, and so on).