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_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_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