DiscordLink

v1.0.0 Discord

A comprehensive Discord bot that seamlessly links Discord accounts to Steam IDs, managing in-game rewards and Nitro booster perks for Rust servers. It includes features for role assignments, admin management, and automated audits.

DiscordLink

Version: 1.0.0 | Discord Bot
Back to Bots
DiscordLink

Key Features

  • Link Discord accounts to Steam IDs for general server rewards.
  • Automatically manage Nitro booster perks, assigning them to linked Steam IDs.
  • Assign a specific Discord role upon successful Steam ID linkage.
  • Regularly audits active boosters and their linked Steam IDs against server groups.
  • Regularly audits general linked players against server groups.
  • Sends automated reminders to boosters who haven't linked their Steam ID.
  • Admin commands to check user link status, bot status, and reset user link data.
  • User commands to link/update Steam ID, check personal link/booster status, and manage reminders.
  • Configurable Oxide group names for Nitro perks and general linked player rewards.
  • Supports multiple Rust server configurations.
  • Secure Steam ID validation and change limits to prevent abuse.
  • Welcome messages for new server members with linking instructions.

Installation

DiscordLink requires Python 3.8+, a .env file configured with your Discord Bot Token, Guild ID, Admin Role ID, Steam API Key, and Rust server RCON details. It uses an SQLite database for storing link information.

pip install -r requirements.txt

Installation Steps

  1. Clone the repository or download the bot files.
  2. Install required dependencies using pip (see above).
  3. Create a Discord bot via the Discord Developer Portal.
  4. Copy the Discord bot token and set up the configuration file.
  5. Configure your database and other settings (see Configuration section).
  6. Start the bot using the run command.

Configuration

The bot's configuration is managed through a central configuration file. Create a .env file with the following settings:

DISCORD_SETTINGS (.env) = {
    'DISCORD_TOKEN': 'Your Discord bot token.',
    'GUILD_ID': 'Your Discord server ID.',
    'ADMIN_ROLE_ID': 'Discord Role ID for bot administration.',
    'LINKED_DISCORD_ROLE_ID': 'Discord Role ID to assign to users who link their Steam ID.',
    'WELCOME_CHANNEL_ID': 'Channel ID for sending welcome messages or fallback booster DMs.',
    'COMMANDS_CHANNEL_ID': 'Designated channel ID for using bot commands.',
    'TICKET_CHANNEL_ID': 'Channel ID for users to seek support.',
    'STEAM_API_KEY': 'Your Steam Web API key for validating Steam IDs.',
}

RUST_PERK_SETTINGS (.env) = {
    'NITRO_OXIDE_GROUP_NAME': 'Oxide group name for Nitro booster perks (e.g., "nitro").',
    'LINKED_PLAYER_OXIDE_GROUP': 'Oxide group name for general linked player rewards (e.g., "discord").',
}

RUST_SERVER_SETTINGS (.env - Repeat for each server: SERVER1, SERVER2, etc.) = {
    'SERVER_NAME': 'Display name for your Rust server.',
    'SERVER_HOST': 'IP address or hostname of your Rust server.',
    'SERVER_PORT': 'RCON port for your Rust server (e.g., 28016).',
    'SERVER_RCON_PASSWORD': 'RCON password for your Rust server.',
}

Configuration Options

Option Description
DISCORD_SETTINGS (.env)
Configuration object with the following properties:
  • DISCORD_TOKEN: Your Discord bot token.
  • GUILD_ID: Your Discord server ID.
  • ADMIN_ROLE_ID: Discord Role ID for bot administration.
  • LINKED_DISCORD_ROLE_ID: Discord Role ID to assign to users who link their Steam ID.
  • WELCOME_CHANNEL_ID: Channel ID for sending welcome messages or fallback booster DMs.
  • COMMANDS_CHANNEL_ID: Designated channel ID for using bot commands.
  • TICKET_CHANNEL_ID: Channel ID for users to seek support.
  • STEAM_API_KEY: Your Steam Web API key for validating Steam IDs.
RUST_PERK_SETTINGS (.env)
Configuration object with the following properties:
  • NITRO_OXIDE_GROUP_NAME: Oxide group name for Nitro booster perks (e.g., "nitro").
  • LINKED_PLAYER_OXIDE_GROUP: Oxide group name for general linked player rewards (e.g., "discord").
RUST_SERVER_SETTINGS (.env - Repeat for each server: SERVER1, SERVER2, etc.)
Configuration object with the following properties:
  • SERVER_NAME: Display name for your Rust server.
  • SERVER_HOST: IP address or hostname of your Rust server.
  • SERVER_PORT: RCON port for your Rust server (e.g., 28016).
  • SERVER_RCON_PASSWORD: RCON password for your Rust server.

Bot Commands

User Commands

Command Description
/link Link your Discord account to your 17-digit Steam ID for server rewards. Can be used to update your linked Steam ID (subject to cooldowns).
/checklink Check your current Discord linkage, booster status, and associated Steam IDs for perks.
/reminders Enable or disable daily reminders about linking your Steam ID (if you are a booster and haven't linked).

Admin Commands

Command Description
/status Shows bot status, statistics about linked users, boosters, and Rust server RCON connectivity.
/reset Resets all link data (general and booster perks) and associated Oxide group memberships for a specified Discord user. Removes linked role.
/checklinks Admin command to check the general and booster perk link status for a specified Discord user.

Scheduled Tasks

This bot runs the following automated tasks:

Task Frequency Description
Booster Status Check & Sync Every 1 hour Checks Discord server members for active Nitro boosts, updates the local database, and removes perks from users who are no longer boosting.
Unlinked Booster Reminders Every 24 hours Sends DM reminders to active Nitro boosters who have not yet linked their Steam ID and have reminders enabled.
Nitro Perk Group Audit Every 12 hours Audits the configured Nitro Oxide group on all Rust servers, ensuring only currently valid boosters/admins with linked Steam IDs are in the group.
General Linked Players Group Audit Every 12 hours Audits the configured general linked player Oxide group on all Rust servers, ensuring only users with a valid link in the database are in the group.

Bot Information

Version 1.0.0
Language Python
Platform Discord
License Custom
Integration Rust Servers

Need Bot Hosting?

Ensure 24/7 uptime and optimal performance for your DiscordLink bot by hosting it on our specialized Python bot hosting plans, managed via Pterodactyl panel.

View Hosting Plans

Get This Bot

Interested in using this Discord bot for your game server?

$4.99 USD

5 purchases

Additional Information

This bot is designed specifically for Discord integration with Rust game servers and communities.

Requirements

  • Python 3.8 or higher
  • Discord Bot Token

Support

For support with bot implementation or customization, please contact us.