> ## Documentation Index
> Fetch the complete documentation index at: https://docs.misery.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Variables

> Dynamic values you can drop into any misery message or embed.

## Overview

Variables get swapped for real values when misery sends your message. They work anywhere a command accepts a message or embed script — welcome messages, auto responders, auto messages, and more.

> [!NOTE]
>
> A variable with no value in that context resolves to `N/A` rather than breaking the message. A variable misery doesn't recognize is left exactly as you typed it.

## User

| Variable | Resolves to |
| - | - |
| `{user}` | Username and discriminator |
| `{user.id}` | Their user ID |
| `{user.mention}` | A mention |
| `{user.name}` | Their username |
| `{user.display_name}` | Their nickname, or display name if none |
| `{user.tag}` | Their discriminator |
| `{user.avatar}` | Avatar URL |
| `{user.guild_avatar}` | Server-specific avatar, if set |
| `{user.banner}` | Profile banner URL |
| `{user.created_at}` | Account creation date in UTC |
| `{user.created_at_timestamp}` | Account creation as a UNIX timestamp |
| `{user.joined_at}` | Server join date in UTC |
| `{user.joined_at_timestamp}` | Server join date as a UNIX timestamp |
| `{user.join_position}` | Their position in join order |
| `{user.join_position_suffix}` | Join position with ordinal suffix (`42nd`) |
| `{user.top_role}` | Highest role name |
| `{user.role_list}` | All role names |
| `{user.color}` | Display color hex code |
| `{user.bot}` | `Yes` or `No` |

> [!TIP]
>
> Wrap a timestamp variable in Fluxer's timestamp format to show it in each reader's own time: `<t:{user.joined_at_timestamp}:R>` shows "3 days ago".

## Moderation

Only available in [invoke messages](/configuration/messages/invoke-messages).

| Variable | Resolves to |
| - | - |
| `{moderator}` | Whoever ran the command — every `{user.*}` variable also works as `{moderator.*}` |
| `{reason}` | The reason given |
| `{duration}` | The punishment's length, or `Permanent` |

## Server

| Variable | Resolves to |
| - | - |
| `{guild.name}` | Server name |
| `{guild.id}` | Server ID |
| `{guild.count}` | Member count |
| `{guild.owner}` | Owner mention |
| `{guild.owner_id}` | Owner's user ID |
| `{guild.icon}` | Icon URL |
| `{guild.banner}` | Banner URL |
| `{guild.splash}` | Invite splash URL |
| `{guild.vanity}` | Vanity invite |
| `{guild.created_at}` | Creation date in UTC |
| `{guild.created_at_timestamp}` | Creation date as a UNIX timestamp |
| `{guild.emoji_count}` | Number of emojis |
| `{guild.role_count}` | Number of roles |
| `{guild.key_features}` | Enabled Fluxer features |
| `{guild.afk_channel}` | AFK channel mention |
| `{guild.afk_timeout}` | AFK timeout in seconds |

### Server-wide channel lists

| Variable | Resolves to |
| - | - |
| `{guild.channels}` | Every channel, as mentions |
| `{guild.channels_count}` | Total channel count |
| `{guild.text_channels}` | Text channels and threads |
| `{guild.text_channels_count}` | Text channel count |
| `{guild.voice_channels}` | Voice channels |
| `{guild.voice_channels_count}` | Voice channel count |
| `{guild.category_channels}` | Categories |
| `{guild.category_channels_count}` | Category count |

## Channel

| Variable | Resolves to |
| - | - |
| `{channel.name}` | Channel name |
| `{channel.id}` | Channel ID |
| `{channel.mention}` | Channel mention |
| `{channel.topic}` | Channel topic |
| `{channel.type}` | `text`, `voice`, `forum`, and so on |
| `{channel.nsfw}` | `Yes` or `No` |
| `{channel.position}` | Position in the channel list |
| `{channel.category_id}` | Parent category ID |
| `{channel.category_name}` | Parent category name |
| `{channel.slowmode_delay}` | Slowmode in seconds |
| `{channel.created_at}` | Creation date in UTC |

## Date & time

Local variables use Pacific time.

| Variable | Resolves to |
| - | - |
| `{date.now}` | `10/21/2026` |
| `{date.now_proper}` | `Wednesday, October 21, 2026` |
| `{date.now_short}` | `Oct 21, 2026` |
| `{date.now_shorter}` | `10/21/26` |
| `{time.now}` | 12-hour clock |
| `{time.now_military}` | 24-hour clock |
| `{date.utc_timestamp}` | Current UNIX timestamp |

### UTC equivalents

| Variable | Resolves to |
| - | - |
| `{date.utc_now}` | `2026-10-21` |
| `{date.utc_now_proper}` | Full weekday and date |
| `{date.utc_now_short}` | Abbreviated month |
| `{date.utc_now_shorter}` | Numeric short form |
| `{time.utc_now}` | 12-hour clock |
| `{time.utc_now_military}` | 24-hour clock |

## Levels

Only available in [level-up messages](/engagement/levels#level-up-messages).

| Variable | Resolves to |
| - | - |
| `{level.new_rank}` | The level they just reached |
| `{level.user_xp}` | Their total XP |

## Last.FM

Only available in [Last.FM mode](/integrations/last-fm#making-it-yours).

Inside a Last.FM script, `{user.*}` refers to the **Last.FM account** and `{author.*}` refers to the Fluxer member.

| Variable | Resolves to |
| - | - |
| `{user.name}` | Last.FM username |
| `{user.avatar}` | Last.FM profile picture |
| `{user.url}` | Last.FM profile URL |
| `{user.plays}` | Total scrobbles |
| `{proper(user.plays)}` | Total scrobbles with thousands separators |
| `{user.artist_crown}` | Whether they hold the crown for this artist |
| `{author.name}` | Fluxer username |
| `{author.nickname}` | Server nickname |
| `{author.id}` | Fluxer user ID |
| `{author.mention}` | Fluxer mention |
| `{author.avatar}` | Fluxer avatar |
| `{track.name}` | Track title |
| `{lower(track.name)}` | Track title, lowercased |
| `{track.url}` | Track URL |
| `{track.spotify_url}` | Spotify link |
| `{track.plays}` | Play count for the track |
| `{proper(track.plays)}` | Formatted play count |
| `{track.duration}` | Track length |
| `{track.release_date}` | Release date |
| `{artist.name}` | Artist name |
| `{lower(artist.name)}` | Artist name, lowercased |
| `{artist.url}` | Artist URL |
| `{artist.plays}` | Play count for the artist |
| `{proper(artist.plays)}` | Formatted play count |
| `{artist.image}` | Artist image |
| `{album.name}` | Album title |
| `{lower(album.name)}` | Album title, lowercased |
| `{album.url}` | Album URL |
| `{album.cover}` | Album artwork |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.