Files
2026-03-12 21:45:01 +00:00

7.6 KiB

Wiki Configuration Guide

The Minecraft Update Bot uses a subreddit wiki page to manage customizable post templates. This allows different post formats for different release types without restarting the bot.

Quick Setup

  1. Go to your subreddit settings and edit wiki pages
  2. Create a new page named "minecraft_update_bot"
  3. Add YAML configuration for your post templates
  4. Bot loads the configuration automatically

The wiki page name can be customized via the REDDIT_WIKI_PAGE_NAME environment variable.

Configuration Format

The wiki page must contain valid YAML with this structure:

release_type:
  title: "Post title with placeholders"
  body: |
    Post body content
    with {placeholders}

Available Placeholders

Both title and body can use these placeholders:

  • {version} - The release version number (e.g., "1.21", "26.3")
  • {release_date} - Formatted release date (e.g., "June 13, 2024")
  • {type} - The release type (e.g., "release", "snapshot")

Release Types

Create configuration sections for these release types:

Java Edition:

  • release - Final Java Edition releases
  • snapshot - Development snapshots
  • old_beta - Legacy beta versions
  • old_alpha - Legacy alpha versions

Bedrock Edition:

  • bedrock-windows - Bedrock Edition

Special:

  • default - Fallback for unconfigured types

Example Configurations

Basic Setup (Releases Only)

release:
  title: "Minecraft {version} is Available"
  body: |
    A new version of Minecraft Java Edition is available!
    
    Version: {version}
    Released: {release_date}
    
    Download from minecraft.net or use the Minecraft launcher.

Multiple Release Types

release:
  title: "Minecraft {version} Released"
  body: |
    # Minecraft {version}
    
    A new release is available!
    
    Version: {version}
    Released: {release_date}
    
    Download: https://minecraft.net

snapshot:
  title: "Minecraft {version} Snapshot"
  body: |
    # Minecraft {version} Snapshot
    
    A new development snapshot is available for testing.
    
    Version: {version}
    Released: {release_date}
    
    Enable snapshots in your launcher preferences.

bedrock-windows:
  title: "Bedrock Edition {version} Available"
  body: |
    # Minecraft Bedrock Edition {version}
    
    A new Bedrock Edition update is available for Windows.
    
    Version: {version}
    Released: {release_date}
    
    Download from the Microsoft Store or through the Minecraft Launcher.

old_beta:
  title: "Minecraft Beta {version} Archive"
  body: |
    Version {version} is now archived.
    Released: {release_date}

old_alpha:
  title: "Minecraft Alpha {version} Archive"
  body: |
    Version {version} is now archived.
    Released: {release_date}

default:
  title: "Minecraft {version} ({type})"
  body: |
    New {type} build: {version}
    Released: {release_date}

Minimal Setup with Defaults

default:
  title: "Minecraft {version}"
  body: |
    # New {type} Available
    
    Version: {version}
    Released: {release_date}

Loading and Caching

The wiki configuration:

  • Loads on bot startup
  • Refreshes automatically during version checks
  • Is cached for 5 minutes to avoid excessive wiki requests
  • Falls back to embedded defaults if the wiki page is missing or invalid

Warning messages in logs:

  • "Error fetching YAML config from wiki" - Cannot read the page
  • "Wiki config missing required 'triggers' key" - Invalid YAML format
  • An error YAML parse message - Syntax error in configuration

Formatting Guidelines

YAML syntax rules:

  • Use correct indentation (2 spaces recommended)
  • Start multi-line strings with | or |-
  • Values in double quotes: "string with special characters"
  • No tab characters (spaces only)

Text formatting in posts:

  • Standard Reddit Markdown supported
  • Headers: # Title (single hash for main title)
  • Bold: text
  • Italic: text
  • Links: text
  • Line breaks: Use actual newlines in the YAML body

Fallback Behavior

If a release type is not configured:

  1. Bot looks for a "default" section
  2. If no default exists, uses embedded defaults
  3. Embedded default format:
    Title: Minecraft {version} ({type})
    Body: New {type}: {version}. Released: {release_date}
    

YAML Validation

Test your YAML before adding to wiki:

  • Use an online YAML validator at https://www.yamllint.com/
  • Check for correct indentation and quotes
  • Verify all colons have spaces after them

Common mistakes:

  • Indentation with tabs (must be spaces)
  • Missing quotes around values with special characters
  • Unbalanced quotes
  • Trailing colons without values

Testing Configuration

After updating the wiki page:

  1. Send a "reload-config" chat message to the bot (moderators only)
  2. Check bot logs for these messages:
    • "[WIKI_CONFIG] Successfully fetched wiki page"
    • "[WIKI_CONFIG] Loaded X configuration(s)"
  3. Look for error messages with parsing details

Command for moderators:

Send a Reddit chat message to the bot containing: reload-config

The bot will reply with success or failure status.

Troubleshooting

Wiki configuration not loading:

  1. Check page name is exactly "minecraft_update_bot" (or your custom name)
  2. Verify the bot can read the wiki (check subreddit permissions)
  3. Use YAML validator to find syntax errors
  4. Check bot logs for error messages

Posts not formatting correctly:

  • Verify placeholder names: {version}, {release_date}, {type}
  • Check YAML indentation is consistent
  • Use | for multi-line bodies (not single quotes)
  • Test problematic sections in a YAML validator

Configuration not updating after wiki change:

  • Wait up to 5 minutes (cache timeout)
  • Or send "reload-config" chat command (moderators)
  • Check bot logs to confirm reload was successful

Fallback config triggering:

  • Check for YAML parse errors in logs
  • Verify the wiki page is readable
  • Ensure "release" configuration exists or "default" is defined

Examples with Real-World Scenarios

Example 1: Simple Release Announcements

For a subreddit that only posts final releases:

release:
  title: "Minecraft {version} - Out Now!"
  body: |
    The official release of Minecraft {version} is now available!
    
    Released: {release_date}

Example 2: Community-Focused Posts

release:
  title: "What's New in Minecraft {version}?"
  body: |
    # Minecraft {version} Released
    
    We have a new version!
    
    **Version:** {version}
    **Release Date:** {release_date}
    
    What are you most excited to try?

snapshot:
  title: "Snapshot: Try the Latest Features"
  body: |
    # {version} Snapshot Available
    
    Want to test upcoming features? This is your chance!
    
    Released: {release_date}
    
    Remember: Snapshots can be unstable. Use separate worlds for testing!

Example 3: Structured with Emojis (if preferred)

release:
  title: "[RELEASE] Minecraft {version}"
  body: |
    Minecraft {version} is now available!
    Released: {release_date}

snapshot:
  title: "[SNAPSHOT] Minecraft {version}"
  body: |
    New snapshot available!
    Released: {release_date}

Wiki Markup

Reddit wiki pages support:

  • Standard Markdown
  • Escape special characters with backslash: {text}
  • HTML not processed in wiki pages
  • Some Reddit-specific formatting may have limitations
  1. This confirms your configs were loaded successfully

  2. When a new version is posted, you'll see:

    [BOT] ✓ Posted Minecraft X.X (release_type)
    

Wiki Permissions

Make sure the bot account:

  • Has write permission to edit the subreddit
  • Can access the wiki pages
  • Has the right to post to the subreddit

If you get permission errors, add the bot account as a moderator with wiki permissions.