Anegan Documentation

Welcome to Anegan's documentation! Here you'll find detailed information about all commands, features, and server settings to help you manage your Discord server efficiently.

Getting Started

Features Overview

Anegan comes packed with powerful features to enhance your server:

Command Structure

Anegan supports both **prefix commands** (!command) and **slash commands** (/command). Commands may have optional parameters or subcommands. Use the sidebar navigation to explore commands by category and view detailed usage examples.

Troubleshooting


Detailed Command Documentation

Auction

The Auction System allows administrators to host auctions and registered users to place bids.

Main Flow:

  1. Users must register using the !Register command with their initial balance.
  2. Administrators can start an auction using the !StartAuction command.
    • Only registered users can participate in the auction.
  3. Registered users can place bids by just sending in their bid values as numbers.
  4. Administrators can end the auction at any time using the !EndAuction command.
Balance
This command retrieves and displays the balance of the user who invokes it.
!Balance
Examples:
  • Registered user checks balance:
    Command: !Balance
    Response: "JohnDoe, your balance is 500."
  • Unregistered user attempts to check balance:
    Command: !Balance
    Response: "You are not registered. Use !Register <balance> to register."
EndAuction
This command concludes the current auction and announces the winner if there are valid bids. If no bids were placed during the auction, it will notify the users that the auction ended without a winner.
!EndAuction
Permissions:
  • Only administrators can use this command.
ListItems
List all your items.
!ListItems
ListParticipants
List all registered participants in the server.
!ListParticipants
Permissions:
  • Only administrators can use this command.
Examples:
  • Listing participants when some are registered:
    Command: !ListParticipants
    Response:
    Registered Participants and their balances:
    @User1: 500
    @User2: 300
                                        
  • Listing participants when no one is registered:
    Command: !ListParticipants
    Response: "No registered participants found in this server."
Register
This command allows users to register themselves in the auction system with an initial balance. Once registered, users can participate in auctions and bid on items.
!Register <balance>
Arguments:
  • balance — Initial user balance in cash/coins to bid.
Examples:
  • Registering with an initial balance:
    Command: !Register 10000
    Response: "JohnDoe registered with a balance of 10000."
  • Attempting to register when already registered:
    Command: !Register 5000
    Response: "You are already registered!"
ResetAuction
This command allows administrators to reset the auction by clearing all registered users, resetting balances, and removing all auction items for the server. After the command is issued, the bot will prompt the administrator to confirm by typing "yes" within 30 seconds. If confirmed, the bot will perform the reset and display a confirmation message. If no confirmation is received within 30 seconds, the reset will be canceled. This safeguard ensures that the reset is intentional.
!ResetAuction
Examples:
  • Admin resetting the auction for the server:
    Command: !ResetAuction
    Response: "All auction details have been reset for this server."
StartAuction
Initiates an auction for a specified item with a given starting bid.
!StartAuction <item_name>, <starting_bid>
Arguments:
  • item_name — Name of the item to be auctioned.
  • starting_bid — Minimum bid amount to start the auction (positive integer).
Permissions:
  • Only administrators can use this command.
Examples:
  • Start an auction for "Blue Pen" with a starting bid of 100:
    Command: !StartAuction Blue Pen, 100
    Behavior:
       - Starts an auction for the item "Blue Pen"
       - Sets the minimum bid to 100
       - Announces the auction in the channel
  • Invalid starting bid:
    Command: !StartAuction Golden Sword, fifty
    Response: "Starting bid must be a positive integer."
  • Missing comma in input:
    Command: !StartAuction Blue Pen 100
    Response: "Invalid input format. Use: !StartAuction <item_name>, <starting_bid>"
Unregister
Unregister a user from the auction.
!Unregister <user>
Arguments:
  • user — Mention the user.
Permissions:
  • Only administrators can use this command.
Examples:
  • Admin unregistering a user:
    Command: !Unregister @JohnDoe
    Response: "JohnDoe has been unregistered from the auction."
  • Attempting to unregister a user who is not registered:
    Command: !Unregister @JaneDoe
    Response: "JaneDoe is not registered."
UpdateBalance
Refill a participant's balance.
!UpdateBalance <user>, <new_balance>
Arguments:
  • user — Mention the user.
  • new_balance — The new balance.
Examples:
  • Updating a user's balance:
    Command: !UpdateBalance @JohnDoe, 5000
    Response: "The balance of @JohnDoe has been updated to 5000."
  • Invalid input format:
    Command: !UpdateBalance JohnDoe 5000
    Response: "Invalid format. Please use the format: !UpdateBalance @user, <new_balance>"
  • Invalid user mention:
    Command: !UpdateBalance JohnDoe, 5000
    Response: "Invalid user mention. Please mention a valid user."

AutoReactions

The AutoReaction System automatically adds emoji reactions to messages containing attachments. It is particularly useful for meme or media channels where automatic reactions enhance engagement.

Main Flow:

  1. Admins set up a list of reactions using the !SetReactionList command.
    • If a channel is specified, reactions are assigned only to that channel (Sub-Reactions).
    • If no channel is specified, reactions apply globally across the server (Main-Reactions).
  2. Admins set the number of reactions to add using the !SetReactionCount command.
    • Example: If 6 reactions are set up and count is 3, the bot randomly picks 3.
    • If 2 reactions are set up and count is 2, the bot adds both in the original order.
DisableReactions
Disables reactions for a specified channel. This prevents the bot from automatically adding reactions to messages in that channel.
!DisableReactions <channel>
Arguments:
  • channel — The channel where reactions should be disabled (mention as #channel).
Permissions:
  • Only administrators can use this command.
Examples:
  • Disable reactions in #general:
    Command: !DisableReactions #general
    Behavior: Adds the channel #general to the disabled list.
ListReactions
Shows the current emoji list and reaction count. Displays both main reactions (server-wide) and sub-reactions (channel-specific).
!ListReactions
Permissions:
  • Only administrators can use this command.
Examples:
  • View all configured reactions:
    Command: !ListReactions
    Behavior: Displays the list of emojis and counts configured for the server and specific channels.
SetReactionCount
Set the number of reactions to be added from the configured list.
!SetReactionCount <count> [channel]
Arguments:
  • count (int) — How many reactions should be added per message.
  • channel (optional) — The channel to assign this count to. If omitted, applies server-wide.
Permissions:
  • Only administrators can use this command.
Examples:
  • Set global reaction count to 3:
    Command: !SetReactionCount 3
    Behavior: Bot randomly picks 3 reactions from the main list for media across the server.
  • Set reaction count for #general to 2:
    Command: !SetReactionCount 2 #general
    Behavior: Bot randomly picks 2 reactions from the list for media in #general.
SetReactionList
Set up the emoji list for the server or a specific channel.
!SetReactionList <emoji_count> [channel]
Arguments:
  • emoji_count (int) — The total number of emojis you want to set in the list.
  • channel (optional) — The channel to assign these emojis to. If omitted, applies server-wide.
Permissions:
  • Only administrators can use this command.
Examples:
  • Set 5 emojis for the main server list:
    Command: !SetReactionList 5
    Behavior: Bot will prompt you to enter 5 emojis to be used server-wide.
  • Set 4 emojis for #general:
    Command: !SetReactionList 4 #general
    Behavior: Bot will prompt you to enter 4 emojis specifically for the #general channel.

Moderation

This bot offers advanced moderation tools to help you keep your server clean, safe, and free from unwanted links.

Feature Highlights:

  • Clear Messages: Quickly bulk-delete messages to clean up chat history.
  • Link Moderation: Robust protection against unwanted domains.

Link Moderation Workflow:

By default, this feature is disabled. Here is how to set it up:

  1. Enable & Configure: Use !BlockLinks to activate the feature. You can customize actions such as deleting links, timing out users (3 days), and/or logging violations.
  2. Manage Domains: Add unwanted domains using !BlockDomain or remove them with !UnblockDomain.
  3. Trusted Users: Use !AddWhitelist to allow specific members to bypass link restrictions.
  4. Review Settings: Check your current configuration with !ViewLinkModerationSettings.
AddWhitelist
Add a user to the whitelist. Whitelisted users can send links without being restricted by the bot's link monitoring system.
!AddWhitelist <user>
Arguments:
  • user — The user to add to the whitelist (mention).
Permissions:
  • Only administrators can use this command.
Examples:
  • Allow a user to post links:
    Command: !AddWhitelist @username
BlockDomain
Block links from one or more domains from being used in your server.
!BlockDomain <domains>
Arguments:
  • domains — Comma-separated list of domains to block (e.g., discord.gg, spam.com).
Permissions:
  • Only administrators can use this command.
Examples:
  • Block invite links and a spam site:
    Command: !BlockDomain discord.gg, spam.com
BlockLinks
Enable link monitoring and initiate the interactive configuration for moderation settings (Delete, Timeout, Log).
!BlockLinks
Permissions:
  • Only administrators can use this command.
Clear
Quickly bulk-delete a specified number of messages in a channel.
!Clear <count> [channel]
Arguments:
  • count — The number of messages to delete.
  • channel (optional) — The channel to delete messages from. Defaults to current channel.
Permissions:
  • Only administrators can use this command.
Examples:
  • Delete last 10 messages in current channel:
    Command: !Clear 10
  • Delete last 5 messages in #general:
    Command: !Clear 5 #general
ListBlockedDomains
List all currently blocked domains.
!ListBlockedDomains
Permissions:
  • Only administrators can use this command.
ListWhitelist
Display the list of whitelisted users.
!ListWhitelist
Permissions:
  • Only administrators can use this command.
RemoveWhitelist
Remove a user from the whitelist. They will be subject to link monitoring again.
!RemoveWhitelist <user>
Arguments:
  • user — The user to remove from the whitelist (mention).
Permissions:
  • Only administrators can use this command.
Examples:
  • Revoke link permissions:
    Command: !RemoveWhitelist @username
UnblockDomain
Unblock one or more domains to allow their links again.
!UnblockDomain <domains>
Arguments:
  • domains — Comma-separated list of domains to unblock.
Permissions:
  • Only administrators can use this command.
Examples:
  • Allow specific domains:
    Command: !UnblockDomain discord.gg, spam.com
UnblockLinks
Disable link monitoring completely. Links will no longer be moderated.
!UnblockLinks
Permissions:
  • Only administrators can use this command.
ViewLinkModerationSettings
Displays current link moderation settings, including enabled actions (Block, Delete, Log, Timeout) and the blocked domains list.
!ViewLinkModerationSettings
Permissions:
  • Only administrators can use this command.
Examples:
  • Check configuration:
    Command: !ViewLinkModerationSettings
    Response:
    Link Moderation Settings:
    Block Links: Enabled
    Delete Links: Enabled
    Log Links: Enabled
    Timeout User: Enabled
    Blocked Domains: discord.gg, spam.com
                                        

Media Transfer

/forward_media
Forward media from one channel (source) to another channel (destination). The source channel must be in the server where the command is used. The destination channel can be in the same or a different server, provided the bot has permission to post there. It forwards media one by one at a paced rate to prevent rate limits.
/forward_media <source_channel> <destination_channel_id> <count>
Arguments:
  • source_channel — The channel from which media needs to be forwarded (must be in the current server).
  • destination_channel_id — The ID of the channel where media needs to be forwarded. (Right-click channel > Copy Channel ID).
  • count (optional) — The number of media items to forward (e.g., last 5 items).
Permissions:
  • Only administrators can use this command.

Analytics

As the name says, these commands can perform simple data analytics and provide a detailed table to the admin.

/generate_multi_report
Allows the admin to look at user activity across various categories at once. The bot analyzes each channel under the selected categories to determine: Total messages, Unique senders, Total reactions, Media counts, and Unique media posters.
/generate_multi_report <categories> <days> <min_age_days> <sort_by>
Arguments:
  • categories — Select between 2 to 10 categories to analyze.
  • days — How many days back to look for activity.
  • min_age_days (optional) — Exclude channels newer than this number of days.
  • sort_by — Sort the final report by a specific metric.
Permissions:
  • Only administrators can use this command.
/generate_report
Allows the admin to look at the user activity of a single channel or all channels under a single category. Tabulates details like Total messages, Unique senders, Total reactions, Media counts, and Unique media posters.
/generate_report <scope> <days> <min_age_days> <target_channel> <target_category> <sort_by>
Arguments:
  • scope — Choose to analyze a "channel" or a "category".
  • days — How many days back to look.
  • min_age_days (optional) — Exclude new channels (used if scope is "category").
  • target_channel — The specific channel to analyze (if scope is "channel").
  • target_category — The specific category to analyze (if scope is "category").
  • sort_by — Sort the category report (if scope is "category").
Permissions:
  • Only administrators can use this command.

Thread Manager

/privatethread
Creates a button labeled "create a thread". This button allows any server member to create a private thread, typically used for server support discussions.
/privatethread <message> <mentions_target>
Arguments:
  • message — The message displayed above the button, describing its purpose.
  • mentions_target — A role or member to mention/notify when a user creates a private thread (e.g., Moderators).
Permissions:
  • Only administrators can use this command.

Reminders

This category has a suite of commands to setup reminders for different events like birthdays, anniversaries, or other occasions.

Main Flow:

  1. Use /reminder add to add someone's birthday or event.
  2. Use /reminder remove to remove existing events if needed.
  3. Use /reminder setup to configure the channel, time, and timezone for notifications.
  4. Use /reminder setadvance to optionally set an early reminder before the actual event day.
/reminder add
Add a new reminder for a person or event.
/reminder add <name> <date> <category>
Arguments:
  • name — Name of the person or organization.
  • date — Date of the event.
  • category (optional) — Type/Category of the event.
Permissions:
  • Only administrators can use this command.
/reminder list
List all scheduled reminders.
/reminder list <group_by> <order> <category>
Arguments:
  • group_by (optional) — Group the list by name or by event month.
  • order (optional) — Sort order (ascending or descending).
  • category (optional) — Filter events by type.
Permissions:
  • Only administrators can use this command.
/reminder remove
Remove an existing event.
/reminder remove <name>
Arguments:
  • name — Name of the event to be removed.
Permissions:
  • Only administrators can use this command.
/reminder setadvance
Set how many days in advance the bot should send an early reminder. This setting applies to all events in the server.
/reminder setadvance <days>
Arguments:
  • days — Number of days before the event to send a reminder.
Permissions:
  • Only administrators can use this command.
/reminder setup
Triggers a setup wizard (pop-ups) where users can configure:
  • The channel where reminders are sent.
  • The time at which reminders are sent.
  • The timezone used to determine the send time.
/reminder setup
Permissions:
  • Only administrators can use this command.
/reminder setupstatus
Shows the current status of the reminder configuration.
/reminder setupstatus
Permissions:
  • Only administrators can use this command.