Custom Command Basics

Custom commands are commands you can customize within Circle to fit your server's liking. From anything basic to sending a message with info of sorts for users, to even comples custom commands like a report command or even a jail command. However, with that being said, there's many things to Custom Commands which you have to look out for when, before or even after creating the command.

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. Which you will need to restrict these custom commands to certain roles for each custom command.

To get started on making Custom Commands.

Navigate to your Server's Dashboard
Select Custom Commands if it isn't enabled, it will ask if you want to enable it.
Follow the instructions below.



For examples, we're going to display 2 Basic Custom Commands. Then 2 Complex Custom Commands. As a gateway to learn on how to create Custom Commands which can range from Basic to Intermediate skill levels.

Basic Custom Commands

First, we're going to start with a command that will mute a user, but also softban them from the server to purge their messages.

{c!mute {1} {2} {3+}}
{c!softban {1} {3+}}


What {1} means is, it's taking the first field of the command. So that will be your user. {2} Is your desired time to mute the user. Like 10m for ten minutes, or 2d for two days. {3+} is for the reason. Same will happen for softban. {1} For user. {3+} for the reason. You don't see {2} there because softban has no time value to it. As it just bans the user, and auto unbans to purge their messages from the server.

The 2nd Basic Custom Command will be a fake ban.

<:circleCheck:597928247455514624> {1.user.username} Was banned by {user.username}

Starting off. <:circleCheck:597928247455514624> Is calling a Emote from Circle to use. These can be done by grabbing the unicode from that Emote. Which is obtained by doing \:emotename: then pressing enter. Circle has two of these which you can use without the emote being in your server.
Want to use the offical Circle emojis?
circleCheck: <:circleCheck:597928247455514624>
circleX: <:circleX:597927874854387752>


Complex Custom Commands

We're going to start off with the Dashboard custom command. Now, yes, I know there's already a dashboard command in Circle. However this one changes it up just a little bit to use a value to call a specififc module if needed.

Hey {user}, here's the link you requested. Have fun updating settings!

**https://circlebot.xyz/guilds/{server.id}/{1}**


What {user} does is it pings the user running the command. So if I ran the command, it'd ping me. {server.id} will call your serverID in that Custom Command so it's for your guild only. {1} Is used to call a specific module. Like customcommands or starboard.
I would restrict the command to users with Manage Server Permissions only as they can only access the dashboard.

We have saved the best for last. With some work, two staff members within the community have come up with an amazing report command! Hold on tight, there's going to be a lot of explaining to do!

<:circleCheck:597928247455514624> {user} your report has been logged.

{c!say <#CHANNELID> <@&ROLEID>} {c!say <#CHANNELID> -e
**New Report**

**Offender**
{1.user.tag} (`{1.user.id}`)
**Reporter**
{user.username}#{user.discriminator} (`{user.id}`)
**Reason**
{2+}}


Wow! That's a lot! Let's break it down 1 by 1.

First, we're calling the Circle Checkmark emote again! Which is simple to do, just refer to above.

We're calling the say command. Now the only way you can call pre-made commands is by doing {c!commandname . . } It does not respond if you use your Server's Set Prefix. So <#channelID> will be the place of which channel you want Circle to respond in. The <@&roleID> mentions a role you set so they got notified of the report. {c!say -e . . .} Will turn the Messages Contant into an Embedded Message. {1.user.tag And {1.user.id} Will be valued as the specified user's usertag and ID.

{user.username}#{user.discriminator} {user.id} Will respond with the user's info that's running the command.

Then again, {2+}} Is just for the reason. It get's ended with two Currly Brackets because you have two open brackets, which of course then need to be closed to complete it.

Give our Advanced Variables page a read! Variable Reference

Upgrade to Premium to get more Custom Command slots!
Was this article helpful?
Cancel
Thank you!