About Rust Discord ChatMod Bot
Introducing Rust Discord ChatMod, a simple rust chat logging bot.
It will connect to your server through RCON, and log the message types you specify. (Global, Team, Clans /c chat, Clans /a chat, Cards (blackjack/slot chat)), and allow you to mute or unmute players you specify
Developed and tested with NodeJS 22 LTS.
Tested and fully compatible with Rust vanilla chat, and BetterChat. Tested while connected simultaneously to 10 different Rust servers
NODEJS 22 OR HIGHER IS REQUIRED FOR USE
MAKE SURE TO INSTALL THE NODE REQUIREMENTS! (This can be done by running the command `npm install` from the installation directory. If you are using a Pterodactyl egg or some other hosted service, the requirements are usually installed automatically on boot
Key Features:
- Multi-Server RCON Integration – Connect to multiple Rust servers simultaneously. Offload web requests from plugins like BetterChat, ensuring your server stays performant while your Discord stays in sync.
- Customizable Chat Relay – Stream global, team, clan, ally, and cards (blackjack/slots) messages directly to the Discord channels of your choice. Configure per server settings, so each Rust server has its own dedicated chat feed.
- Discord-Based Moderation – Mute or unmute players directly from Discord. Every action is timestamped and logged, providing a reliable record of all moderation activity for easy reference.
- Role-Restricted Commands – Control who can moderate your servers chat with role-locked commands. Grant chat moderation powers to staff, even if they aren’t ingame.
Default Config
{ "discord": { "guildId": "YOUR_DISCORD_GUILD_ID", "applicationId": "YOUR_DISCORD_BOT_APPLICATION_ID", "botToken": "YOUR_DISCORD_BOT_TOKEN", "roleIDs": [ "1342385755934167051", "DISCORD_ROLE_2", "DISCORD_ROLE_3" ] }, "servers": [ { "serverName": "UNIQUE_SERVER_NAME", "rconIP": "RCON_IP_OR_DOMAIN", "rconPort": "RCON_PORT", "rconPassword": "RCON_PORT", "globalChannelID": "CHANNEL_ID_TO_LOG_GLOBAL", "teamChannelID": "CHANNEL_ID_TO_LOG_TEAM_OR_CLAN", "cardChannelID": "CHANNEL_ID_TO_LOG_CARDS_CHAT", "clansChannelID": "CHANNEL_ID_TO_LOG_CLANS_CHAT_COMMAND", "allianceChannelID": "CHANNEL_ID_TO_LOG_ALLIES_CHAT_COMMAND", "prependServerName": true, "showChannelTag": true, "showPlayerTags": true, "logTeamChat": true, "logGlobalChat": true, "logCardChat": true, "logClansChat": true, "logAllyChat": true }, { "serverName": "UNIQUE_SERVER_NAME_2", "rconIP": "RCON_IP_OR_DOMAIN", "rconPort": "RCON_PORT", "rconPassword": "RCON_PORT", "globalChannelID": "CHANNEL_ID_TO_LOG_GLOBAL", "teamChannelID": "CHANNEL_ID_TO_LOG_TEAM_OR_CLAN", "cardChannelID": "CHANNEL_ID_TO_LOG_CARDS_CHAT", "clansChannelID": "CHANNEL_ID_TO_LOG_CLANS_CHAT_COMMAND", "allianceChannelID": "CHANNEL_ID_TO_LOG_ALLIES_CHAT_COMMAND", "prependServerName": true, "showChannelTag": true, "showPlayerTags": true, "logTeamChat": true, "logGlobalChat": true, "logCardChat": true, "logClansChat": true, "logAllyChat": true } ] }