Chat and Messages
Sends a message to your Twitch chat from your default account that is connected to SAMMI.
For whispers use Twitch: Send Whisper command.
For other chat slash commands use their corresponding SAMMI commands. Although many slash commands are still functional for backwards compatibility reasons, we highly recommend that you start using SAMMI commands instead.
Join Channel checked in your Twitch Connections menu
| Box Name | Type | Description |
|---|---|---|
| Chat Message | String | The message to be sent over the chat. |
| Channel Name | String | Channel Name (all lowercase) to send the message to. Leave blank unless you have multiple accounts connected to SAMMI. |
See below which SAMMI command corresponds to which chat slash command.
| Chat Slash Command | SAMMI Command to use instead | |
|---|---|---|
| /announce | Twitch: Send Announcement | |
| /ban | Twitch: Ban User | |
| /unban | Twitch: Unban User | |
| /timeout and /untimeout | Twitch: Timeout User | |
| /clear | Twitch: Delete Chat Message | |
| /color | Twitch: Set User Color | |
| /commercial | Twitch: Run Ad (Commercial) | |
| /delete | Twitch: Delete Chat Message | |
| /emoteonly and /emoteonlyoff | Twitch: Set Emote Mode | |
| /followers and /followersoff | Twitch: Set Follower Mode | |
| /marker | Twitch: Create Marker | |
| /mod | Twitch: Add Moderator | |
| /mods | Twitch: Get Moderators | |
| /unmod | Twitch: Remove Moderator | |
| /raid | Twitch: Start Raid | |
| /unraid | Twitch: Cancel Raid | |
| /slow and /slowoff | Twitch: Set Slow Mode | |
| /subscribers and /subscribersoff | Twitch: Set Subscriber Mode | |
| /uniquechat and /uniquechatoff | Twitch: Set Unique Chat | |
| /vip | Twitch: Add VIP | |
| /unvip | Twitch: Remove VIP | |
| /vips | Twitch: Get VIPs | |
| /w | Twitch: Send Whisper |
Twitch API Endpoint: IRC PRIVMSG
This command sends messages via the IRC protocol, not the Twitch Helix API. SAMMI connects to Twitch IRC and sends a PRIVMSG to the target channel.
| Request Field | Type | Description |
|---|---|---|
| channel | String | IRC channel name prefixed with # (e.g. #channelname) |
| message | String | The chat message text to send |
Replies to a sent Twitch chat message.
| Box Name | Type | Description |
|---|---|---|
| Chat Message | String | The message to be sent as a reply over chat. |
| Message ID | String | The ID of the chat message you wish to reply to (typically fetched from a trigger pull). Leave blank to reply to the user that triggered the button! |
| Channel Name | String | Channel Name (all lowercase) to send the message to. Leave blank unless you have multiple accounts connected to SAMMI. |
Twitch API Endpoint: POST /helix/chat/messages
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster whose chat room the message is sent to |
| sender_id | String | The ID of the user sending the message |
| message | String | The message to send (max 500 characters) |
| reply_parent_message_id | String | The ID of the chat message being replied to |
Deletes a chat message.
| Box Name | Type | Description |
|---|---|---|
| Login Name | Dropdown | Channel where the message needs to be deleted from. This must be linked in SAMMI. |
| Message ID | String | Retrieve this from a ‘Trigger Pull Data’ command. Leave blank to clear the whole chat. |
Twitch API Endpoint: DELETE /helix/moderation/chat
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster whose chat room the message will be deleted from |
| moderator_id | String | The ID of a user who has permission to moderate the channel |
| message_id | String | Optional. The ID of the message to delete. If not specified, clears all messages in the chat room |
This command will send a whisper over the Twitch API. The whisper will be sent via the account that is connected to chat. This feature also has some limitations as imposed by Twitch, detailed here
| Box Name | Type | Description |
|---|---|---|
| Chat Message | String | Message you want to send. |
| User Name | String | User who shall receive the message. |
Twitch API Endpoint: POST /helix/whispers
| Request Field | Type | Description |
|---|---|---|
| from_user_id | String | The ID of the user sending the whisper |
| to_user_id | String | The ID of the user receiving the whisper |
| message | String | The whisper message to send (max 10,000 characters) |
This command lets you join any Twitch chat channel.
You do not need to use this command to join your own channel as long as it’s linked to SAMMI, as it will join the chat automatically as soon as you launch Bridge.
| Box Name | Type | Description |
|---|---|---|
| Channel Name | String | Twitch channel name. Must be the login name, not display name. |
Twitch API Endpoint: IRC JOIN
This command uses the Twitch IRC protocol, not the Helix API. SAMMI sends an IRC JOIN command to begin receiving chat events from the specified channel.
| Request Field | Type | Description |
|---|---|---|
| channel | String | IRC channel name prefixed with # (e.g. #channelname) |
This command lets you leave a Twitch chat channel you previously joined.
Can be your own channel as well.
| Box Name | Type | Description |
|---|---|---|
| Channel Name | String | Twitch channel name. Must be the login name, not display name. |
Twitch API Endpoint: IRC PART
This command uses the Twitch IRC protocol, not the Helix API. SAMMI sends an IRC PART command to stop receiving chat events from the specified channel.
| Request Field | Type | Description |
|---|---|---|
| channel | String | IRC channel name prefixed with # (e.g. #channelname) |
Sends a chat message in the ‘Announcement’ format.
| Box Name | Type | Description |
|---|---|---|
| Announcement | String | Your announcement message (max 500 characters). |
| Channel Name | String | Channel for the announcement to be made in. Leave blank for default. |
Twitch API Endpoint: POST /helix/chat/announcements
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster’s channel to send the announcement to |
| moderator_id | String | The ID of a user who has permission to moderate the channel |
| message | String | The announcement text to send (max 500 characters) |
| color | String | The color used to highlight the announcement: blue, green, orange, purple, primary (default) |
Shouts out a user in the specified chat room.
A shoutout can only be sent once every 2 minutes, and the same user cannot be shouted out more than once an hour. You must be live with at least 1 viewer, and you cannot shoutout the broadcaster in their chat room.
| Box Name | Type | Description |
|---|---|---|
| Channel | String | The channel to shoutout the specified user in |
| User Name | String | The username of the person to be shouted out |
Twitch API Endpoint: POST /helix/chat/shoutouts
| Request Field | Type | Description |
|---|---|---|
| from_broadcaster_id | String | The ID of the broadcaster giving the shoutout |
| to_broadcaster_id | String | The ID of the broadcaster receiving the shoutout |
| moderator_id | String | The ID of the moderator or broadcaster sending the shoutout request |
Sends a message to your Twitch chat from your default account that is connected to SAMMI.\
Join Channel checked in your Twitch Connections menu
| Box Name | Type | Description |
|---|---|---|
| Chat Message | String | The message to be sent over the chat. |
| From | String | The channel you want to send messages from. |
| Channel Name | String | Channel Name (all lowercase) to send the message to. Leave blank unless you have multiple accounts connected to SAMMI. |
| Pin Message | Checkbox | If checked, the message is sent and pinned for 20 minutes. |
moderator:manage:chat_messages Twitch scope. If Twitch cannot pin the message, the message will not be sent.
For more information, see the Twitch API Reference Guide for Send Chat Message.
Twitch API Endpoint: POST /helix/chat/messages
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster’s channel the message is sent to |
| sender_id | String | The ID of the user sending the message |
| message | String | The message to send (max 500 characters) |
| reply_parent_message_id | String | Optional. ID of the chat message to reply to |
Response Fields:
| Variable Name | Type | Description |
|---|---|---|
| message_id | String | The ID assigned to the message sent |
| is_sent | Boolean | Whether the message was sent |
| drop_reason.code | String | Reason code if the message was dropped (e.g. channel_settings_block) |
| drop_reason.message | String | Human-readable explanation if the message was dropped |
Gets the currently pinned Twitch chat message for the selected channel and saves the response to a variable. For more information on the response object, see the Twitch API Reference Guide for Get Pinned Chat Message.
| Box Name | Type | Description |
|---|---|---|
| Channel | Dropdown | Twitch channel to read the pinned message from. Leave empty to use the default account. |
| Save Variable As | String | Variable name to save the pinned message object. Saves undefined if no pinned message exists. |
Saved Payload:
SAMMI saves the first pinned message object returned by Twitch (data[0]).
| Variable Name | Type | Description |
|---|---|---|
| message_id | String | ID of the pinned chat message. |
| created_at | String | Time in Twitch format when the message was pinned. |
| updated_at | String | Time in Twitch format when the pinned message was last updated. |
| expires_at | String | Time in Twitch format when the pin expires, if Twitch returns one. |
| duration_seconds | Number | Pin duration in seconds, if Twitch returns one. |
moderator:read:chat_messages or moderator:manage:chat_messages Twitch scope.
Twitch API Endpoint: GET /helix/chat/pins
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster whose channel to get the pinned message from |
| moderator_id | String | The ID of the moderator or broadcaster making the request |
Pins an existing Twitch chat message in the selected channel. For more information, see the Twitch API Reference Guide for Pin Chat Message.
| Box Name | Type | Description |
|---|---|---|
| Channel | Dropdown | Twitch channel where the message should be pinned. Leave empty to use the default account. |
| Message ID | String | Message ID to pin. Leave empty to use message_id from the trigger pull data. |
| Duration (s) | Number | Optional pin duration in seconds. Twitch allows 30 to 1800 seconds. Leave empty to pin until the stream ends. |
moderator:manage:chat_messages Twitch scope.
Twitch API Endpoint: POST /helix/chat/pins
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster’s channel in which to pin the message |
| moderator_id | String | The ID of a moderator or the broadcaster who is pinning the message |
| message_id | String | The ID of the message to pin |
| duration_seconds | Integer | Optional. Duration in seconds to pin the message (30–1800). Omit to pin until stream ends |
Updates the duration of an existing pinned Twitch chat message. For more information, see the Twitch API Reference Guide for Update Pinned Chat Message.
| Box Name | Type | Description |
|---|---|---|
| Channel | Dropdown | Twitch channel where the pinned message exists. Leave empty to use the default account. |
| Message ID | String | Pinned message ID to update. Leave empty to use message_id from the trigger pull data. |
| Duration (s) | Number | Optional new pin duration in seconds, starting from now. Twitch allows 30 to 1800 seconds. Leave empty to pin until the stream ends. |
moderator:manage:chat_messages Twitch scope.
Twitch API Endpoint: PATCH /helix/chat/pins
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster’s channel where the pinned message exists |
| moderator_id | String | The ID of a moderator or the broadcaster updating the pin |
| message_id | String | The ID of the pinned message to update |
| duration_seconds | Integer | Optional. New pin duration in seconds from now (30–1800). Omit to pin until stream ends |
Unpins a Twitch chat message from the selected channel. For more information, see the Twitch API Reference Guide for Unpin Chat Message.
| Box Name | Type | Description |
|---|---|---|
| Channel | Dropdown | Twitch channel where the message should be unpinned. Leave empty to use the default account. |
| Message ID | String | Message ID to unpin. Leave empty to use message_id from the trigger pull data. |
moderator:manage:chat_messages Twitch scope.
Twitch API Endpoint: DELETE /helix/chat/pins
| Request Field | Type | Description |
|---|---|---|
| broadcaster_id | String | The ID of the broadcaster’s channel to unpin the message in |
| moderator_id | String | The ID of a moderator or the broadcaster who is unpinning the message |
| message_id | String | The ID of the pinned message to unpin |