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