Guide

8ball Command

The /8ball command allows users to ask the magic 8-ball a question and receive a random response.

To use the command, type /8ball and provide the following option:

  • question - The question you want to ask the magic 8-ball. (Required)

Example usage:

    /8ball --question Will it rain tomorrow?
  

The command provides a fun and random response from the magic 8-ball to answer the user's question.

About Command

The /about command provides information about AshBot, including its features and how to get support.

To use the command, type /about.

The command will display an embed with details about AshBot, including its purpose, available commands, customizable configurations, and links for support, invite, documentation, and the official website.

Example usage:

    /about
  

Explore the world of AshBot and stay connected with the community!

Accept Command

The /accept command allows administrators to accept a suggestion by updating its status and providing optional reasons.

To use the command, type /accept and provide the following options:

  • suggestion_id - The ID of the suggestion to accept. (Required)
  • reason (Optional) - Optional reason for accepting the suggestion.

Example usage:

    /accept --suggestion_id 123 --reason Accepted for implementation
  

Note: This command requires administrator permissions to execute.

The command fetches the suggestion details, updates its status to "Accepted," and edits the suggestion message to reflect the acceptance.

AddUser Command

The /adduser command allows administrators to add a specified user to a channel with specific permissions.

To use the command, type /adduser and provide the following option:

  • user_id - The ID of the user to add to the channel. (Required)

Example usage:

    /adduser user_id 123456789012345678
  

Permissions granted:

  • SEND_MESSAGES
  • VIEW_CHANNEL
  • READ_MESSAGE_HISTORY

Note: This command requires administrator permissions to execute.

Avatar Command

The /avatar command allows users to fetch the avatar of a specified user or their own.

To use the command, type /avatar and provide the following option:

  • user (Optional) - The user whose avatar you want to fetch. If not provided, it will default to your own avatar.

Example usage:

    /avatar
  
    /avatar --user @UserName
  

Note: The image is displayed with a maximum size of 1024 pixels and is dynamic.

Ban Command

The /ban command allows administrators to ban a specified user from the server.

To use the command, type /ban and provide the following options:

  • user - The user to ban. (Required)
  • reason (Optional) - The reason for the ban. If not provided, it defaults to "No reason specified."

Example usage:

    /ban --user @UserName --reason Violation of rules
  

Note: This command requires the user executing it to have the "Ban Members" permission.

The ban action will be logged in the configured log channel with details including the user, moderator, and reason.

Stats Command

The /stats command displays statistics about AshBot, including information about the server, user count, and system details.

To use the command, type /botstats.

The command will display an embed with details such as the bot's tag, Discord.js version, guild count, user count, channel count, uptime, OS, CPU, and Node.js version.

Example usage:

    /botstats
  

Discover interesting insights about AshBot's current status and system information!

Bug Command

The /bug command allows users to report a bug, providing developers with details to investigate.

To use the command, type /bug and provide the following option:

  • message - A detailed description of the bug. (Required)

Example usage:

    /bug --message Found a bug in the command handling logic.
  

Upon reporting the bug, the command sends relevant information to a designated bug report channel in the bot's guild.

The bug report includes details such as user information, bug description, timestamp, guild information, and an invite link to the guild.

Note: The invite link creation may fail if the bot lacks "CREATE_INSTANT_INVITE" permissions.

Calc Command

The /calc command allows users to perform mathematical calculations using the specified expression.

To use the command, type /calc and provide the following option:

  • expression - The mathematical expression to be evaluated. (Required)

Example usage:

    /calc --expression 2 + 2 * 3
  

The command uses the math.js library to evaluate the mathematical expression.

The result of the calculation will be displayed as a reply to the user's command.

Note: Ensure that the mathematical expression provided is valid to avoid calculation errors.

Cat Command

The /cat command allows users to get a random cat image.

To use the command, type /cat.

The command will fetch a random cat image from the Cat API and display it in an embed.

Example usage:

    /cat
  

Enjoy adorable cat images with the help of the Cat command!

Checkvote Command

The /checkvote command allows users to check their vote status for AshBot on Top.gg.

To use the command, type /checkvote.

The command will check whether the user has voted for AshBot on Top.gg in the last 12 hours and provide a response accordingly. If the user has not voted, they will be prompted to vote, and a link to the Top.gg voting page will be provided.

Example usage:

    /checkvote
  

Stay updated on your vote status and continue supporting AshBot!

Clearwarn Command

The /clearwarn command allows administrators to remove all warnings for a specified user.

To use the command, type /clearwarn and provide the following option:

  • user - The user for whom you want to clear warnings. (Required)

Example usage:

    /clearwarn user @UserName
  

Note: This command requires administrator permissions to execute.

The command will clear all warnings for the specified user in the server.

Close Command

The /close command is used to close a support ticket. It is designed for guild usage only.

To use the command, ensure that the channel name starts with "t-" (e.g., "t-support") and type /close.

Example usage:

    /close
  

The command performs the following actions:

  1. Generates a transcript of the channel.
  2. Sends the transcript to the user via DM.
  3. Sends a notification to the specified log channel (if configured).
  4. Deletes the channel after a 5-second delay.

Note: Ensure that the channel topic contains the user ID for proper functioning.

Counter Command

The /counter command allows you to set up a member counter for a specific role in a channel. Only administrators can use this command. Using the @everyone role, will show All Members.

To use the command, type /counter and provide the following options:

  • channel - Select the channel for the member counter. (Required)
  • role - Select the role for the member counter. (Required)

Example usage:

      /counter channel #counter-channel role @CounterRole
        

Delwarn Command

The /delwarn command is used to remove the latest warning from a user. It requires the administrator permission to execute.

To use the command, type /delwarn and mention the user from whom you want to remove the latest warning.

Example usage:

    /delwarn @user
  

The command performs the following actions:

  1. Checks if the user issuing the command has the administrator permission.
  2. Retrieves existing warnings for the specified user from the database.
  3. Checks if the user has any warnings to remove. If not, a message is sent indicating no warnings.
  4. Removes the latest warning from the user and updates the database accordingly.
  5. Sends an embed message indicating the removal details.

Deny Command

The /deny command is used to deny a suggestion. It requires the administrator permission to execute.

To use the command, type /deny and provide the suggestion ID that you want to deny.

Example usage:

    /deny --suggestion_id 123 --reason "Inappropriate content"
  

The command performs the following actions:

  1. Checks if the user issuing the command has the administrator permission.
  2. Parses the suggestion ID and optional reason from the command options.
  3. Fetches the suggestion details from the database using the suggestion ID.
  4. Verifies that the suggestion is from the same guild as the command was issued in.
  5. Updates the suggestion status to "Denied" in the database.
  6. Fetches the suggestion message and reactions from the specified channel.
  7. Calculates the voting statistics (accept and decline counts).
  8. Edits the suggestion message to update the embed with the "Denied" status, reason, and voting statistics.
  9. Replies to the user indicating that the suggestion has been denied.

Dog Command

The /dog command is used to get a random dog image.

To use the command, type /dog. The bot will reply with a random dog image.

Example usage:

    /dog
  

The command performs the following actions:

  1. Makes a request to "https://api.thedogapi.com/v1/images/search" to fetch a random dog image.
  2. Creates an embed with the dog image and a blue color.
  3. Replies to the user with the embedded random dog image.

Embed Command

The /embed command allows you to create a custom embed. Only administrators can use this command.

To use the command, type /embed and provide the following options:

  • title - The title of the embed (limited to 256 characters). (Required)
  • description - The description of the embed (limited to 2,000 characters). (Required)
  • color - The color of the embed in hexadecimal format (e.g., #FF0000). (Optional)
  • channel - The channel where the embed should be sent. (Optional)
  • footericon - The icon URL for the footer. (Optional)
  • footer - The text for the footer. (Optional)
  • authorurl - The URL for the author. (Optional)
  • authoricon - The icon URL for the author. (Optional)
  • author - The author name. (Optional)
  • image - The main image URL for the embed. (Optional)
  • thumbnail - The thumbnail image URL for the embed. (Optional)
  • url - The URL for the embed. (Optional)
  • textcontent - The text content above the embed. (Optional)
  • messageid - The message ID to edit an existing embed. (Optional)

Example usage:

      /embed title Example Title description Example Description color #FF0000 channel #general footericon https://i.imgur.com/w3duR07.png 
      footer Example Footer authorurl https://i.imgur.com/w3duR07.png author Example Author image https://i.imgur.com/w3duR07.png 
      thumbnail https://i.imgur.com/w3duR07.png url https://i.imgur.com/w3duR07.png textcontent Example Text messageid 1234567890
        

Reaction Roles Setup Command

The /rrsetup command helps you set up reaction roles in your server. Only administrators can use this command.

To use the command, type /rrsetup and provide the following options:

  • channel - The channel to send the reaction role embed. (Required)
  • role1 - The first role for users to react to. (Required)
  • role2 - The second role for users to react to. (Optional)
  • role3 - The third role for users to react to. (Optional)
  • role4 - The fourth role for users to react to. (Optional)
  • role5 - The fifth role for users to react to. (Optional)

Example usage:

  /rrsetup channel #roles role1 @Role1 role2 @Role2 role3 @Role3 role4 @Role4 role5 @Role5
        

Role Command

The /role command allows administrators to add or remove a role from a user for a given duration.

To use the command, type /role and provide the following options:

  • user - The user to add/remove the role from. (Required)
  • role - The role to add/remove. (Required)
  • duration - The duration in days to add/remove the role for. (Required)

Example usage:

    /role user @Username role @RoleName duration 7
  

RoleAll Command

The /roleall command allows administrators to add a specified role to all members in the server.

To use the command, type /roleall and provide the following option:

  • role - The role to add to all members. (Required)

Example usage:

    /roleall role @RoleName
  

Note: This command requires administrator permissions to execute.

Setup Command

The /setup command allows you to configure various settings for your server. Only administrators can use this command.

To use the command, type /setup and provide the following options:

  • log-channel - The channel for logs. (Optional)
  • welcome-channel - The channel for welcome messages. (Optional)
  • leaves-channel - The channel for leave messages. (Optional)
  • join-role - The role to assign to users when they join. (Optional)
  • ticket-channel - The channel for tickets. (Optional)
  • suggestion-channel - The channel for suggestions. (Optional)

Example usage:

  /setup log-channel #logs welcome-channel #welcome leaves-channel #leaves join-role @Member ticket-channel #tickets
  suggestion-channel #suggestions
        

Snipe Command

The /snipe command retrieves the last deleted message in the current channel.

To use the command, the user must have the ADMINISTRATOR permission.

Example usage:

    /snipe
  

The command performs the following actions:

  1. Checks if the user has the ADMINISTRATOR permission.
  2. Fetches the last deleted message from the database for the current channel and guild.
  3. If a deleted message is found, creates an embed with the author and content details.
  4. Replies with the embed containing the last deleted message.
  5. If no deleted message is found, replies with a message indicating no recently deleted messages.
  6. Handles errors and replies with an error message if any issues occur during the process.

Command Options:

  • None

Permissions:

ADMINISTRATOR - Required to use this command.

Stick Command

The /stick command allows you to stick a message to the channel. Only administrators can use this command.

To use the command, type /stick and provide the following options:

  • message_content - The content of the sticked message. (Required)

Example usage:

      /stick This is a stickied message!
        

Suggest Command

The /suggest command allows users to create and submit suggestions.

To use the command, type /suggest [your suggestion] to submit a suggestion.

Example usage:

    /suggest Improve the server's welcome message!
  

The command performs the following actions:

  1. Checks if the user is on cooldown for submitting suggestions.
  2. If not on cooldown, records the suggestion in the database.
  3. Fetches the configured suggestion channel for the guild from the database.
  4. If a suggestion channel is found, creates an embed for the suggestion.
  5. Sends the suggestion embed to the suggestion channel.
  6. Updates the suggestion's message ID in the database.
  7. Replies to the user that their suggestion has been submitted.

Command Options:

  • suggestion (required): The content of the suggestion.

Cooldown:

Users are limited to submitting one suggestion every 8 hours.

Support Command

The /support command provides users with a link to join the support server.

To use the command, type /support to receive an embed with a support message and a button leading to the support server.

Example usage:

    /support
  

The command performs the following actions:

  1. Creates a LINK-styled button labeled Support with a link to the support server.
  2. Creates an embed with a title and description conveying the support message.
  3. Replies to the user with the embed and the button in a row.

Command Options:

  • None

Unban Command

The /unban command allows users with the BAN_MEMBERS permission to unban a user from the server.

To use the command, type /unban [user_id] [reason] to unban the specified user with an optional reason.

Example usage:

    /unban 123456789012345678 Unbanned for a reason
  

The command performs the following actions:

  1. Checks if the user has the BAN_MEMBERS permission.
  2. Retrieves the target user's ID and the optional reason from the command options.
  3. Fetches the list of banned users from the server.
  4. Finds the banned user by matching their ID.
  5. If the user is not banned, replies with an error message.
  6. Unbans the user and replies with a confirmation message.
  7. Logs the unban action in the server's log channel if available.

Command Options:

  • user: The user to unban (provide the user ID) (required).
  • reason: The reason for the unban (optional).

Unlock Command

The /unlock command allows users with the ADMINISTRATOR permission to unlock a specific text channel, enabling users to send messages.

To use the command, type /unlock [channel_mention] to unlock the specified text channel.

Example usage:

    /unlock #general
  

The command performs the following actions:

  1. Checks if the user has the ADMINISTRATOR permission.
  2. Retrieves the target text channel based on the provided mention.
  3. Checks if the channel is a text channel.
  4. Verifies if the channel is currently locked down (permissions deny 'SEND_MESSAGES').
  5. If the channel is locked, updates permissions to allow 'SEND_MESSAGES' for everyone.
  6. Replies with a confirmation message or an error message if unsuccessful.

Command Options:

  • channel: The text channel to unlock (required).

Unmute Command

The /unmute command allows users with the MANAGE_MESSAGES permission to unmute a specified user in the guild.

To use the command, type /unmute [user_mention] [reason] to unmute the specified user. The reason is optional.

Example usage:

    /unmute @username
    /unmute @username Breaking the rules
  

The command performs the following actions:

  1. Checks if the user has the MANAGE_MESSAGES permission.
  2. Retrieves the target user based on the provided mention.
  3. Unmutes the user, and logs the unmute in the specified log channel.
  4. Replies with a confirmation message or an error message if unsuccessful.

Command Options:

  • user: The user to unmute (required).
  • reason: The reason for the unmute (optional).

The command uses the timeout method to handle the unmute.

Unstick Command

The /unstick command allows you to stop stickied messages in the channel. Only administrators can use this command.

To use the command, type /unstick. This will stop the most recent stickied message in the channel.

Example usage:

      /unstick
        

Userinfo Command

The /userinfo command fetches information about a user in the guild.

To use the command, type /userinfo to get information about yourself or /userinfo [user_mention] to get information about a specific user.

Example usage:

    /userinfo
    /userinfo @username
  

The command performs the following actions:

  1. Retrieves the target user based on the provided mention or defaults to the user who triggered the command.
  2. Formats and displays various details about the user in an embedded message.
  3. Sends the embedded message as a reply.

User Information Displayed:

  • Username and Discriminator
  • User ID
  • Nickname in the server (if available)
  • Server Boosted Status
  • Join Date (formatted and relative)
  • Account Creation Date (formatted and relative)
  • Roles (sorted by position)

Vote Command

The /vote command provides links to vote for the bot on different platforms.

To use the command, type /vote in a channel. It will reply with buttons for various voting platforms.

Example usage:

    /vote
  

The command performs the following actions:

  1. Creates an embedded message with the title "Vote for the Bot" and a description.
  2. Adds buttons for each voting platform (Top.gg, Discords.com, Discordlist.gg).
  3. Sends the embedded message with buttons as a reply.

Voting Platforms:

Waifu Command

The /waifu command fetches a waifu image from the nekos.life API and displays it in an embedded message.

To use the command, type /waifu in a channel. The command has a cooldown of 5 seconds per user to prevent spam.

Example usage:

    /waifu
  

The command performs the following actions:

  1. Checks if the user is on cooldown. If yes, it returns a cooldown message.
  2. Sets the user on cooldown for 5 seconds.
  3. Fetches a waifu image from the nekos.life API using Axios.
  4. Creates an embedded message with the fetched image and sends it as a reply.
  5. If fetching fails, it replies with a failure message.

Warn Command

The /warn command is used to warn a user for a specific reason. It also keeps track of the user's warnings and logs the action.

To use the command, type /warn followed by the mention of the user and an optional reason for the warning.

Example usage:

    /warn @user [reason]
  

The command performs the following actions:

  1. Checks if the user issuing the command has the MANAGE_MESSAGES permission.
  2. Checks if the target user is an administrator and prevents warning admins.
  3. Retrieves existing warnings for the specified user from the database.
  4. Adds a new warning with a reason to the user's warnings in the database.
  5. Checks for the number of warnings and takes actions accordingly (kick or ban).
  6. Replies to the user with an embedded warning message.
  7. Sends a log to the configured log channel with details of the warning.

Warns Command

The /warns command is used to show the number of warnings a user has with reasons.

To use the command, type /warns. The bot will reply with an embed displaying the user's warnings and reasons.

Optional: You can mention a specific user to check their warnings.

Example usage:

    /warns [@user]
  

The command performs the following actions:

  1. Checks if the user has the ADMINISTRATOR permission.
  2. Retrieves existing warnings for the specified user from the database.
  3. Creates an embed with the user's warnings and reasons.
  4. Replies to the user with the embedded warnings information.

Wolfram Command

The /wolfram command allows you to query WolframAlpha for information. Use this command to get detailed results for your queries.

To use the command, type /wolfram and provide the following option:

  • query - The query to search on WolframAlpha. (Required)

Example usage:

      /wolfram query Who is the president of the United States?
        

Note: The command may return both text and image results based on the query.