This plugin integrates Discord Rich Presence into RPG Paper Maker. It displays your current map/location and a custom status on your Discord profile, with optional elapsed playtime.
- Automatic status updates: Shows current map/location and session time
- Custom status messages: Set your own details line
- Auto-initialize: Starts on game load (can also be started manually)
- Safe clear/disconnect: Clear presence without it reappearing; clean disconnect handling
- Discord desktop app running (Rich Presence uses IPC)
- Open the Discord Developer Portal (
https://discord.com/developers/applications) - Create an application and note the Application ID (Client ID)
- In Rich Presence > Art Assets, upload images and note their keys:
- Large image (e.g.,
game_logo) - Small image (e.g.,
player_icon)
- Large image (e.g.,
Set these parameters for the plugin DiscordRichPresence:
- DISCORD_CLIENT_ID: Your Discord Application ID
- UPDATE_INTERVAL: Update rate in seconds (e.g.,
5) - LARGE_IMAGE_KEY: Key from Discord assets (e.g.,
game_logo) - SMALL_IMAGE_KEY: Key from Discord assets (e.g.,
player_icon)
No code edits are required; the plugin reads these at runtime.
In Map Properties, in Map Startup Reactions, add at the top/first command as Plugin: DiscordRichPresence - Initialize Rich Presence command to see updates on discord.
The plugin auto-initializes a few seconds after load if configuration is valid. You can also control it via plugin commands:
RPM.Manager.Plugins.callCommand("DiscordRichPresence", "Initialize Rich Presence");RPM.Manager.Plugins.callCommand("DiscordRichPresence", "Set Custom Status", "Exploring the forest");RPM.Manager.Plugins.callCommand("DiscordRichPresence", "Update Rich Presence");RPM.Manager.Plugins.callCommand("DiscordRichPresence", "Clear Rich Presence");
// Auto-updates are paused so presence won't reappear until you set status or re-initRPM.Manager.Plugins.callCommand("DiscordRichPresence", "Disconnect Rich Presence");
// Stops the client and removes presence; call Initialize to reconnect- Loads
discord-rpcusing multiple resolution strategies (works under Electron) - Connects over IPC to the Discord desktop client
- Builds an activity with:
- details: custom status or default "Adventuring"
- state: current map/location (best-effort detection)
- startTimestamp: session start time
- large/small image keys and texts
- Updates on an interval (configurable)
Clearpauses updates and clears activity;Set Custom Statusresumes updatesDisconnectstops updates, clears listeners, and destroys the client
-
connection closed when disconnecting
- This is handled; the client is torn down safely and updates are stopped
- If you see errors, make sure no custom scripts call update after disconnect
-
Images not showing
- Match
LARGE_IMAGE_KEYandSMALL_IMAGE_KEYto keys in Discord Developer Portal assets - Assets can take a few minutes to propagate
- Match
-
Presence doesn’t update
- Check Discord is running
- Confirm your Client ID parameter
- Verify the update interval (try
5000)
- The plugin is designed for the RPG Paper Maker Electron runtime, not a regular browser
- Presence appears only while the Discord desktop client is running
This plugin is provided as-is for personal and educational use.