Documentation

COG WIKI

Complete documentation for COG Bot. Learn about member commands, server configuration, XP tracking, and all available features.

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
Displayed Stats: Server rank, level, total XP, voice hours, messages sent, upvotes received, and invites

/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
Tip: Use the navigation buttons to browse pages, or select a different sort method to see rankings by specific metrics.

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
Example: Set up Bronze at level 5, Silver at level 15, Gold at level 30 to create a rank progression system.

/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