variables - placeholders & functions

  • you can escape a placeholder or function via a backslash \ before your placeholder. this way, the placeholder will not replace (e.g. \{user}).

✎ placeholder list

a bit confused on what a placeholder is? check out our beginner guide on using simple placeholders.

♪ user / author information

  • advanced usage: user information can all be extended into a function to swap the user target of the information. for example, {user_balance:395526710101278721} would provide balance of that specific user id.

  • this means that {user_balance:[$1]} can provide the user balance of the first argument. for more information, read advanced ii: using user arguments in placeholders.

variable

example

description

{user}

@iara

the user's @mention

{user_tag}

iara

the user's username and tag ✦ tags have been deprecated by Discord

{user_name}

iara

the user's username

{user_avatar}

the user's avatar

{user_discrim}

0

the user's discriminator (the numbers after your username) ✦ tags have been deprecated by Discord

{user_id}

395526710101278721

the user's id

{user_nick}

iara c:

the member's nickname in the server, if applicable

{user_joindate}

Wed, Aug 15, 2018 2:32 AM

the date of when the member joined the server

{user_createdate}

Wed, Dec 27, 2017 10:41 AM

the date of when the user joined discord

{user_displaycolor}

#ffdfdf

the member's hex color when chatting

{user_boostsince}

Wed, Mar 17, 2021 7:13 PM

the date the member has been boosting the server since (if they're not a booster, it'll say "Not a Booster")

{user_balance}

21983

the member's balance

{user_balance_locale}

21,983

the member's balance but with locale (comma separator)

{user_item:}

{user_item:apple} = 1 × apple

shows the user's quantity & name of a specified item

{user_item_count:}

{user_item_count:apple} = 1

shows the quantity of a specified item

{user_inventory}

1 × apple 2 × banana

shows the user's entire inventory

♪ server general information

variable

example

description

{server_name}

= m i m u =

the server's name

{server_id}

479115079338557469

the server's id

{server_membercount}

407

the server's member count

{server_membercount_ordinal}

203rd

the ordinal number of the member count

{server_membercount_nobots}

400

the server's member count, but without bots*

{server_membercount_nobots_ordinal}

309th

the ordinal number of the server's member count without bots*

{server_botcount}

7

the server's bot count*

{server_botcount_ordinal}

2nd

the ordinal number of the server's bot count*

{server_icon}

the server's icon

{server_rolecount}

40

the server's role count

{server_channelcount}

20

the server's channel count (includes all types of channels)

{server_randommember}

@iara

the @mention of a random member of your server**

{server_randommember_tag}

iara

the user and tag of a random member of your server** ✦ tags have been deprecated by Discord

{server_randommember_nobots}

@iara

the @mention of a random member (that is not a bot) of your server**

{server_owner}

@iara

the @mention of the server owner

{server_owner_id}

395526710101278721

the user id of the server owner

{server_createdate}

Wed, Dec 27, 2017 10:41 AM

the date the server was

created on

* = due to discord's constraints with intents, the numbers of bots / without bots can be unreliable since october 2020. this is a result of not being able to cache every bot without caching all members in your server. servers with premium are equipped with premium caching to bypass these restraints.

** = due to discord's constraints with intents, random member variables only consists of cached members (usually members who are active in your chat). servers with premium are equipped with premium caching to bypass these restraints.

♪ server boost information

variable

example

description

{server_boostlevel}

2

the boost level, from 0 to 3, of the server

{server_boostcount}

7

the number of boosts the server has

{server_nextboostlevel}

3

the boost level the server is heading towards.*

{server_nextboostlevel_required}

14

the number of boosts needed in total to reach the next boost level.*

{server_nextboostlevel_until_required}

7

the number of boosts the server needs in order to reach the next boost level*

* = returns "Max Level Reached" if it's already at level 3.

♪ server settings' information

variable

example

description

{server_prefix}

/

the server's prefix -- globally, mimu uses slash (/) commands, so this variable will always return "/"

{server_currency}

🍪

the server's currency

♪ channel information

variable

example

description

{channel}

#general

the mention of the channel

{channel_name}

media

the name of the channel

{channel_createdate}

Sun, Dec 27, 2020 3:11 AM

the date of when the channel was created

♪ message information

variable

example

description

{message_id}

8832493284932843t

the id of the message that triggered the autoresponder

{message_content}

hi! i'm new!

the content of the message that triggered the autoresponder. pro-tip! it's the same as [$1+], but with the trigger.

{message_link}

the link to the message that triggered the autoresponder.

♪ misc

variable

example

description

{date}

Tue, April 27, 2021 10:41 AM

the date, now.

{newline}

text line one text line two

adds a new line. note: this only works with /embed edit and /autoresponder add/editreply commands due to discord's limitation on new lines within slash commands.

♪ advanced placeholders

there are no examples for these because this depends on either user input, or something else, and could simply be anything.

there are no examples for these because this depends on either user input, or defined elsewhere in your autoresponder. this can be simply anything.

for information on using this, please view intermediate guides on ranges and making choices, locked choices, as well as advanced guides on different matchmodes and using user arguments.

variable

description

[range]

the range response made from the range in the {range:} function.

[choice]

the choice made from the chosen list in the {choose:} function.

[lockedchoice]

the corresponding locked choice made from {lockedchoose:} function

[$N]

the Nth argument/word used to trigger the autoresponder send by the user. only applicable for modes of autoresponder that is notexact.

[$N+]

the Nth word and words after that was used to trigger the autoresponder send by the user. only applicable for modes of autoresponder that is notexact.

[$N-Z]

the Nth to Zth words / arguments used to trigger the autoresponder send by the user. only applicable for modes of autoresponder that is notexact.

✎ function list

completely lost? check out our beginner guide on using simple functions.

♪ formatting and redirecting

variable

usage

description

{dm}

{dm}

redirects the response to be in dms.

{sendto:}

{sendto:#general}

redirects the response to the channel specified. by default, it is the channel the autoresponder is invoked in.

{embed:}

{embed} {embed:#ffffff} {embed:embed_name}

turns the reply to an embed. if input is provided, then you can put in a hex color, or a premade custom embed from the .embed command.

♪ auto-deletions

variable

usage

description

{delete}

{delete}

delete's the triggering message to the autoresponder

{delete_reply:}

{delete_reply:10}

deletes the bot's reply after a given number of seconds.

♪ limit autoresponder permission

you can enable this to multiple users / permissions / roles / channels etc. by putting multiple function variables in your autoresponder.

variable

usage

description

{requireuser:}

{requireuser:iara#0001} {requireuser:395526710101278721}

limit the autoresponder to only respond to a specified user.

{requireperm:}

{requireperm:manage_server}

limit the autoresponder to only respond if they have specified permission

{requirechannel:}

{requirechannel:#general} {requirechannel:598897082450968617}

limit the autoresponder to only respond if it's ran in specified channel

{requirerole:}

{requirerole:@mods} {requirerole:484312842821173250}

limit the autoresponder to only respond if the user has the specified role

if the user does not have the specified role, it replies stating that they need specific roles

{denychannel:}

{denychannel:#general}

{denychannel:693258562603843707}

ignores the autoresponder trigger when run in the specified channel

{denyperm:}

{denyperm:Manage Roles}

{denyperm:Manage_Messages}

ignores the autoresponder trigger when the user has the specified permission

{denyrole:}

{denyrole:@mischevious}

{denyrole:693486619751350293}

ignores the autoresponder trigger when the user has the specified role

{requirebal:}

{requirebal:100} {requirebal: 100 | iara}

requires the user’s balance to be at least the specified amount.

{requireitem:}

{requireitem:apple} {requireitem: apple | 3} {requireitem: apple | 3 | [$1]}

requires an item in the user's inventory with the option to require an amount of an item as well as a user if using the optional user argument in the variable, you can only check/require up to 3 users' inventories.

♪ misc

variable

usage

description

{modifybal:}

{modifybal:+1000}

{modifybal:+1000}

{modifybal:=10000}

{modifybal:*2}

{modifybal:/3}

{modifybal:+1000 | iara#0001}

{modifybal:-1000 | iara#0001}

{modifybal:=10000 | iara#0001}

{modifybal:*2 | iara#0001}

{modifybal:/3 | iara#0001}

{modifybal:+1000 | [$1]}

adds, removes, sets, divides, or multiplies from user balance.

can only change by up to ±100,000 at once, and only 3 users at once.

supports the following simple math functions: + adds specified amount to existing balance

- subtracts specified amount to existing balance

= sets balance to be that specified amount

* multiplies the existing balance by specified amount

/ divides the existing balance by specified amount

can change balance from other users too, if you add the optional argument "user" after the pipe |.

{modifyinv:}

{modifyinv: apple | 2} {modifyinv: 53ab4795-d628-467d-bc59-20252a1d55bc | -2} {modifyinv: apple | 2 | [$1]} {modifyinv: apple | -2 | iara}

adds or removes a specified amount of an inventory item from a user's /balance with an optional user argument users can only have 10,000 of a certain item in their inventory, with exception to premium servers, where it is 1,000,000,000.

+ adds specified item amount to existing inventory

- subtracts specified item amount to existing inventory if the person doesn't have enough of an item for you to "remove", it'll remove their existing item count but it won't put them in the "negative" amount of an item, and will not reply with an error. this function is separate from stock in your /shop add - it will not reduce your amount of stock.

{cooldown:}

{cooldown:600}

sets a cooldown for the autoresponder to be ran in, in seconds.

{addrole:}

{addrole:@cool kids}

{addrole:@verified | iara#0001}

{addrole:@verified | [$1]}

adds role to the user.

optionally, you can add roles to other users, too, if you add the optional argument "user" after the pipe |.

{removerole:}

{removerole:@cool kids}

{removerole:@muted | iara#0001}

{removerole:@muted | [$1]}

removes role from the user.

optionally, you can remove roles to other users, too, if you add the optional argument "user" after the pipe |.

{setnick:}

{setnick:a real cutie}

{setnick:i love {user_nick}!}

{setnick: iawa | iara#0001}

{setnick: appropriate name | [$1]}

edits the user’s nickname in the server.

optionally, you can change other users’ nicknames, too, if you add the optional argument “user” after the pipe |

{react:}

{react::pancakes:}

reacts the emoji to the triggering message to the autoresponder

{reactreply:}

{reactreply::cute_dance:}

reacts the emoji to the bot reply

{addbutton:}

{addbutton:clickie}

adds a button to the desired trigger (ie. greet / leave / boost, autoresponders)

♪ advanced functions

using these functions can be pretty difficult! read up on our intermediate section on ranges and making choices, as well as locked choices, to fully understand. for using arguments, read the advanced ii: using user arguments guide.

variable

description

{range:}

chooses a value between a minimum and maximum, separated with -. (e.g. {range:1-10}). supports up to 4 ranges, you can reference these in your autoresponder via [range] [range1] [range2] [range3], also mentioned in advanced placeholders.

{choose:}

chooses from a provided list of choices that are separated by the pipe | symbol. supports up to 4 choices, {choose:} {choose1:} {choose2:} {choose3:}. you can reference these in your autoresponder via [choice] [choice1] [choice2] [choice3], also mentioned in advanced placeholders.

{lockedchoose:}

"locks" or "forces" a choice to happen based on a corresponding {choose:} decision. the order of the [choice] found in the {choose:} corresponds to the order of the [lockedchoice] found in the {lockedchoose:}. for example, if a was chosen from {choose:x|y|z|a|b|c}, then n MUST be chosen from {lockedchoose1:k|r|m|n|o|p}. this is because a is the 4th option which was chosen, and n is the 4th option.

you can reference these in your autoresponder via [lockedchoice] [lockedchoice1] [lockedchoice2] [lockedchoice3], also mentioned in advanced placeholders.

{requirearg:}

requires an argument to be specified so you can refer to them properly in the [$N] placeholder. you can put the number of the argument in. for example, {requirearg:1}

optionally takes an input type after the pipe | symbol, which forces the user to follow that type, e.g. {requirearg:2|number}. the types supported are user, channel, color, role and number.

Last updated