Testing Guide (For Evaluators)
Welcome! This guide is designed to help hackathon judges and evaluators quickly experience the full power of Modegator without writing any code from scratch.
1. Installation
The easiest way to begin testing is to install Modegator to a private test subreddit.
- Create a quick test subreddit on Reddit (which automatically makes you a moderator).
- Go to our App Directory Listing: https://developers.reddit.com/apps/modegator
- Click Add to Community, select your test subreddit, and click Install app.
2. The Pre-Loaded Dashboard
Once installed, navigate to your test subreddit and open the 🛡️ Open MG Dashboard from the community overflow menu (see Installation Guide for details).
When you open the dashboard for the first time, Modegator automatically seeds your workspace with four incredibly powerful, pre-configured YAML templates. You do not need to create these manually; they are instantly active and ready to evaluate!
[!IMPORTANT] Templates may be updated after the app is installed. If you notice any discrepancies with the latest documentation, it is recommended to manually refresh each loaded template: go to the YAML tab, select the file in the file navigator, then pick its matching template from the Load Template... dropdown. This will reload that file with the latest version.
(Note: If you wish to build your own workflows, you can always click "New File" to create blank YAML configs.)
3. Manual Testing Walkthrough
Because the engine is fully seeded, you can test the following features natively in your subreddit immediately.
Test 1: Event-Driven Rules & Advanced Conditions
Feature Highlighted: The Rule Engine Sandbox uses complex logic (all_of, any_of, none_of) to evaluate triggers instantly. (Learn more: Rules)
- Action: Submit a new "Link" post on your test subreddit.
- Expected Output: Because you likely have high Karma and account age, Modegator will instantly evaluate the logic blocks and execute the
fallback_actions, assigning your post the greenTrusted Account Linkflair.
Test 2 & 3: Cross-File Reusability (Macros + UI Actions + Rules)
Feature Highlighted: This test combines the Action Engine Sandbox and Interactive Mod Tools to show how a single Macro can be shared across completely different files for both Automated Rules and manual UI Buttons. (Learn more: UI Actions & Macros)
- Action 1 (Manual UI): Go to any post. Open the native Reddit Mod Actions menu by clicking the Shield Icon on the post, then click the 🛡️ MG Actions button. Select Nuke post from the dropdown, and click Execute.
- Expected Output 1: The UI Button triggers the
Nuke and Alert Macrodefined in a completely different file. You will instantly see the post removed, locked, marked NSFW, marked Spoiler, and a stickied removal comment posted. - Action 2 (Automated Rule): Create a new post and ensure the title contains the exact phrase
nuke me. - Expected Output 2: The automated rule listens to the
PostSubmitevent. Instantly upon submission, it detects the phrase and triggers the exact sameNuke and Alert Macro, performing the identical workflow completely hands-free!
Test 4: Dynamic Statefulness (Variables, Counters, & If Logic)
Feature Highlighted: The Stateful and Webhook Logic config shows how Modegator acts as a fully stateful engine, tracking variables and using the powerful if action to conditionally execute branches based on real-time database counters. (Learn more: Statefulness)
- Action 1: Submit a post containing a link (e.g.,
github.com), then report it exactly 1 time. - Expected Output 1: The engine increments the report counter and evaluates the
ifaction. Seeing the counter is exactly 1, it executes thetag_domainaction to taggithub.comas "Under Review", and also increments the global spam count. - Action 2 (Verify Variables): Go to the comments section of any post and type exactly
!state. - Expected Output 2: The bot will instantly reply to your comment, querying the internal database and returning the exact numerical counter and the last domain reported (
github.com) using our variable placeholders! - Action 3 (Enforce State): Submit a new post using that exact same link (
github.com). - Expected Output 3: The engine instantly removes the post and sends a Discord webhook alert! It remembered the domain state from the previous report and executed the
Spam domain threshold auto-actionrule. (Note: To test the webhook, you must replace the placeholder Discord URL in the YAML with your actual webhook URL). - Bonus Check: Our pre-configured
scheduledCron Job evaluates this state every night, reads the counter dynamically via placeholders, and pushes a summary report to a custom Discord webhook! (Note: To test the cron job fully, you must replace the Discord URL with your actual webhook URL, and replaceyour_username_herein the private message action).