androidCore

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

circle-info

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": 60 means the restart command has a 60-second cooldown

  • Commands 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:

circle-check

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

circle-info

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

circle-exclamation

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:

  1. Go to https://pastebin.com/doc_api

  2. Create a Pastebin account (if you don't have one)

  3. Generate your API key

  4. Paste the key in this configuration

When configured:

  • The /pastebin command can upload content to Pastebin

  • Useful for sharing logs, error messages, or large text content

When left empty:

  • The /pastebin command may not function or will have limited functionality


Complete Configuration Example

Here's a complete, production-ready core configuration:

Last updated