Articles on: Plugins

Custom Commands

What're Custom Commands?

Circle's Custom Command plugin allows you to be the developer and create just about any command you want; from a simple message response, to multi-channel automation, to bulk-command usage, Circle can do it all.

Getting Started

Navigate to your server's dashboard.
Select the Custom Commands plugin. If it's not enabled, you'll need to enable it.
Follow the instructions below.

Command Variables

Click here to view the command variables page!

Command variables will bypass user restriction, thus making it able for anybody to use that command regardless of what permissions they have as Circle is looking for the Custom Command call only. You will need to utilize the required roles option to secure your commands when applicable.

Creating a Custom Command

Click the CREATE NEW button on the top right.
Complete the prompt that appears. (The Command Name and Command Response fields are required, everything else optional.)

Custom Commands have varying complexity and difficulty, all will be explained further in this article.

When anyone runs c!pong, Circle will reply with PING!!!

BTW: You can only run one custom command every two seconds!

Basic Custom Command

This command will say someone was banned, but not actually ban them.

Name: fakeban
Usage: c!fakeban <@user>
<:circleCheck:597928247455514624> **{1.user.tag}** has been banned.

The first line of this custom command is simply a message response, it's using the user variables to get the mentioned user's tag. {1.user.tag} will check to see if the first argument is a user, and if so, will get their tag (aaron#5115).

Complex Custom Command

This command will mute a user, but also softban them from the server to purge their messages.

Name: softmute
Usage: c!softmute <@user> <duration> <reason>
{c!mute {1+}}
{c!softban {1} {3+}}
<:circleCheck:597928247455514624> **{1.user.tag}** has been softmuted.

The first line of this custom command is invoking the c!mute command. Since our arguments line up exactly with `c!mute`'s, we're using the {1+} variable. {1+} is providing every argument after the first argument to the command.
The second line of this custom command is invoking the c!softban command. Unalike the mute command, our arguments don't align perfectly so we need to alienate the first argument, then everything after the third argument. The {1} is specifying the user we wish to softban, {3+} is providing the reason for the softban. We have to ignore the second argument since it's a duration, and not needed in our softban reason.
The third line is simply what Circle will say when the two commands have finished running.

Fields Breakdown

NAME: The name of the command. (Example: c!<name>)
RESPONSE CHANNEL: Where Circle should send the response message.
RESPONSE: The "code" for the custom command.
DELETE RESPONSE AFTER: How long, in seconds, Circle should wait before deleting the response messages.
# OF REQUIRED ARGUMENTS: How many arguments must be provided in the Custom Command for it to run.
ALLOW MENTIONS: This determines if Circle should allow the responses to mention @everyone, @here, and all roles.
REQUIRED CHANNELS/ROLES: The user must either be in this channel, or have the role, for the response to fire.
IGNORED CHANNELS/ROLES: The user cannot be in this channel, or have the role, for the response to fire.
DELETE TRIGGER: This determines if Circle should delete the message that invoked the response.

Want more than 10 custom commands? Check out Circle Premium!

Updated on: 27/03/2022

Was this article helpful?

Share your feedback


Thank you!