Special Identifiers (Variables in other bots) are pieces of text that are translated in Mix It Up to unique properties. Below you’ll find all of the general Special Identifiers that can be used from within Mix It Up. These can be used in a variety of different types of Actions in most text boxes that you see.
Feature-Specific
NOTE: Special Identifiers that are unique to a specific area are documented on the page for that feature. If you are after the Special Identifiers for a specific event, check the Events page, or the Events section of the platform or service page that the event comes from. Below is a non-comprehensive list of pages that list unique feature Special Identifiers:
General
Date/Time
- $datetime = The current date & time (EX: 6/15/2009 1:45 PM)
- $date = The current date (EX: 6/15/2009)
- $dateyear = The current year (EX: 2009)
- $datemonth = The current month (EX: 06)
- $datemonthname = The current month’s name (EX: June)
- $dateday = The current day (EX: 15)
- $dayoftheweek = The name of the day of the week (EX: Thursday)
- $time = The current time (EX: 1:45 PM)
- $timehour = The current hour in military format (EX: 01)
- $timeminute = The current minute (EX: 45)
- $timesecond = The current second (EX: 20)
- $timedigits = The current time in military format with digits only (EX: 1345)
Top 10
-
$top10time = A list of the top 10 watch time users (EX: #1) @CountessSaiku - 10H & 20M, #2) @VerbatimT - 6H & 37M, …)
-
$topXtime = A list of the top X watch time users, where X is any number greater than 0 (EX: #1) @CountessSaiku - 10H & 20M, #2) @VerbatimT - 6H & 37M, …)
-
For Top 10 special identifiers for Currency & Rank, see the Currency page and Rank page
-
For Top 10 special identifiers for Bits Cheered, see Bits Cheered Special Identifiers
-
For Top 10 special identifiers for subscribers, sub gifters, and subscription streaks, see Subscriptions
Subscriptions
These leaderboards rank the viewers Mix It Up has recorded for your channel by their subscription history. As with the other Top 10 sets, swap the 10 for however many places you want listed.
- $top10subscribers = A list of the top 10 users by cumulative months subscribed (EX: #1) @CountessSaiku - 24, #2) @VerbatimT - 18, …)
- $topsubscriberamount = The total cumulative months subbed for the user at the top of that list (EX: 24)
- $topsubscriberuser____ = The user at the top of that list. All User special identifiers can be used this way (EX: $topsubscriberusername will get you their username). Please see the User Special Identifiers for all that you can use with this.
- $top10subgifters = A list of the top 10 users by all-time gifted subscriptions (EX: #1) @CountessSaiku - 50, #2) @VerbatimT - 32, …)
- $topsubgifteramount = The total subscriptions gifted by the user at the top of that list (EX: 50)
- $topsubgifteruser____ = The user at the top of that list. All User special identifiers can be used this way (EX: $topsubgifterusername).
- $top10substreaks = A list of the top 10 users by longest current subscription streak (EX: #1) @CountessSaiku - 1 Year(s), 2 Month(s), 5 Day(s), …)
- $topsubstreaklength = The streak of the user at the top of that list as a readable duration (EX: 1 Year(s), 2 Month(s), 5 Day(s))
- $topsubstreakamount = The same streak in whole months (EX: 14)
- $topsubstreakuser____ = The user at the top of that list. All User special identifiers can be used this way (EX: $topsubstreakusername).
All three cover every connected platform at once. There is no per-platform version and nothing to choose: a viewer’s months subbed and gifted subs are combined across Twitch, YouTube, Kick, and Velora. For a viewer subscribed on more than one platform, the subscription streak counts from the earliest of their subscribe dates.
Subscription tiers are not counted anywhere in these leaderboards. Subscribers rank by how long they have been subscribed and gifters rank by how many subs they have gifted. Gifted subs are only credited when the gifter is not anonymous.
These leaderboards use the viewer data Mix It Up has recorded for your channel, so they begin from when you started using Mix It Up rather than covering your channel’s full history. How completely each platform fills in these numbers varies. Twitch corrects a subscriber’s month count on their next resubscription, and because Twitch never reports a subscribe date, a streak counts from the first subscription Mix It Up saw and restarts if the subscription lapses.
The same three rankings are available as Leaderboard Overlay Widget types. The widget shows a subscription streak as a number of whole months, so the readable duration is only available through $topsubstreaklength.
Other
-
$commandname = The name of the command that this is being performed in. This value will change if you call any sub-command using the Command Action.
-
$streamingplatform = The name of the streaming platform that the current command was triggered on. (EX: “Twitch”)
-
$linebreak = A line break to separate text into multiple lines. This special identifier won’t work with all features in Mix It Up (EX: Chat does not support line breaks in chat, so this will do nothing. To insert a single line break in the overlay action, use
<br />tag instead of $linebreak). -
$unicode = Displays a Unicode character based on the decimal value placed after it. There are several websites you can go to & look up various Unicode characters, including the two below. When you go to one, you are either looking for the decimal number (it will only have the digits 0-9) or the number inside of the HTML Code reference for it (EX: ¬ = 172). Simply place that number immediately after this special identifier to have it be replaced with that Unicode character. (EX: $unicode937 = Ω )
User
User Special Identifiers are specific to the user who is running your command. Our user-based Special Identifiers all fit a pattern & once you understand that pattern, it hopefully becomes very easy to use them. Every Special Identifier below starts with “$user” and is then followed by the “thing” you want to know about that user (EX: If you want to know the “name” of a user, you would use $username).
For example, if I (SaviorXTanren) were to use a command called “!bux” in chat, all of the Special Identifiers below would be based on me:
- $userid = The internal Mix It Up ID of the user (EX: 123)
- $username = The username of the User who initiated the command (EX: SaviorXTanren)
- $userdisplayname = The display name of the User who initiated the command for streaming platforms that support it, otherwise the username
- $userfulldisplayname = The full display name of the User which contains both the username and display name for streaming platforms that support it. This will only be different than the display name if the display name contains different characters than the username (EX: Japanese Hiragana)
- $userurl = The full URL to their channel page (EX: https://twitch.tv/SaviorXTanren).
- $useravatar = The full URL to the user’s profile image.
- $userroles = The list of roles that the user has in your channel. (EX: Moderator, Subscriber)
- $userdisplayroles = The list of roles in language localized text that the user has in your channel. (EX: Moderator, Subscriber)
- $userprimaryrole = The highest role that the user has in your channel based on permissions. For example, if a user is a Mod, Sub, & Follower, their primary role would be Moderator. (EX: Moderator)
- $usertitle = The title associated with the User. If the user has a custom title set for them, it will be that. Otherwise, the highest title defined in the Settings menu will be the one used.
- $usercolor = The HTML chat color for the user, based on the color the user has selected on their streaming platform. If no platform color is set, it falls back to a hardcoded
#000000(black). There is no role-based color assignment for this identifier. (EX: #FFFFFF) - $usertime = The total viewing time watching the stream for the user in a complete text format. (EX: 2 Hours & 12 Mins)
- $userhours = The total number of hours watching the stream for the user. (EX: 2)
- $usermins = The total number of minutes watching the stream for the user. (EX: 12)
- $useralejopronouns = The pronouns set for the user via Alejo Pronouns. Must have this service enabled under Settings -> Chat for this to work. (EX: He/Him)
- $userstreamtitle = The current title of the stream for the user (EX: Playing Duos with viewers!)
- $userstreamgame = The current game of the stream for the user (EX: Fortnite)
- $userstreamgamename = The current game of the stream for the user, the same value as $userstreamgame (EX: Fortnite)
- $userstreamgameimage = The image URL of the current game of the stream for the user
- $userstreamislive = Whether the user’s stream is currently live or not. On Velora, a user who has never streamed has no stream record at all, so the $userstream____ set comes back blank (and this one as False) rather than printing as raw
$userstream____text. (EX: True) - $useraccountage = The total time the user has had an account on their platform in a complete text format. (EX: 1 Year, 4 Months, 12 Days)
- $useraccountdays = The total days the user has had an account on their platform. (EX: 12)
- $userlastseenage = The total time since the user was last detected through Mix It Up. (EX: 1 Year, 4 Months, 12 Days)
- $userlastseendays = The total days since the user was last detected through Mix It Up. (EX: 12)
- $userlastseendate = The date since the user was last detected through Mix It Up. (EX: 05/02/2024 - 10:01 PM)
- $userlastseenprecise = The date & time the user was last detected through Mix It Up, down to the second, in a form the date and time actions can read back in. Comes back as “Unknown” for a user with no recorded activity. (EX: 5/2/2024 10:01:37 PM)
- $userfollowage = The total time following the stream for the user in a complete text format. (EX: 1 Year, 4 Months, 12 Days)
- $userfollowdays = The total days following the stream for the user. (EX: 12)
- $userfollowmonths = The total months following the stream for the user. (EX: 16)
- $userfollowyears = The total years following the stream for the user. (EX: 1)
- $usersubage = The total time the user has been subscribed to the stream in a complete text format. (EX: 1 Year, 4 Months, 12 Days)
- $usersubdays = The total days the user has been subscribed to the stream. (EX: 12)
- $usersubmonths = The cumulative number of months that the user has been subscribed for (EX: 4)
- $usersubtier = The tier name of the user if they are subscribed (EX: Tier 1/Tier 2/Tier 3)
- $usersubbadge = The image URL for the subscriber badge of the user.
- $userinchat = Whether the user is currently or has been in chat during this application launch. Accuracy for this Special Identifier can’t be guaranteed due to the unreliability of chat notifications sent down to us. All that can be guaranteed is that the user is either currently in chat or was in chat at some point during the specific instance of Mix It Up. (EX: true)
- $userisfollower = Whether the user is a follower of the channel. (EX: true)
- $userisregular = Whether the user is a regular of the channel. (EX: true)
- $userissubscriber = Whether the user is a subscriber of the channel. Note that this only includes platform subscribers, it does not include users who are Patreon subscribers or Moderators who are not subscribers. (EX: true)
- $userisvip = Whether the user is a VIP of the channel on Twitch, Kick, or Velora (EX: true)
- $userismod = Whether the user is a moderator of the channel (EX: true)
- $userisspecialtyexcluded = Whether the user is marked as Specialty Excluded within Mix It Up (EX: true)
- $userbitslifetimeamount = The amount of bits that the user has cheered on Twitch in your channel (EX: 100)
- $usertotalstreamswatched = The total number of streams watched. (EX: 10)
- $usertotalamountdonated = The total amount donated through all monetary-based services. (EX: $12.34)
- $usertotalsubsgifted = The total subscriptions gifted in the channel. (EX: 10)
- $usertotalsubsreceived = The total subscriptions received in the channel. (EX: 10)
- $usertotalchatmessagessent = The total number of chat messages sent in the channel. (EX: 100)
- $usertotaltimestagged = The total number of times tagged as the primary user in a chat message in the channel. (EX: 12)
- $usertotalcommandsrun = The total number of commands run in the channel. (EX: 100)
- $usertotalmonthssubbed = The total number of cumulative months subscribed to the channel. (EX: 12)
- $usermoderationstrikes = The total number of moderation strikes that the user has. (EX: 2)
- $usergamequeueposition = The user’s current position in the game queue. (EX: 3)
- $userpatreontier = The Patreon tier of the user, if any. (EX: Super Supporter)
- $usernotes = The full text stored in a user’s notes for their user data in Mix It Up.
Twitch-Specific
- $usertwitchid = The Twitch ID of the user (EX: 123)
- $usertwitchcolor = The HTML chat color the user has selected for their Twitch account (EX: #FFFFFF)
Kick-Specific
- $userkickid = The Kick ID of the user (EX: 123)
Velora-Specific
- $userveloraid = The Velora ID of the user (EX: 123)
- $userveloracolor = The HTML chat color the user has selected for their Velora account (EX: #FFFFFF)
Target User
Target Special Identifiers allow you to simplify your commands by having one Special Identifier that ends up being the user that command is “targeted” for. When using this Special Identifier, the user that is selected will be one of two possible users depending on how the command is used:
-
If there are arguments for the command and the first one is a user (EX: “!shoutout @SaviorXTanren”), then the target will be the first argument (EX: SaviorXTanren). This would be the same as the “$arg1user_____” set of Argument Special Identifiers
-
If there are no arguments OR the first argument is NOT a user, then the target will be the user who ran the command. This would be the same as the “$user____” set of User Special Identifiers
Using the Target User Special Identifiers is exactly the same as how you would use any of the User Special Identifiers, except they all start with “$targetuser___” instead of “$user___”:
- $targetuser____ = The target’s user information. All User special identifiers can be used this way (EX: $targetusername will get you the username of the target user). Please see the User Special Identifiers for all that you can use with this.
Streamer
Streamer Special Identifiers are specific to the Streamer account themselves. Regardless of what command they are used in, this will always refer to the Streamer account relevant to the platform the command was triggered on (EX: The command is triggered on Twitch, it will use the streamer’s Twitch user data):
- $streameruser____ = The Streamer’s user information. All User special identifiers can be used this way (EX: $streamerusername will get you the username of the Streamer). This resolves to the Streamer account on your Default Streaming Platform (if currently connected), otherwise the first connected platform found. It does not vary based on the platform the command was triggered on. Please see the User Special Identifiers for all that you can use with this.
Bot
Bot Special Identifiers are specific to the Bot account themselves. Regardless of what command they are used in, this will always refer to the Bot account relevant to the platform the command was triggered on (EX: The command is triggered on Twitch, it will use the bot account’s Twitch user data):
- $botuser____ = The Bot Account’s user information. All User special identifiers can be used this way (EX: $botusername will get you the username of the Bot Account). As with $streameruser____, this resolves via your Default Streaming Platform (if currently connected), otherwise the first connected platform found, not the platform the command was triggered on. Please see the User Special Identifiers for all that you can use with this.
Arguments
Argument Special Identifiers reference the text that is typed after a command, with each bit of text corresponding to a number. For example, if I run the command “!promote @SaviorXTanren 50”, then the 1st argument would be “@SaviorXTanren” and the 2nd argument would be “50”.
-
$allargs = All text after the command
-
$argcount = The total number of arguments (EX: 2)
-
$arg1text = Argument 1, $arg2text = Argument 2, etc…
-
$arg1user____, $arg2user____, etc = The user information if the argument is a user. All User special identifiers can be used this way (EX: $arg1username will get you the username of the 1st argument user). Please see the User Special Identifiers for all that you can use with this.
- $argX:Ytext = Allow you to get a set of arguments that are between (X & Y) and including X & Y. For example, if the arguments to a command were “Here Is A Really Cool Set Of Arguments”, then “$arg2:5text” would be replaced with “Is A Really Cool”. “Is” is the 2nd argument and “Cool” is the 5th argument, so I get those values and everything in-between. You can also specify a max number larger than the total might be, it’ll return UP TO that amount, but no more. For example, doing $arg2:99text would end up giving me every argument except the first one (Let’s assume there aren’t more than 99 arguments).
-
$argdelimited1text, $argdelimited2text, etc = Argument text that has been delimited (separated) based on the Delimited Argument setting under Settings -> Commands (defaults to “|”). Any leading or trailing spaces will be automatically removed from each argument. (EX: The text “Hello World | How are you| on this fine day” would have 3 arguments of $argdelimited1text, $argdelimited2text, $argdelimited3text containing the respective text of “Hello World”, “How are you”, “on this fine day”).
-
$argdelimitedcount = The total number of delimited (separated) arguments.
Message
NOTE: This only works in specific commands types and events, and is not available to use everywhere.
- $messagenoemotes = The chat message without emotes
- $messageemotecount = The number of emotes in the message
Random
Random Special Identifiers will randomly pick a value based on what the Special Identifier is for and will fill in the respective Special Identifiers with that value.
Each time you use a Random Special Identifier, it generates a unique instance of randomness. Random values are not persisted between each usage of a Random Special Identifier. For example, if you have two chat actions that both have $randomnumber10 in them, each chat action will make a different random number. If you are using a random result across multiple actions / text boxes, you must save the result out first to something, such as a Special Identifier Action or a Counter Action first, then use the Special Identifier from that in your other actions.
-
$randomnumber___ = Creates a random number from 1 to whatever number it specified at the end, including that number. (EX: $randomnumber100 would generate a random number between 1-100, including 1 & 100)
-
$randomnumberX:Y = Creates a random number between X & Y, including both X & Y. (EX: $randomnumber10:20 would generate a random number between 10-20, including 10 & 20)
Random Users
Random user selection can be done via the various random user Special Identifiers below.
Each time you use a Random User Special Identifier, it generates a unique instance of a random user. Random values are not persisted between each usage of the Random User Special Identifier. For example, if you have two chat actions that both have $randomusername in them, each chat action will attempt to find a different random user. However, it is also possible that a previous user is re-selected as a new random user. The number of users in your stream will factor into the probability of that. If you are using a random user across multiple actions / text boxes, you must save the result out first to something such as a Special Identifier Action, then use the Special Identifier from that in your other actions.
The below chat-based random user Special Identifiers only automatically exclude users marked as Specialty Excluded. The Streamer and Bot accounts are not excluded from them. (The database-based $randomany____ identifiers additionally exclude the Streamer account, but they likewise do not exclude the Bot account.) If there are no eligible users in your channel, these Special Identifiers WILL NOT work.
To select a random user from your database instead of your stream’s chat, use $randomany____ special identifiers. EX: $randomanyusername, $randomanyfollowerusername, $randomanysubscriberusername, and $randomanyregularusername
-
$randomuser____ = Selects a user at random from your stream’s chat. All User special identifiers can be used this way (EX: $randomusername will get you the username of a random user). Please see the User Special Identifiers for all that you can use with this.
-
$randomfolloweruser____ = Selects a follower at random from your stream’s chat. All User special identifiers can be used this way (EX: $randomfollowerusername will get you the username of a random follower user). Please see the User Special Identifiers for all that you can use with this.
-
$randomsubscriberuser____ = Selects a subscriber at random from your stream’s chat. All User special identifiers can be used this way (EX: $randomsubscriberusername will get you the username of a random subscriber user). Please see the User Special Identifiers for all that you can use with this.
-
$randomregularuser____ = Selects a regular at random from your stream’s chat as determined by the Regular role defined under Settings -> Users. All User special identifiers can be used this way (EX: $randomregularusername will get you the username of a random regular user). Please see the User Special Identifiers for all that you can use with this.
Stream & Channel
Stream Special Identifiers are ways to reference information about your stream & channel information.
Details
- $streamtitle = The current title of the stream (EX: Let’s play some Fortnite!)
- $streamgamename = The current game of the stream (EX: Fortnite)
- $streamgameimage = The image URL of the current game of the stream (EX: https://static-cdn.jtvnw.net/ttv-boxart/509658-144x192.jpg)
- $streamviewercount = The total number of viewers in the channel for the stream (EX: 50)
- $streamchattercount = The total number of chatters in the channel for the stream (EX: 30)
- $streamfollowercount = The total number of followers for the channel (EX: 100)
- $streamsubscribercount = The total number of subscribers for the channel (EX: 100)
- $streamsubscriberpoints = The total number of Twitch subscriber points for the channel, based on the combined various tiers of subscribers (EX: 100)
- $streamislive = Whether the stream is currently live or not (EX: True)
- $streamdescription = The description of the stream or channel. This is supported on YouTube (stream description), Kick (channel description), and Velora (stream description)
- $streamtwitchtags = The list of custom tags associated with your stream (EX: Action, Adventure)
- $streamveloratags = The comma-separated list of tags associated with your Velora stream (EX: Action, Adventure)
Start date/time
- $streamstartdatetime = The start date & time of your current stream (EX: 6/15/2009 1:45 PM)
- $streamstartdate = The start date of your current stream (EX: 6/15/2009)
- $streamstarttime = The start time of your current stream (EX: 1:45 PM)
Uptime
- $streamuptimetotal = The total uptime of your current stream, as hours and minutes (EX: 2:21)
- $streamuptimehours = The total uptime hours of your current stream (EX: 2)
- $streamuptimeminutes = The minutes portion of your current stream’s uptime, 0 to 59 (EX: 21)
- $streamuptimeseconds = The seconds portion of your current stream’s uptime, 0 to 59 (EX: 43)
$streamuptimehours is the only one of these that keeps counting up. $streamuptimeminutes and $streamuptimeseconds are the minute and second hands of the uptime clock, so they roll back around to 0 every hour and every minute. After 2 hours and 21 minutes live, $streamuptimeminutes is 21, not 141.
This matters when you check uptime in a Conditional Action. To test for something like the first 5 minutes of stream, use two clauses with the Operator set to AND:
- First Value $streamuptimehours, Compare
=, Second Value 0- First Value $streamuptimeminutes, Compare
<, Second Value 5Checking $streamuptimeminutes on its own would also be true at 1:00, 2:00, and every hour after that.
YouTube
- $streamyoutubeid = The unique ID for the currently active YouTube stream (EX: BmxXEaYq7lg)
- $streamyoutubeurl = The full URL for the currently active YouTube stream
Streaming Software
- $streamcurrentscene = The name of the current scene you are on in your Streaming Software. This works with OBS Studio, Streamlabs Desktop (SLOBS), and XSplit. It queries whichever single software is currently set as your Default Streaming Software on the Services page, not simply whichever one happens to be connected. If multiple are connected but a different one is set as the default, only the default one’s scene is returned.
Twitch
- $twitchsubcount = The total number of subscribers you have on Twitch (EX: 10)
- $twitchsubpoints = The total number of subscriber points you have on Twitch (EX: 100)
Ads
- $twitchadsnoozecount = The total number of snoozes currently available for the channel (EX: 3)
- $twitchadnextduration = The duration in seconds of the next upcoming automatic ad (EX: 60)
- $twitchadnextminutes = The number of minutes until the next upcoming automatic ad (EX: 4)
- $twitchadnexttime = The timestamp of when the next automatic ad will play (EX: 1:23 PM)
Bits Cheered
If you are looking for the Special Identifiers for the exact moment you receive bits, please see the Twitch Bits Cheered Event. This includes the bits amount, message supplied, and any other unique special identifier.
- $topXbitscheered____ = A list of the top X bit cheer users in your channel by a specific time-frame. You can use either “day”, “week”, “month”, or “year”, “all” in the blank space. (EX: #1) @CountessSaiku - 200, #2) @VerbatimT - 100, …)
- $topbitscheered____user____ = The user who is the top bit cheerer in your channel by the specified time-frame. You can use either “day”, “week”, “month”, or “year”, “all” in the first blank space. Please see the User Special Identifiers for all that you can use with this.
- $topbitscheered____amount = The amount of bits cheered by the top user in your channel by the specified time-frame. You can use either “day”, “week”, “month”, or “year”, “all” in the blank space.
YouTube
- $youtubelatestvideoid = The ID for the latest, non-stream video on YouTube (EX: BmxXEaYq7lg)
- $youtubelatestvideotitle = The title for the latest, non-stream video on YouTube (EX: My Cool Video)
- $youtubelatestvideourl = The full URL for the latest, non-stream video on YouTube
- $youtubelatestshortid = The ID for the latest Short on YouTube (EX: BmxXEaYq7lg)
- $youtubelatestshorttitle = The title for the latest Short on YouTube (EX: My Cool Short)
- $youtubelatestshorturl = The full URL for the latest Short on YouTube
Both sets read your channel’s uploads list, so a video posted moments ago is found and the same one comes back every time. Shorts are told apart from regular videos by length rather than by anything YouTube reports, using the Shorts Video Length Cap under Settings -> Platforms. Uploads at or under that length count as Shorts and anything longer counts as a regular video. The default is 180 seconds.
Donations
When a donation is triggered, an additional set of Special Identifiers are made available for all actions that are part of the Donation Received event. The regular set of Special Identifiers for all commands are still the same (EX: $username will be the username of the user who donated), but these are additional ones you may use. Please note that not all donation services will support all special identifiers.
- $donationsource = The name of the donation service (EX: Streamlabs, TipeeeStream, etc)
- $donationamount = The total currency amount, along with the appropriate currency symbol, of the donation if it’s known. Some donation services, such as TreatStream, do not specify the cost of the donation. (EX: “$12.50”)
-
$donationamountnumber = The total currency amount as a pure decimal number of the donation. (EX: 12.50)
-
$donationamountnumberdigits = The total currency amount as a pure number of the donation without a decimal point. (EX: 1250)
-
$donationcurrency = The currency code of the donation, if the donation service provides it. (EX: USD)
- $donationtype = The type of, if any, that is associated with the donation. This is used by services that have multiple kinds of payments, such as TreatStream (the name of the treat selected), Ko-fi (the payment type, EX: Tip), Throne, and Fourthwall (the event type).
-
$donationmessage = The message, if any, that is associated with donation.
-
$donationimage = The image, if any, that is associated with donation.