Core
Core bot configuration including status, cooldowns, and global settings
Introduction
The Core configuration file (core.json) contains essential bot settings that affect the overall behavior of Athena Bot, including bot status, command cooldowns, global placeholders, and various system-wide features.
Bot Activity
status
Type: String
Sets the bot's online status indicator.
Available Options:
"online"- Green status (online)"dnd"- Red status (Do Not Disturb)"idle"- Yellow status (idle/away)"offline"- Gray status (invisible)
status: "online"activity_type
Type: String
Defines the type of activity displayed in the bot's status.
Available Options:
"playing"- Displays as "Playing ...""watching"- Displays as "Watching ...""listening"- Displays as "Listening to ...""competing"- Displays as "Competing in ...""streaming"- Displays as "Streaming ..."
activity
Type: Array of Strings
The text displayed in the bot's status. If multiple activities are provided, the bot will randomly cycle through them every 30 seconds.
Available Placeholders:
%members%- Total server member count%tickets_open%- Number of currently open tickets%tickets_closed%- Number of closed tickets%mc_online%- Online players on Minecraft server (requires Minecraft addon)%mc_max%- Maximum players on Minecraft server (requires Minecraft addon)
Examples:
Command Cooldowns
enabled
Type: Boolean
Enables or disables the command cooldown system globally.
When true: Users must wait between command uses
When false: All cooldowns are disabled (not recommended)
cooldown_length
Type: Number (seconds)
The default cooldown duration in seconds that applies to all commands unless a custom cooldown is set.
This means users must wait 4 seconds between using commands (by default).
role_bypass
Type: Object
Allows specific roles to bypass all command cooldowns.
enabled - Whether role bypass is active role_id - Discord role ID that can bypass cooldowns
How it works:
Users with this role (or any role higher in the Discord role hierarchy) can use commands without waiting
Useful for staff/moderator roles
Tip: To get a role ID, enable Developer Mode in Discord, right-click the role in Server Settings β Roles, and click "Copy ID".
custom_command_cooldowns
Type: Object
Allows you to set specific cooldown durations for individual commands, overriding the default cooldown.
enabled - Whether custom cooldowns are active commands - Object mapping command names to cooldown lengths (in seconds)
Example:
"restart": 60means the restart command has a 60-second cooldownCommands not listed use the default
cooldown_length
Global Placeholders
Type: Array of Objects
Create custom placeholders that can be used throughout all message configurations in any plugin.
How it works:
Define a placeholder name (e.g.,
%website%)Set its value (what it should be replaced with)
Use the placeholder anywhere in embed messages, descriptions, etc.
Usage Example:
If you define %website% as shown above, you can use it in any message configuration:
Use Case: Global placeholders are perfect for server-specific information like website URLs, Discord invites, social media links, or server rules that you reference frequently across different messages.
Permission-Based Help Page
Type: Boolean
When enabled, the /help command shows only commands that the user has permission to execute.
When true:
Users see only commands they can use
Cleaner help menu for regular members
Staff see all commands they have access to
When false:
All users see all commands
Users may see commands they cannot execute
More comprehensive overview
Recommendation: Set to true if you want to avoid confusing users with commands they can't access. Set to false if you want all users to see the full command list for transparency.
Commands Blacklisted Channels
Type: Array of Strings
List of channel IDs where no commands can be executed
How it works:
Commands used in these channels will be ignored
Useful for keeping certain channels clean
Calltime Requirements
Type: Object
Configures requirements for voice channel time to count toward calltime statistics (used in leveling, economy, etc.).
enabled
Whether calltime requirements are enforced.
When true: Calltime only counts if requirements are met
When false: Calltime always counts regardless of who's in the channel
minimum_users
Type: Number
Minimum number of users required in a voice channel for calltime to count.
Example: With minimum_users: 2, a user sitting alone in a voice channel won't earn calltime rewards. Once a second person joins, both start earning calltime.
Purpose: Prevents users from AFK farming calltime rewards in empty voice channels.
bots_included
Type: Boolean
Whether bots count toward the minimum user requirement.
When false: Bots don't count - only real users
When true: Bots count toward the minimum
Example: If minimum_users: 2 and bots_included: false:
1 user + 1 bot = calltime does NOT count
2 users + 0 bots = calltime counts
2 users + 1 bot = calltime counts
Recommended: Keep bots_included: false to prevent users from sitting in voice channels with music bots to farm rewards.
Pastebin API Key
Type: String
API key for Pastebin integration, used by the /pastebin command to upload text content.
How to get an API key:
Go to https://pastebin.com/doc_api
Create a Pastebin account (if you don't have one)
Generate your API key
Paste the key in this configuration
When configured:
The
/pastebincommand can upload content to PastebinUseful for sharing logs, error messages, or large text content
When left empty:
The
/pastebincommand may not function or will have limited functionality
Complete Configuration Example
Here's a complete, production-ready core configuration:
Last updated