Overview
COG Bot is a comprehensive Discord bot designed to track member activity, encourage engagement, and automatically manage roles based on user progression. Members earn experience points (XP) through various activities, and the bot displays rankings and personal statistics.
Key Features
- Activity Tracking: Automatically tracks voice time, messages, upvotes, and invites
- XP & Leveling: Earn experience and level up through server participation
- Leaderboard: Compete with other members and view server rankings
- Auto Roles: Earn roles automatically when reaching specific levels
- Join-to-Create Channels: Create temporary voice channels for your group
- Custom Styling: Server owners can customize colors, emojis, and messages
XP System
Earn XP through various activities in your Discord server. The more you participate, the faster you level up!
XP Rates
| Activity | XP Gained | Notes |
|---|---|---|
| Voice Time | 1 XP per minute |
Must be unmuted with 2+ members in the channel |
| Messages | 3 XP per message |
One message per event |
| UpVotes | 10 XP per upvote |
Receive upvotes from other members |
| Invites | 100 XP per invite |
Earn XP when someone you invited joins |
Note: Voice time only counts when you're unmuted and there are at least 2 non-bot members in the channel. XP is tracked in real-time and updates automatically.
Member Commands
These commands are available to all server members.
/profile
View your stats or check another member's profile. Shows your current level, XP progress, voice time, message count, upvote count, and server rank.
/profile- View your own profile/profile @user- View another member's profile
/leaderboard
View the top members in your server ranked by total XP. You can navigate between pages and sort by different metrics.
/leaderboard- View the first page (sorted by total XP)/leaderboard page:2- View a specific page- Sort Options: Total XP, Voice Hours, Messages, UpVotes, Invites
UpVote (Context Menu)
Right-click on any member's message or profile and select "Apps" → "UpVote" to give them an upvote. UpVotes give the recipient 10 XP and count towards their score.
- Each member can upvote others once per cooldown period
- You cannot upvote yourself or bots
- UpVotes contribute 10 XP to the recipient
Temporary Voice Channels (Join-to-Create)
Create private voice channels on-demand by joining a designated "Create Channel" voice channel. These channels are temporary and will automatically disappear when empty.
How It Works
- Join Creation: Join the "Create Channel" voice channel to automatically create a new private channel
- Ownership: You become the owner of your created channel with full management permissions
- Auto-Delete: The channel automatically deletes when it becomes empty
- Permissions: Inherits permissions from the parent channel
Channel Management (Owner Controls)
As a channel owner, you have access to these control buttons:
- Owner (👤): Transfer channel ownership to another user
- Lock/Unlock (🔒/🔓): Toggle whether others can join the channel
- Permit (+): Allow specific users to join a locked channel
- Ban (⛔): Prevent specific users from joining
Naming Your Channel
Your server owner may customize the default channel name. Common variables include:
{user}- Your Discord username{#:parent:#}- Parent channel identifier
Bot Messages (Server Owner)
/bot-message is a configuration command that allows server owners to create custom formatted messages sent by the bot. The tags below control message formatting.
Creation Tags
| Tag | Purpose | Example |
|---|---|---|
<p></p> |
Plain text message | <p>Hello world</p> |
<embed></embed> |
Embed message (formatted box) | <embed title="Title">Content</embed> |
<field></field> |
Embed field (inside embed) | <field title="Field">Value</field> |
<img></img> |
Send an image (uncompressed) | <img>https://url.com/image.png</img> |
Embed Modifiers
Add these modifiers to the <embed> opening tag:
| Modifier | Purpose | Syntax |
|---|---|---|
title |
Embed title | title="My Title" |
color |
Embed color (hex) | color="#5865F2" |
author |
Author name | author="Name" |
author_icon |
Author icon URL | author_icon="https://url.com/icon.png" |
footer |
Footer text | footer="Footer text" |
footer_icon |
Footer icon URL | footer_icon="https://url.com/icon.png" |
thumbnail, img, or url |
Embed image | thumbnail="https://url.com/image.png" |
Field Modifiers
Add these modifiers to the <field> opening tag:
| Modifier | Purpose | Syntax |
|---|---|---|
title |
Field name (required) | title="Field Name" |
inline |
Display inline with other fields | inline="True" or inline="False" |
Example Messages
Simple Embed:
<embed title="Welcome" color="#5865F2">Welcome to the server!</embed>
Embed with Fields:
<embed title="Stats" color="#5865F2"><field title="Members" inline="True">150</field><field title="Online" inline="True">45</field></embed>
Tip: Wrap all modifier values in single or double quotes. Keep formatting consistent so messages render correctly.
Server Configuration (Owner Only)
These commands are restricted to server administrators and configure how the bot behaves on your server.
/config info
Displays a comprehensive overview of your server's current COG Bot configuration, including XP rates, active level roles, create channels, and response messages.
- Shows all configured level roles with their gain/lose levels
- Lists all active join-to-create channels
- Displays current level-up, create channel name, and upvote messages
- Shows server creation date and bot join date
/config style
Customize the appearance of bot responses and member stats displays.
| Setting | Purpose | Format |
|---|---|---|
color |
Default embed color | Hex code (e.g., #5865F2) |
voice_emoji |
Voice hours stat emoji | Discord emoji |
message_emoji |
Messages sent stat emoji | Discord emoji |
upvote_emoji |
Upvotes received stat emoji | Discord emoji |
invite_emoji |
Invites stat emoji | Discord emoji |
progress_plus_emoji |
Filled progress bar emoji | Discord emoji |
progress_minus_emoji |
Empty progress bar emoji | Discord emoji |
level_up_message |
Level up notification | Text with {user} and {level} variables |
create_channel_name |
Join-to-create channel name | Text with {user} and channel variables |
upvote_message |
UpVote notification | Text with {upvoter} and {upvoted} variables |
/config level-role
Automatically assign or remove roles when members reach specific levels. Create a progression system tied to XP milestones.
/config level-role role:@Role gain:5- Members gain role at level 5/config level-role role:@Role gain:5 remove:10- Members gain at level 5, lose at level 10/config level-role role:@Role gain:0- Remove a configured level role
/config setup-channel
Configure special channels for specific bot features.
| Setup Type | Channel Type | Purpose |
|---|---|---|
Create-Session |
Voice | Join-to-create parent channel. Members join this to create temporary channels. |
Leveling |
Text/News | Channel for level-up announcements and notifications |
/config setup-channel setup:Create-Session channel:#voice-create- Set up a join-to-create parent/config setup-channel setup:Leveling channel:#level-up-announcements- Set up level announcements channel
Features Explained
Activity Tracking
COG Bot automatically tracks all member activities without requiring any special commands:
- Voice Time: Real-time tracking while you're in voice channels (unmuted, 2+ members)
- Messages: Every message sent in the server is counted
- UpVotes: Received when other members upvote you
- Invites: Tracked when someone you invited joins the server
Last Seen Tracking
The bot tracks when each member was last seen online. This helps identify inactive members and is displayed in profile commands.
Role-Based Rewards
Server owners can set up automatic role assignment based on member levels. As you level up, you automatically gain new roles, creating a visible progression system.
Leaderboard Sorting
View server rankings sorted by:
- Total XP (all activities combined)
- Voice Hours (total unmuted voice time)
- Messages (total messages sent)
- UpVotes (total upvotes received)
- Invites (successful member invites)
Tips & Tricks
- Max Out XP Efficiently: Voice time (1 XP/min) requires consistency, but messaging (3 XP) and upvotes (10 XP) give quicker returns
- Level Up Faster: Invite new members to unlock the 100 XP per invite bonus
- Custom Branding: Use /config style to match your server's aesthetic with custom colors and emojis
- Role Progression: Create a tier system with /config level-role to give members goals to work towards
- Channel Control: As a temporary channel owner, you control who can join and participate
- Track Progress: Use /profile to check your progress towards the next level