Every Single Substitution In Scurimpuglimpus.
{member_nickname} -> Gets the server nickname for a user,
if no nickname, uses global name then username
{member_global_name} -> Gets the user global name (Display Name), or username if invalid.
{member_username} -> Gets the users username.
{member_mention} -> Mentions the user.
{member_id} -> Gets the users id
{guild_name} -> The name of the guild
{guild_member_count} -> How many members in the guild
{member_joined_time} -> The Unix time when the member joined
{member_seconds_since_join} -> How many seconds since the member joined
{member_joined_timestamp:<format?>} -> A timestamp of when the member joined.
<format> is provided, use that method for displaying the timestamp
{role:<roleID>|<mode: duration/until - optional>|<args>} ->
Gives the member the role with id <roleID>.
<mode> is 'duration':<args> determine how long the member will have the role.
args can be <num>[ms/s/m/h/d/w/y],
being (milliseconds/seconds/minutes/hours/days/weeks/years), relative to right now.
{role:id|duration|500ms|20s|5y|3w|4h|100m} would give the role for
5 years, 3 weeks, 4 days, 5 hours, 40 minutes, 20 seconds and 500 milliseconds (not very precisely)
<mode> is 'until':<args> are when it will end.
args can be[tomorrow/<num>[day[s]/week[s]/month[s]/year[s]]].
all args add together.
{role:id|until|3days|5|months|tomorrow} would give the role until
5 months and 4 days, at the end of the day.
{message_content} -> Gets the content of the related message.
if no related message exists, will return empty.
{delete_message} -> Delete the related message.
if no related message exists, wont do anything.
{date} -> Gets the current date
{time} -> Gets the current time
{current_time} -> Gets the current time as Unix seconds
{timestamp:<format?>} -> Provides a timestamp for the current moment.
if <format> is defined,
then <format> will be the format code.
{timestamp_date}/{timestamp_time}/{timestamp_relative} ->
Shorthands for {timestamp:D/T/R}
{percent_of_guild:<number>} -> Gives a percentage of how much that number is in the guild.
can be mixed with other attributes, explained at the bottom.
{if:<condition>|<true>|<false>} -> Basic
conditional. if the condition in <condition> is equal
to true or not zero, return the value of <true>,
otherwise return <false>.
{if:5<10|that is true|it was false.}
{random_range:<min>|<max>} ->
Gives a random number between <min> and <max>
{random:<length>|<charset?>} ->
Gives a random set of characters of length<length>.
if <charset> is provided,
those characters will be used instead of the default (A-Z, upper and lower, 0-9)
{round:<num>} -> Rounds the given number
{floor:<num>} -> Floors the given number
{ceil:<num>} -> Ceils the given number
{format_seconds:<seconds>|<format?>} ->
Formats the input seconds as a string.
245 seconds will output "4 minutes, 5 seconds".
<format> is provided, use it to determine how its
displayed:
[<ms>, <s>, <m>, <h>, <d>, <M>, <y>] can be
used to get the value for the duration type,
as [milliseconds/seconds/minutes/hours/days/months/years]
<ss> or <mss>,
will add zeros based on how many extra characters are used,
so 5 seconds + "<ss>" = 05
[<ms>/<mss>/<msss>,
<s>/<ss>, <m>/<mm>,
<h>/<hh>, <d>/<dd>,
<M>/<MM>, <y>/<yy>/<yyy>/<yyyy>]
are all valid options
<[code]t> lets you get the text,
so "<ms> <mst>"
with 1.5 seconds will give "500 milliseconds",
but "<s> <st>" with 1 second will give "1
second"
[<mst>, <st>, <mt>, <ht>, <dt>, <Mt>, <yt>]
are all valid options.
{upper:<text>} -> turns <text> into all uppercase
{lower:<text>} -> turns <text> into all lowercase
{choose:<choice1>|<choice2>|...} -> Selects a random choice provided,
up to 15 choices.
{length:<text>} -> Gets the length of <text>
{substr:<start>|<length>|<text>} ->
Returns all text in <text> between <start> and
<start + length>
{trim:<text>} -> trims whitespace around <text> and returns it
{replace:<what>|<with>|<text>} ->
Replaces all instances of <what> with <with> in <text>
{pad:<len>|<char>|<text>} ->
Adds <char> to the start of the string,
until <text> is length <len>
{repeat:<num>:<text>} ->
Repeats <text>, <num> times.
so <text> = 'hi', <num> = 5 -> hihihihihi
{plural:<num>|<text>} ->
Adds 's' to the end of <text> if <num> is not 1
{math:<expr>} -> Do some math with the expression <expr>.
only 0-9 .+-*/() are allowed.
<br> -> new line
If it looks like a number, it can probably be used like a number.
{<attribute>_ordinal} -> Returns the ordinal version of the number,
so {member_position_ordinal} would give 1st,
while {member_position} would give 1
Some attributes that are only available when used in the leveling messages
{member_level} -> The new level of the member
{member_total_xp} -> The total amount of xp the user has
{member_position} -> The rank of the user.
If a user is the top of the server, will give 1.
{required_xp} -> How much xp the user needs to get to the next level,
not counting the current xp towards the level.
{member_xp} -> How much xp they currently have in the current level.
usually really low, and kinda pointless.
You can stack multiple attributes inside of other attributes, making things a lot more dynamic.
{if:{guild_member_count}>=500|We have a lot of members!|We need more members.} ->
Will give "We have a lot of members",
but only if the member count is at least 500,
otherwise "We need more members."
{percent_of_guild:{member_position}} ->
Get what percentage of the server is equal or above the current user
{choose:{member_nickname}|{member_global_name}|{member_username}} ->
Randomly choose a different username every time.
{if:
{floor:{random_range:0|10}}==7 |
{member_mention} is lucky level {member_level}! |
{member_mention} is now level {member_level}
}
->
A member has a 1/10 chance to get a different message, (where the number is equal to 7)