initial
This commit is contained in:
+202
@@ -0,0 +1,202 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user