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
- Go to your subreddit settings and edit wiki pages
- Create a new page named "minecraft_update_bot"
- Add YAML configuration for your post templates
- 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:
- Bot looks for a "default" section
- If no default exists, uses embedded defaults
- 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:
- Send a "reload-config" chat message to the bot (moderators only)
- Check bot logs for these messages:
- "[WIKI_CONFIG] Successfully fetched wiki page"
- "[WIKI_CONFIG] Loaded X configuration(s)"
- 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:
- Check page name is exactly "minecraft_update_bot" (or your custom name)
- Verify the bot can read the wiki (check subreddit permissions)
- Use YAML validator to find syntax errors
- 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
-
This confirms your configs were loaded successfully
-
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.