From 15a50dc8447b7806bb868fe1fe5c05b4c62f74b9 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 23 Mar 2026 01:18:01 +0000
Subject: [PATCH 1/2] Initial plan
From a5896d47b53161bbbd1c3b5e21a87b8bc75e4e6c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 23 Mar 2026 01:20:56 +0000
Subject: [PATCH 2/2] docs: add Discord RPC docs and update Discord Bridge docs
Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/2b93eea6-4093-4793-a817-4ac97a8255da
---
docs/guide/chat-bots.md | 283 ++++++++++++++++++++++++++++++++++++++--
1 file changed, 270 insertions(+), 13 deletions(-)
diff --git a/docs/guide/chat-bots.md b/docs/guide/chat-bots.md
index ed912651..e43684d3 100644
--- a/docs/guide/chat-bots.md
+++ b/docs/guide/chat-bots.md
@@ -43,6 +43,7 @@ redirectFrom:
- [Auto Respond](#auto-respond)
- [Chat Log](#chat-log)
- [Discord Bridge](#discord-bridge)
+ - [Discord RPC](#discord-rpc)
- [Farmer](#farmer)
- [Follow player](#follow-player)
- [Hangman](#hangman)
@@ -1506,7 +1507,7 @@ redirectFrom:
- **Settings:**
- **Section:** **`ChatBot.DiscordBrdige`**
+ **Section:** **`ChatBot.DiscordBridge`**
All settings
@@ -1555,17 +1556,39 @@ redirectFrom:
- **Type:** `list/array of: unsigned long`
+ #### `Message_Send_Timeout`
+
+ - **Description:**
+
+ How long (in seconds) to wait for a message to be sent to Discord before giving up.
+
+ - **Type:** `integer`
+
+ - **Default:** `3`
+
+ #### `Allow_Other_Bot_Messages`
+
+ - **Description:**
+
+ When enabled, messages from other Discord bots in the channel are relayed to Minecraft chat. The bridge always ignores its own messages to prevent loops.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `false`
+
#### `PrivateMessageFormat`
- **Description:**
- This is a format that will be used when someone has sent you a private message on the server.
+ The format used when someone sends you a private message on the server.
- Parts of the message that are between `{` and `}` will be replaced by the Chat Bot during runtime, you should not change them in any way!
+ Parts of the message between `{` and `}` are replaced by the Chat Bot at runtime; do not change them.
- For example `{message}` will be replaced with an actual message, `{username}` will be replaced with the username of the person who sent a message on the server and `{timestamp}` will be replaced with the current date and time.
+ `{message}` is replaced with the message text, `{username}` with the sender's name, and `{timestamp}` with the current date and time.
- For Discord message formatting/styling, refer to [this guide](https://www.writebots.com/discord-text-formatting/).
+ For Discord message formatting, refer to [this guide](https://www.writebots.com/discord-text-formatting/).
- **Type:** `string`
@@ -1575,13 +1598,13 @@ redirectFrom:
- **Description:**
- This is a format that will be used when sending a public message to the Discord channel.
+ The format used when sending a public message to the Discord channel.
- Parts of the message that are between `{` and `}` will be replaced by the Chat Bot during runtime, you should not change them in any way!
+ Parts of the message between `{` and `}` are replaced by the Chat Bot at runtime; do not change them.
- For example `{message}` will be replaced with an actual message, `{username}` will be replaced with the username of the person who sent a message on the server and `{timestamp}` will be replaced with the current date and time.
+ `{message}` is replaced with the message text, `{username}` with the sender's name, and `{timestamp}` with the current date and time.
- For Discord message formatting/styling, refer to [this guide](https://www.writebots.com/discord-text-formatting/).
+ For Discord message formatting, refer to [this guide](https://www.writebots.com/discord-text-formatting/).
- **Type:** `string`
@@ -1591,18 +1614,252 @@ redirectFrom:
- **Description:**
- This is a format that will be used when someone has sent you a Teleport Request.
+ The format used when someone sends you a teleport request.
- Parts of the message that are between `{` and `}` will be replaced by the Chat Bot during runtime, you should not change them in any way!
+ Parts of the message between `{` and `}` are replaced by the Chat Bot at runtime; do not change them.
- For example `{message}` will be replaced with an actual message, `{username}` will be replaced with the username of the person who sent a message on the server and `{timestamp}` will be replaced with the current date and time.
+ `{username}` is replaced with the requester's name.
- For Discord message formatting/styling, refer to [this guide](https://www.writebots.com/discord-text-formatting/).
+ For Discord message formatting, refer to [this guide](https://www.writebots.com/discord-text-formatting/).
- **Type:** `string`
- **Default:** `A new Teleport Request from **{username}**!`
+
+
+## Discord RPC
+
+- **Description:**
+
+ This Chat Bot shows your current Minecraft session as a Discord Rich Presence status. It displays information like the server address, your health, current dimension, coordinates, gamemode, and how long you have been connected.
+
+
Warning
+
+ **Discord RPC uses a local IPC socket to communicate with the Discord client. MCC and Discord must be running on the same machine for this to work.**
+
+
+
+- **Setup:**
+
+ You need a Discord Application ID to use this bot. Here is how to get one:
+
+ 1. Go to the [Discord Developer Portal](https://discord.com/developers/applications/) and click **New Application**.
+
+ 2. Give it a name (this is what shows up in your Discord status, e.g. "Minecraft Console Client"), accept the terms, and click **Create**.
+
+ 3. On the **General Information** page, copy the **Application ID** and paste it into the `ApplicationId` field in your MCC configuration.
+
+ 4. *(Optional)* If you want a custom image in your status, go to the **Rich Presence** tab and click **Art Assets**. Upload an image and give it a name (the **key**). Use that key in the `LargeImageKey` or `SmallImageKey` settings. The default value `mcc_icon` references a built-in MCC icon already registered on the application -- no upload needed if you are happy with that.
+
+ 5. Enable the bot by setting `Enabled` to `true` in your MCC configuration and start MCC with Discord already running.
+
+ Discord updates Rich Presence at most once every 15 seconds regardless of how often MCC sends updates, so you may notice a short delay before your status reflects changes.
+
+- **Settings:**
+
+ **Section:** **`ChatBot.DiscordRpc`**
+
+
+ All settings
+
+ #### `Enabled`
+
+ - **Description:**
+
+ This setting specifies if the Discord RPC Chat Bot is enabled.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `false`
+
+ #### `ApplicationId`
+
+ - **Description:**
+
+ Your Discord Application ID. Create one at [discord.com/developers/applications](https://discord.com/developers/applications/).
+
+ - **Type:** `string`
+
+ #### `PresenceDetails`
+
+ - **Description:**
+
+ The top line of the Rich Presence display. Supports placeholders (see below).
+
+ - **Type:** `string`
+
+ - **Default:** `Playing on {server_host}:{server_port}`
+
+ #### `PresenceState`
+
+ - **Description:**
+
+ The second line of the Rich Presence display. Supports placeholders (see below).
+
+ - **Type:** `string`
+
+ - **Default:** `{dimension} - HP: {health}/{max_health}`
+
+ #### `LargeImageKey`
+
+ - **Description:**
+
+ The key of the large image asset uploaded to your Discord application. Leave empty to show no image.
+
+ - **Type:** `string`
+
+ - **Default:** `mcc_icon`
+
+ #### `LargeImageText`
+
+ - **Description:**
+
+ Tooltip text shown when hovering over the large image. Supports placeholders (see below).
+
+ - **Type:** `string`
+
+ - **Default:** `Minecraft Console Client`
+
+ #### `SmallImageKey`
+
+ - **Description:**
+
+ The key of the small image asset uploaded to your Discord application. Leave empty to hide the small image.
+
+ - **Type:** `string`
+
+ - **Default:** *(empty)*
+
+ #### `SmallImageText`
+
+ - **Description:**
+
+ Tooltip text shown when hovering over the small image. Supports placeholders (see below).
+
+ - **Type:** `string`
+
+ - **Default:** *(empty)*
+
+ #### `ShowServerAddress`
+
+ - **Description:**
+
+ Show the server address in the Discord presence. When set to `false`, `{server_host}` and `{server_port}` are replaced with `Hidden` and `****`.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `ShowCoordinates`
+
+ - **Description:**
+
+ Show your coordinates in the Discord presence. When set to `false`, `{x}`, `{y}`, and `{z}` are replaced with `?`.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `ShowHealth`
+
+ - **Description:**
+
+ Show health and food level in the Discord presence. When set to `false`, `{health}`, `{max_health}`, and `{food}` are replaced with `?`.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `ShowDimension`
+
+ - **Description:**
+
+ Show the current dimension in the Discord presence. When set to `false`, `{dimension}` is replaced with `Hidden`.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `ShowGamemode`
+
+ - **Description:**
+
+ Show the current gamemode in the Discord presence. When set to `false`, `{gamemode}` is replaced with `Hidden`.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `ShowElapsedTime`
+
+ - **Description:**
+
+ Show how long you have been connected to the server as an elapsed time in the Discord presence.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `ShowPlayerCount`
+
+ - **Description:**
+
+ Show the number of online players as a party size in the Discord presence.
+
+ - **Available values:** `true` and `false`.
+
+ - **Type:** `boolean`
+
+ - **Default:** `true`
+
+ #### `UpdateIntervalSeconds`
+
+ - **Description:**
+
+ How often (in seconds) to refresh the Discord presence. Minimum value is `1`.
+
+ Note: Discord itself only accepts presence updates once every 15 seconds, so setting this lower than `15` has no visible effect on the Discord side.
+
+ - **Type:** `integer`
+
+ - **Default:** `10`
+
+ ---
+
+ #### Placeholders
+
+ The following placeholders can be used in `PresenceDetails`, `PresenceState`, `LargeImageText`, and `SmallImageText`:
+
+ | Placeholder | Description |
+ |---|---|
+ | `{server_host}` | Server hostname (masked if `ShowServerAddress` is `false`) |
+ | `{server_port}` | Server port (masked if `ShowServerAddress` is `false`) |
+ | `{username}` | Your Minecraft username |
+ | `{health}` | Current health (masked if `ShowHealth` is `false`) |
+ | `{max_health}` | Maximum health, always `20` (masked if `ShowHealth` is `false`) |
+ | `{food}` | Current food level (masked if `ShowHealth` is `false`) |
+ | `{dimension}` | Current dimension name, e.g. `Overworld` (masked if `ShowDimension` is `false`) |
+ | `{gamemode}` | Current gamemode, e.g. `Survival` (masked if `ShowGamemode` is `false`) |
+ | `{x}` | X coordinate (masked if `ShowCoordinates` is `false`) |
+ | `{y}` | Y coordinate (masked if `ShowCoordinates` is `false`) |
+ | `{z}` | Z coordinate (masked if `ShowCoordinates` is `false`) |
+ | `{player_count}` | Number of players currently online |
+ | `{protocol}` | Minecraft protocol version number |