ForumPoster
Allow players to submit posts directly to a Discord forum channel.
📖About ForumPoster
A Paper plugin that allows players to submit posts directly to a Discord forum channel. Create bug reports, suggestions, and feedback in-game that automatically appear as organized forum threads in Discord.
Features
- In-Game Posting - Players submit categorized posts using simple commands
- Discord Forum Integration - Posts automatically create forum threads with appropriate tags
- Status Tracking - Track reports through customizable statuses (Pending, In Progress, Resolved, etc.)
- Two-Way Sync - Status changes in-game update the Discord thread title
- Location Capture - Automatically records where posts were submitted for easy teleportation
- Permission System - Granular permissions for players and staff
- Persistent Storage - Posts survive server restarts
- Hot Reload - Update configuration without restarting
Requirements
- Paper 1.21+
- Java 21+
- A Discord bot with permissions to manage threads in a forum channel
Installation
- Download the latest release and place it in your
pluginsfolder - Start your server to generate the default configuration
- Stop the server and edit
plugins/ForumPoster/config.yml - Add your Discord bot token and forum channel URL
- Configure your categories with Discord forum tag IDs
- Start your server
Configuration
bot:
token: "YOUR_BOT_TOKEN_HERE"
url: "https://discord.com/channels/GUILD_ID/CHANNEL_ID"
command:
name: "forumpost"
aliases: ["fp", "postforum"]
categories:
- name: "bug"
display: "Bug Report"
id: 1122334455667788990 # Discord forum tag ID
- name: "suggestion"
display: "Suggestion"
id: 1122334455667788991
status:
statuses: ["PENDING", "IN_PROGRESS", "RESOLVED", "CLOSED"]
default: "PENDING"
Finding Discord Forum Tag IDs
- Enable Developer Mode in Discord (Settings > App Settings > Advanced > Developer Mode)
- Go to your forum channel
- Right-click on a tag and select "Copy Tag ID"
Discord Bot Setup
- Create a bot at the Discord Developer Portal
- Enable the bot and copy the token
- Invite the bot to your server with permissions to:
- View Channels
- Send Messages
- Create Public Threads
- Manage Threads
- Ensure the bot has access to your forum channel
Commands
| Command | Usage | Description |
|---|---|---|
/forumpost |
/forumpost <category> <message> |
Submit a new report |
/posts |
/posts |
List your reports (or all reports with permission) |
/postinfo |
/postinfo <id> |
View details about a specific report |
/setstatus |
/setstatus <id> <status> |
Change a report's status |
/deletepost |
/deletepost <id> |
Delete a report |
/tppost |
/tppost <id> |
Teleport to where a report was made |
/fpreload |
/fpreload |
Reload the configuration |
Aliases: /forumpost can also be used as /fp or /postforum
Customizing the Command Name
The /forumpost command name is fully customizable in config.yml. You can rename it to fit your server's theme or terminology:
command:
name: "report" # Changes /forumpost to /report
aliases: ["r", "submit"] # Custom aliases
Examples:
name: "report"→ Players use/report bug My issue herename: "ticket"→ Players use/ticket suggestion Add more parkourname: "feedback"→ Players use/feedback bug The shop is broken
After changing the command name, run /fpreload or restart your server for changes to take effect. The new command will have full tab completion for categories and statuses.
Permissions
| Permission | Default | Description |
|---|---|---|
forumposter.use |
Everyone | Submit reports with /forumpost |
forumposter.seeall |
OP | View all reports, not just your own |
forumposter.setstatus |
OP | Change report statuses |
forumposter.delete |
OP | Delete reports |
forumposter.teleport |
OP | Teleport to report locations |
forumposter.reload |
OP | Reload the configuration |
How It Works
When a player submits a report:
- A forum thread is created in your Discord channel with the configured tag
- The thread contains the report ID, author, category, location, and full message
- The report is saved locally for persistence
- Staff can update the status in-game, which syncs to Discord
Discord Thread Format:
Thread Title: [PENDING] PlayerName - Report message preview...
Thread Content:
**Post ID**: 1-abc1234-xyz5678
**Author**: PlayerName
**Category**: Bug Report
**Location**: world: 100, 64, -200
**Created**: <t:1234567890:R>
**Content**: Full report message here...
Example Usage
Player submitting a bug report:
/forumpost bug The nether portal at spawn isn't working correctly
Staff checking reports:
/posts
/postinfo 1-abc1234-xyz5678
Staff updating status:
/setstatus 1-abc1234-xyz5678 IN_PROGRESS
/setstatus 1-abc1234-xyz5678 RESOLVED
Teleporting to investigate:
/tppost 1-abc1234-xyz5678
Support
Found a bug or have a suggestion? Open an issue on GitHub!
License
This project is open source. Feel free to use, modify, and distribute.