Talk to me · Julian Reder · Resume · GitHub

Triggered

Discord Bots · 2023 - 2026

A rule-based Discord automation bot that allows server administrators to configure custom event triggers and actions without writing code, with configuration stored in MongoDB.

2023 - 2026 View Project ↗
Pythondiscord.pyMongoDBDocker
message reaction / voice role / schedule JSON registry trigger to action Slash UX validate, autocomplete MongoDB per-guild rules
Workflow diagram showing how server events are matched against registered trigger definitions and executed according to stored rules.

Built

I built Triggered to let Discord community managers create automated event-driven workflows, similar to services like IFTTT. Users configure custom rules triggered by chat messages, emoji reactions, voice channel events, role assignments, or recurring schedules. Triggers and corresponding actions are defined in a modular JSON registry that powers Discord slash command autocomplete and input validation, with server configurations persisted safely in MongoDB.

Configurable server automation

Managing active Discord communities often requires handling repetitive administrative tasks, such as granting roles when users react to a message, welcoming members when they join specific voice channels, or posting reminders on recurring schedules. Instead of writing custom code for every small request, I developed Triggered to provide a flexible rule engine where server moderators can assemble custom workflows directly through Discord slash commands.

Each automation rule pairs an event trigger with one or more resulting actions, such as sending notifications, updating user permissions, or modifying channel settings. All rule definitions and guild settings are stored in MongoDB, allowing configurations to persist reliably across bot reboots and container redeployments.

Registry design and input validation

To make the system easily extensible, available triggers and actions are defined in a centralized JSON registry rather than being hardcoded into branching logic across multiple bot modules. When users interact with Discord slash commands, the bot queries this registry to dynamically populate autocomplete suggestions and validate user input parameters before saving a rule.

This separation makes it straightforward to add new trigger types or action handlers without modifying existing command routing. The bot also validates that rules only execute within the permissions granted to the configuring user, preventing automation workflows from being used to bypass standard server moderation controls.

message reaction / voice role / schedule JSON registry trigger to action Slash UX validate, autocomplete MongoDB per-guild rules
Event handling diagram showing how incoming Discord events are matched against the rule registry and executed through stored MongoDB configurations.