ForumPoster
PluginMIT

ForumPoster

Allow players to submit posts directly to a Discord forum channel.

5
Downloads
0
Followers
3 months ago
Updated
📦
1
Versions

📖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

  1. Download the latest release and place it in your plugins folder
  2. Start your server to generate the default configuration
  3. Stop the server and edit plugins/ForumPoster/config.yml
  4. Add your Discord bot token and forum channel URL
  5. Configure your categories with Discord forum tag IDs
  6. 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

  1. Enable Developer Mode in Discord (Settings > App Settings > Advanced > Developer Mode)
  2. Go to your forum channel
  3. Right-click on a tag and select "Copy Tag ID"

Discord Bot Setup

  1. Create a bot at the Discord Developer Portal
  2. Enable the bot and copy the token
  3. Invite the bot to your server with permissions to:
    • View Channels
    • Send Messages
    • Create Public Threads
    • Manage Threads
  4. 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 here
  • name: "ticket" → Players use /ticket suggestion Add more parkour
  • name: "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:

  1. A forum thread is created in your Discord channel with the configured tag
  2. The thread contains the report ID, author, category, location, and full message
  3. The report is saved locally for persistence
  4. 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.