Economy System
The economy system provides a virtual currency system for server members.Getting Started
- Create an account with
/economyand click Create - New accounts start with 1000 in bank
- Use
/balto check your balance at any time
Commands
/deposit <amount>— Move money from wallet to bank. Useallto deposit everything./withdraw <amount>— Move money from bank to wallet. Useallto withdraw everything./beg— Random chance to gain or lose money (affects wallet only)./rob <user>— Attempt to rob another user:- Both users must have an account with at least $100 in their wallet
- 50% success chance
- Success: steal a random amount from the target’s wallet
- Failure: pay a penalty to the target (capped at your wallet balance)
- 60-second cooldown between attempts
/economy→ Delete — Permanently delete your account
Data Storage
Economy data is stored in theecoschemas MongoDB collection with fields for Guild, User, Bank, and Wallet.
Ticket System
A configurable support ticket system with HTML transcripts.Setup
- Run
/setupin your server - Select Ticket from the setup menu
- Configure:
- Category — the channel category where tickets are created
- Channel — the channel where the ticket panel is posted
- Role — the support role that gets access to tickets
How It Works
- Members select a ticket type from the panel select menu
- A modal appears asking for a reason/description
- A private channel is created named
ticket-<username> - The channel is visible only to the member, support role, and admins
- When resolved, click the Close Ticket button
- An HTML transcript is generated and DM’d to the ticket creator
- The channel is deleted after 10 seconds
Ticket close authorization is restricted to the ticket opener, the configured support role, or members with Manage Channels. See Security.
Welcome System
Automated welcome messages and role assignment for new members.Setup
- Run
/setupin your server - Select Welcome from the setup menu
- Configure:
- Channel — where welcome messages are sent
- Message — the welcome message template
- Rules — rules channel reference
- Member Role — auto-assigned role for human members
- Bot Role — auto-assigned role for bot members
Message Placeholders
Limitations
The welcome system currently only fires for the support guild (config.handler.guildId). It checks guild.id === config.handler.guildId before sending welcome messages.
AFK System
Let others know when you’re away from the keyboard.Setting AFK
- Your nickname is prefixed with
[AFK] - An optional reason message can be provided
- Defaults to “No reason provided.”
Automatic AFK Notifications
When someone mentions an AFK user, the bot replies with an embed showing:- The AFK user’s display name
- Their AFK reason
- The notification auto-deletes after 10 seconds
Returning from AFK
AFK is automatically cleared when the user sends a message. Alternatively:- Your original nickname is restored
- A welcome-back message is shown (auto-deletes after 4 seconds)
Join-to-Create (JTC)
Temporary voice channels that are created when a user joins a hub channel.How It Works
- An admin configures a hub voice channel via the setup system
- When a user joins the hub channel, a temporary voice channel is created
- The channel is named after the user (e.g.,
🔊 | Username) - The user gets Manage Channels permission on their channel
- When the owner leaves:
- If others remain, ownership transfers to a random member
- If empty, the channel is automatically deleted
Configuration
JTC setup data is stored in thejtcsetups collection with the hub channel ID, category, and active temporary channels.
Rank / XP System
Per-guild leveling system with visual rank cards.Commands
/rank info [user]— View a rank card showing current level and XP/rank reset <user>— Reset a user’s XP and level to defaults/rank set <user> <level>— Manually set a user’s level
Rank Cards
Rank cards are generated using thecanvacord library and display:
- User avatar
- Current level
- XP progress
- Username
Data Storage
XP data is stored per user per guild in thexps collection with guildId, userId, xp, and level fields.
Badge System
A global badge system managed by bot developers.Managing Badges (Developer Only)
/badge create <name> <emoji>— Create a new badge with a name and emoji/badge edit <id> [name] [emoji]— Edit an existing badge/badge delete <id>— Delete a badge/badge give <id> <user>— Assign a badge to a user/badge take <id> <user>— Remove a badge from a user/badge list— List all available badges
Viewing Badges
Badges appear on user info displays:/user infocommand- Info context menu (right-click → Info)
Moderation
Available Actions
AutoMod Rules
The/automod command creates Discord AutoMod rules:
- Flagged Words — Alerts in a channel when flagged content is detected
- Spam Messages — Detects and alerts on message spam
- Mention Spam — Blocks messages exceeding a mention threshold
- Keyword — Blocks messages containing a specific keyword
Behavior
- Kick and ban commands attempt to DM the user before the action
- The bot requires appropriate permissions (Kick Members, Ban Members, Moderate Members)
- Timeout duration is parsed using the
mslibrary (e.g.,5m,1h,7d)
Translation
Right-click any message → Apps → Translate Message to translate it to English using Google Translate. The translation appears as an ephemeral embed visible only to you.Health Check
The bot runs an Express server on port 8080 that responds toGET / with a status message. This can be used for uptime monitoring services.