# Wiki Configuration Setup The Minecraft Update Bot uses a subreddit wiki page to store customizable post templates. This allows you to configure different post formats for different release types (releases, snapshots, etc.) without restarting the bot. ## Quick Setup 1. **Create the wiki page on your subreddit** - Go to your subreddit settings - Navigate to "Edit wiki page" - Create a new page named `minecraft_update_bot` 2. **Add the configuration in YAML format** Copy and paste the following into your wiki page: ```yaml release: title: "Minecraft {version} Released!" body: | # Minecraft {version} Released A new version of Minecraft is now available! **Version:** {version} **Released:** {release_date} Download it from [minecraft.net](https://minecraft.net) or use the Minecraft launcher. snapshot: title: "Minecraft {version} Snapshot Available" body: | # Minecraft {version} Snapshot A new snapshot is available for testing! **Version:** {version} **Released:** {release_date} Try it in the launcher with the development profiles. default: title: "Minecraft {version} ({type})" body: | # Minecraft {version} A new {type} build has been released! **Version:** {version} **Released:** {release_date} ``` 3. **Save the wiki page** - The bot will automatically load this config on startup - Changes to the wiki are refreshed every 30 minutes ## Configuration Format The wiki page must be valid YAML with this structure: ```yaml release_type: title: "Post title with {placeholders}" body: | Multi-line post body with {placeholders} ``` ### Available Placeholders In both title and body, you can use: - `{version}` - The Minecraft version (e.g., "1.21") - `{release_date}` - The formatted release date (e.g., "June 13, 2024") - `{type}` - The release type (e.g., "release", "snapshot") ### Release Types Create sections for each release type you want custom posts for: - `release` - Final releases - `snapshot` - Snapshots - `old_beta` - Old beta versions - `old_alpha` - Old alpha versions - `default` - Fallback for any unconfigured type ## Examples ### Example 1: Simple Setup (Releases Only) ```yaml release: title: "Minecraft {version} is Out!" body: | {version} is available now! Get it at minecraft.net ``` ### Example 2: Different Templates per Type ```yaml release: title: "🎉 Minecraft {version} Released" body: | # Minecraft {version} The full release is here! **Download:** [minecraft.net](https://minecraft.net) **Date:** {release_date} snapshot: title: "📸 Minecraft {version} Snapshot" body: | # Snapshot Available Test drive {version} before the official release! **Date:** {release_date} old_beta: title: "[LEGACY] Minecraft {version} Beta" body: | Archive: Minecraft {version} beta Released: {release_date} ``` ### Example 3: Minimal Setup with Default ```yaml default: title: "Minecraft {version}" body: | New {type}: {version} {release_date} ``` ## Features - **Multiple Configurations:** Different posts for releases, snapshots, legacy versions, etc. - **Auto-Refresh:** Wiki changes are loaded every 30 minutes automatically - **Fallback:** If a release type isn't configured, it uses the `default` config - **No Restart Required:** Changes take effect on the next check cycle - **Flexible:** Use any text, formatting, and placeholders you want ## Troubleshooting ### Configuration Not Loading 1. Check the bot logs: ```bash docker-compose logs minecraft-bot ``` 2. Verify the wiki page name is exactly `minecraft_update_bot` 3. Ensure the YAML is valid (use a YAML validator if needed) 4. Check that the bot has permissions to read the wiki ### Posts Not Formatting Correctly - Verify placeholder names are correct: `{version}`, `{release_date}`, `{type}` - Check that the YAML syntax is correct (indentation matters!) - Use the pipe `|` for multi-line bodies ### Reverting to Default If the wiki page is empty or invalid, the bot will use embedded defaults: ```yaml release: title: "Minecraft {version} Released!" body: "# Minecraft {version}\n\nA new version is available!\n\n**Version:** {version}\n**Released:** {release_date}\n\nGet it at [minecraft.net](https://minecraft.net)" ``` ## Advanced: Testing Your Configuration To test without posting to your subreddit: 1. View the bot logs: ```bash docker-compose logs -f ``` 2. Watch for the line: ``` [WIKI_CONFIG] ✓ Loaded X configuration(s) ``` 3. This confirms your configs were loaded successfully 4. 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.