Actions

Parameter Types

Atlas has tags that can take a lot of different types of parameters. This page lists all the types of parameters, and what can be used for each.

string

Strings are plain text values. They can be used for things like names, descriptions, and other text-based values.

{length;text} // "text" is a string.

number

Numbers are numeric values. They can be used for things like quantities, prices, and other numeric values.

{repeat;Hello ;6} // "6" is a number.

Formats

  • 1
  • 1.5
  • 1 thousand is interpreted as 1000
  • 2,000 is interpreted as 2000
  • twenty-two thousand is interpreted as 22000
  • 22 hours 15 minutes is interpreted as 22 (the first number)

boolean

A boolean is a true or false (yes or no) value. They can be used for things like toggles, switches, and other binary values.

{if;true;Hello;Goodbye} // "true" is a boolean, so this "if" condition runs the "Hello" branch.

Formats

  • y, yes, true, confirm, enable, on, positive are interpreted as true
  • n, no, false, deny, disable, off, negative are interpreted as false

array

An array is a list of any type of value. They are usually used for things like lists, collections, and other groupings of values.

{length;{[one;two;three]}} // "{[one;two;three]}" is an array.
{{[
"one",
"two",
"three"
]}} // this is a JSON array.

object

Objects are JSON objects, which are key-value pairs. They are used for things like records, dictionaries, and other structured data.

{{
"key": "value",
"nested": {
"key": "value"
}
}} // this is a JSON object.

Channel

A Channel represents a Discord channel.

Formats

  • 1221571466651500595 (a Snowflake) is resolved to the channel with the ID 1221571466651500595. Ideally, you should always use the channel ID.
  • <#1221571466651500595> is resolved to the channel with the ID 1221571466651500595. This is the mention format, when you mention a channel on Discord this is what the text representation looks like.
  • #channel-name is resolved by name to the channel with the name channel-name (case-insensitive)
  • channel-name is resolved by name to the channel with the name channel-name (case-insensitive)

Role

A Role represents a Discord role.

Formats

  • 1221571466651500595 (a Snowflake) is resolved to the role with the ID 1221571466651500595. Ideally, you should always use the role ID.
  • <@&1221571466651500595> is resolved to the role with the ID 1221571466651500595. This is the mention format, when you mention a role on Discord this is what the text representation looks like.
  • @role-name is resolved by name to the role with the name role-name (case-insensitive)
  • role-name is resolved by name to the role with the name role-name (case-insensitive)

User

A User represents a Discord user.

Formats

Usernames cannot be used to resolve users.

  • 1221571466651500595 (a Snowflake) is resolved to the user with the ID 1221571466651500595. Ideally, you should always use the user ID.
  • <@1221571466651500595> is resolved to the user with the ID 1221571466651500595. This is the mention format, when you mention a user on Discord this is what the text representation looks like.

Member

A Member represents a Discord member of a server. This is the same as User, but with a requirement that the user be in the server.

Formats

Usernames cannot be used to resolve members.

  • 1221571466651500595 (a Snowflake) is resolved to the user with the ID 1221571466651500595. Ideally, you should always use the user ID.
  • <@1221571466651500595> is resolved to the user with the ID 1221571466651500595. This is the mention format, when you mention a user on Discord this is what the text representation looks like.

Message

A Message represents a Discord message.

Formats

  • 1289286317359763456 is resolved to the message with the ID 1289286317359763456 in the context channel. If the message is in another channel, it will not be found.
  • 1221514834504581254-1289286317359763456 is resolved to the message with the ID 1289286317359763456 in the channel with the ID 1221514834504581254.
  • https://discord.com/channels/340583394192916492/1221514834504581254/1289286317359763456 is resolved to the message with the ID 1289286317359763456 in the channel with the ID 1221514834504581254.

Colour

Represents a color.

Formats

  • #FF0000 or 0xFF0000 is interpreted as red using a hexadecimal color code
  • rgb(255, 0, 0) is interpreted as red using an RGB color code
  • light green, LIGHT_GREEN, lightgreen are interpreted as light green using a color name
  • All colour names are case-insensitive and can be used with or without spaces or hyphens.

Colour Names

ColourHexPreview
Black#000000
Dark Mode#36393f
White#FFFFFF
Red#ED4245
Pink#EB459E
Fuchsia#EB459E
Purple#9C27B0
Blurple#5865F2
Blurple Classic#7289DA
Deep Purple#673AB7
Indigo#3F51B5
Blue#2196F3
Light Blue#03A9F4
Cyan#00BCD4
Teal#009688
Green#57F287
Light Green#8BC34A
Lime#CDDC39
Yellow#FEE75C
Amber#FFC107
Orange#FF9800
Deep Orange#FF5722
Brown#795548
Grey#9E9E9E
Blue Grey#607D8B
Role Default#4f545c
Magenta#E91E63

Time

The Time type represents a relative or absolute time.

Formats

The timezone used to calculate relative times will generally be UTC, but is not always guaranteed. For more examples, see the time parser tests

  • 1 minute is interpreted as 1 minute from now
  • 1 minute ago is interpreted as 1 minute ago
  • to go out in 23 minutes is interpreted as 23 minutes from now
  • 5pm is interpreted as 5pm today
  • 2024-01-01 is interpreted as January 1, 2024 at 00:00:00 UTC
  • 1729685682928 is interpreted as October 23, 2024 12:14:42 UTC (Unix timestamp in milliseconds)
  • 1729685682 is interpreted as October 23, 2024 12:14:42 UTC (Unix timestamp in seconds)
  • 2024-01-01T12:00:00Z is interpreted as January 1, 2024 at 12:00:00 UTC (ISO 8601)

Enums

Sometimes Atlas uses enums to represent a set of values. The possible values depend on the enum type being used. Enum keys are resolved case-insensitively, using either the key or the value, ignoring spaces, underscores and hypens. If GUILD_TEXT is an enum key with a value of 0, then you can use GUILD_TEXT, guildtext, guild text or 0 to represent the value.

TimestampStylesString

Based on Timestamp Styles

NameValueExample
ShortTimet16:20
LongTimeT16:20:30
ShortDated20/04/2021
LongDateD20 April 2021
ShortDateTimef20 April 2021 16:20
LongDateTimeFTuesday, 20 April 2021 16:20
RelativeTimeR2 months ago