216 lines
5.4 KiB
Markdown
216 lines
5.4 KiB
Markdown
# 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 Java Edition 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.
|
|
|
|
bedrock-windows:
|
|
title: "Minecraft Bedrock Edition {version} Available (Windows)"
|
|
body: |
|
|
# Minecraft Bedrock Edition {version}
|
|
|
|
A new version is available for Windows!
|
|
|
|
**Version:** {version}
|
|
**Released:** {release_date}
|
|
|
|
Download from the Microsoft Store or via the Minecraft Launcher.
|
|
|
|
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` - Java Edition final releases
|
|
- `snapshot` - Java Edition snapshots
|
|
- `old_beta` - Java Edition old beta versions
|
|
- `old_alpha` - Java Edition old alpha versions
|
|
- `bedrock-windows` - Bedrock Edition (Windows)
|
|
- `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.
|