# Chat

The Chat feature allows you to view and manage the chat for a channel, whether you are the streamer or a moderator. Chat messages will appear in the main view, with the currently connected users on the right. Above the users, you'll see the current number of viewers and active users in chat.

There are a few interesting features you can use to help keep the channel's chat just the way you want it to. You can easily clear all chat messages from the channel by clicking the "Clear Chat" button. Do note that this will not just remove all messages from Mix It Up, but also from the channel's chat. You can also disable, then subsequently re-enable chat if you want to prevent anyone from being able to type something in chat. You can also send messages directly to chat via the text box at the bottom. In addition to regular messages, the text box supports a set of Chat Slash Commands, which are detailed below.

If you right click a message in the chat window, you'll be provided with a context menu that will allow you to delete that specific message or open a pop-up displaying profile information about the user that sent that message. You can also view a user's profile information by clicking on their name in the user list.

On this pop-up, you can see some basic information about the user and also have the ability to take some actions on them:

* The Broom button will purge all messages that the user has sent from chat.
* The Stopwatch with the 1 will time the user out for 1 minute.
* The Stopwatch with the 5 will time the user out for 5 minutes.
* The cross out button will ban the user from chat. When a user is already banned, this will switch to a person icon and allow you to unban them.
* The X button will close out the pop-up.

## Actions

Chat actions allow you to send a message to the channel's chat.

This message will be sent from your custom Bot account if one is signed in, otherwise it will send from your Streamer account. You can click on the Send as Streamer option to force the message to be sent from the Streamer's account.

If your streaming platform supports whispers or private messages, you can toggle the Whisper option to send the message as one. This will be sent to the user who ran the command or you can specify a user to optionally send it to.

> Whispers not sending on Twitch? Check out the whisper limitations set by Twitch: https://dev.twitch.tv/docs/chat/whispers/

You may use [Special Identifiers](/docs/reference/special-identifiers) in the chat message text & the whisper user.

## Events

The following events trigger from chat activity and are set up on the Events page inside Mix It Up. See the [Events](/docs/events) page for how events work and when they can run.

### Chat User Entrance
This event will run the first time a chat user sends a message in chat that is detected by Mix It Up. It will not run again for this user while Mix It Up is still running. If the user has a [Custom Entrance Command](/docs/users), that will be triggered instead of this command.

The [User](/docs/reference/special-identifiers#user) Special Identifiers reference the user who triggered the event. This event provides the following additional Special Identifiers:
- $message = The message that the user sent to chat

### Chat User First Message
This event will run the first time a ***brand-new*** chat user sends a message in chat that is detected by Mix It Up and it will never run again for this user. This event is only triggered once per-user, per-application launch.

The [User](/docs/reference/special-identifiers#user) Special Identifiers reference the user who triggered the event. This event provides the following additional Special Identifiers:
- $message = The message that the user sent to chat

### Chat New User Joined
This event will run the first time a ***brand-new*** chat user is detected in chat by Mix It Up and it will never run again for this user. Note that this is not the same as the first message that a user sends in chat, as there are many ways that a user can join the chat. For example, they can follow, subscribe, redeem a channel point, etc. All of these cause the user to appear to us in chat and will trigger the event. This event is only triggered once per-user, per-application launch.

This event provides no additional Special Identifiers. However, it is often used with the [User](/docs/reference/special-identifiers#user) Special Identifiers.

### Chat User Joined
This event will run the first time a chat user is **detected** in chat by Mix It Up. It will not run again for this user while Mix It Up is still running. Note that this is not the same as the first message that a user sends in chat, as there are many ways that a user can join the chat. For example, they can follow, subscribe, redeem a channel point, etc. This can even include a user connecting to chat, but **not** interacting with it in any way. All of these cause the user to appear to us in chat and will trigger the event. This event is only triggered once per-user, per-application launch.

This event provides no additional Special Identifiers. However, it is often used with the [User](/docs/reference/special-identifiers#user) Special Identifiers.

### Chat User Left
This event will run the first time a chat user has left chat as detected by Mix It Up. It will not run again for this user while Mix It Up is still running. This event is only triggered once per-user, per-application launch.

This event provides no additional Special Identifiers. However, it is often used with the [User](/docs/reference/special-identifiers#user) Special Identifiers.

### Chat Message Received
This event triggers every time a chat message is received in chat. The [User](/docs/reference/special-identifiers#user) Special Identifiers reference the user who triggered the event. This event provides the following additional Special Identifiers:
- $message = The message that the user sent to chat

### Chat Whisper Received
This event triggers every time a chat whisper is received on your main Streamer account in chat. The [User](/docs/reference/special-identifiers#user) Special Identifiers reference the user who triggered the event. This event provides the following additional Special Identifiers:
- $message = The whisper that the user sent to chat

### Chat Message Deleted
This event triggers every time a chat message is deleted in chat. The [User](/docs/reference/special-identifiers#user) Special Identifiers reference the user who performed the deletion if we could detect them and the [Target User](/docs/reference/special-identifiers#target-user) Special Identifiers reference the user whose message was deleted. This event provides the following additional Special Identifiers:
- $message = The message that the user sent to chat
- $reason = The reason the message was deleted

### Chat User Timeout
This event will run when a user has been timed out in chat. This event does not indicate who performed the timeout, only the user that was timed out. The [Target User](/docs/reference/special-identifiers#target-user) Special Identifiers will indicate the user that was timed out. This event provides the following additional Special Identifiers:
- $timeoutlength = The length of the timeout in seconds

### Chat User Banned
This event will run when a user has been banned in chat. This event does not indicate who performed the ban, only the user that was banned. The [Target User](/docs/reference/special-identifiers#target-user) Special Identifiers will indicate the user that was banned. This event provides no additional Special Identifiers.

## Chat Slash Commands

Text typed into the chat box that starts with a "/" is checked against the list of slash commands that Mix It Up knows about. A recognized slash command is executed against the platform APIs instead of being sent as a chat message, so it never appears as visible chat text. The command runs on the platform currently selected in the chat box, or on every connected platform that supports it when All is selected. Text that is not a recognized slash command is sent to chat as a regular message.

The following slash commands are supported on all connected platforms:

- /ban \<username> [reason] = Bans the user from the channel
- /unban \<username> = Unbans the user from the channel
- /timeout \<username> \<seconds> [reason] = Times out the user for the specified number of seconds
- /untimeout \<username> = Removes an active timeout from the user. On Velora, timeouts are lifted separately from bans. On all other platforms this behaves the same as /unban
- /purge \<username> = Purges all of the user's messages from chat
- /mod \<username> = Makes the user a moderator of the channel
- /unmod \<username> = Removes moderator status from the user
- /clear = Clears all chat messages. This also clears the local Mix It Up chat window
- /title \<stream title> = Sets the title for the channel. /settitle also works
- /game \<category> = Sets the game/category for the channel. /setgame and /category also work

The following slash commands are supported on Twitch and Velora:

- /vip \<username> = Makes the user a VIP of the channel
- /unvip \<username> = Removes VIP status from the user
- /raid \<channel> = Raids the specified channel
- /shoutout \<username> = Sends a shoutout for the user. /so also works
- /announce \<message> = Sends an announcement to chat. Color variants change the announcement's accent color: /announceblue, /announcegreen, and /announceorange work on both platforms, /announcepurple is Twitch-only, and /announcegold, /announcered, and /announcecoral are Velora-only

The following slash commands are platform-specific:

- /w \<username> \<message> = Sends a whisper to the user (Twitch only). /whisper also works
- /cp \<add|remove> \<amount> \<target> = Grants or removes the specified amount of channel points for the target user (Velora only)

When moderating a user by username, Mix It Up looks for that user on the targeted platforms. A user actively chatting on a platform is matched directly. If nobody is chatting under that name and the username exists on more than one connected platform, the command is rejected and you will be asked to select a specific platform in the chat box, since accounts with the same name on different platforms may be different people.

## Animated Emotes

GIF and animated WebP emotes can animate in the chat window. The Emote Animation setting under Settings -> Chat controls this behavior:

- **None:** Emotes are shown as static images.
- **Short:** Each emote animates for around 5 seconds when it appears and then freezes. New sightings of the emote start the animation again.
- **Loop:** Emotes animate continuously.
