Where scripts work
Scripts work in ,createembed, in welcome, goodbye and boost messages, in the punishment messages set with ,invoke, in level-up messages and in Last.fm now-playing modes. Plain text with variables works in the same places.
A first embed
A script starts with {embed}. Each part after it is written $v{name: value}.
{embed}$v{title: Welcome to the server}$v{description: Glad you made it, {user.mention}. Read the rules first.}$v{color: #35B8FF}$v{footer: You are member {user.join_position_suffix}}
Try it with ,createembed, then use the same script as a welcome message:
,welcome add #general {embed}$v{title: Welcome to the server}$v{description: Glad you made it, {user.mention}.}
Parts of an embed
- $v{title: text}
- The heading.
- $v{url: link}
- Makes the title a link.
- $v{description: text}
- The main text.
- $v{color: #hex}
- The bar down the left side.
- $v{thumbnail: url}
- A small picture in the corner.
- $v{image: url}
- A large picture under the text.
- $v{author: name && icon && url}
- The small line above the title. The icon and link are optional.
- $v{footer: text && icon}
- The small line at the bottom. The icon is optional.
- $v{field: name && value}
- A titled block. Add
inlineafter the value to sit fields side by side. - $v{timestamp}
- The time the message was sent.
- $v{message: text}
- Text outside the embed, for a ping.
- $v{button: url && label}
- A link button under the embed.
Write /e where you want a new line. Put {embed} again to start a second embed in the same message, up to ten.
{embed}$v{message: {user.mention}}$v{title: Rules}$v{description: Be kind./eNo spam.}$v{button: https://example.com && Read them all}
Flags
- --reply
- Sends the message as a reply.
- --self_destruct 10
- Deletes the message after that many seconds.
{embed}$v{description: This message removes itself.} --self_destruct 10
Containers
A container is Discord's newer layout: text, separators, pictures and buttons stacked in one box. A script that has {container} in it is built this way.
{container}{color: #35B8FF}{content: ## Welcome
Glad you made it.}{separator}{content: Read the rules first.}{/container}
- {container} … {/container}
- The box.
{color: #hex}inside it sets the bar colour. - {content: text}
- A block of text inside the box.
- {separator}
- A dividing line.
{separator.large}leaves more room. - {image: url}
- A picture.
{gallery: url, url}shows several. - {thumbnail: url && text}
- A block of text with a small picture beside it.
Variables
A variable is swapped for a live value when the message is sent. {user} is the member's username and {user.mention} pings them.
The member
{user}{user.mention}{user.name}{user.tag}{user.display}{user.display_name}{user.display_avatar}{user.guild_avatar}{user.id}{user.avatar}{user.created_at_timestamp}{user.created_at}{user.created}{user.bot}{user.joined_at_timestamp}{user.joined_at}{user.boost}{user.boost_since_timestamp}{user.boost_since}{user.color}{user.top_role}{user.role_list}{user.role_text_list}{user.role_count}{user.badges}{user.badges_icons}{user.join_position_suffix}{user.join_position}The server
{guild}{guild.name}{guild.id}{guild.icon}{guild.banner}{guild.splash}{guild.discovery}{guild.members}{guild.member_count}{guild.count}{guild.boosts}{guild.boost_count}{guild.boost_tier}{guild.boost_level}{guild.owner_id}{guild.created_at_timestamp}{guild.created_at}{guild.vanity}{guild.region}{guild.preferred_locale}{guild.shard}{guild.emoji_count}{guild.role_count}{guild.channels_count}{guild.text_channels_count}{guild.voice_channels_count}{guild.category_channels_count}{guild.max_members}{guild.afk_timeout}{guild.afk_channel}{guild.channels}{guild.text_channels}{guild.voice_channels}{guild.category_channels}{guild.max_presences}{guild.max_video_channel_users}{guild.key_features}The channel
{channel.name}{channel.id}{channel.mention}{channel.topic}{channel.type}{channel.last_message_id}{channel.position}{channel.slowmode_delay}{channel.category_id}{channel.category_name}Date and time
{date.now}{date.now_proper}{date.now_short}{date.now_shorter}{time.now}{time.now_military}{date.utc_timestamp}{date.timestamp}{date.utc_now}{date.utc_now_proper}{date.utc_now_short}{date.utc_now_shorter}{time.utc_now}{time.utc_now_military}{unix}Some features add variables of their own. These commands list them in Discord:
welcome variablesView variablesjoindm variablesView join DM variablesinvoke variablesView variables for invoke messagesautoresponder variablesView available variables
Working with existing embeds
createembed {title; hi}Create an embed or container from codeeditembed .../channels/... {title; hi}Edit a bot message's embed or container by codecopyembed (message link)Copy embed code from a messageembed create welc-1Start customization for an embedembed preview welc-1Send an existing embedembed listList all available embeds