Describe the solution you'd like
Enter a clear and concise description of what you want to happen.
Add built-in support for pinning and unpinning chat messages in a channel, following Twitch's Chat Pins feature.
A pinned message stays displayed in the channel's chat until removed. Currently Firebot has no way to pin or unpin a message, so this requires external workarounds.
Use case
Streamers want to pin important messages in chat (rules, links, announcements) via commands or channel-point redemptions, and remove them afterwards:
- !pin (mod replies to a message) → pins that message
- !unpin → removes the current pinned message
- a channel-point reward "pin your request" → writes a message and pins it
API reference
Twitch Helix "Chat Pins" endpoints:
- PUT /helix/chat/pins?broadcaster_id={id}&moderator_id={id}&message_id={id} — pins a message. message_id changes if the message was edited. Omitting duration pins indefinitely.
- DELETE /helix/chat/pins?broadcaster_id={id}&moderator_id={id} — unpins the current pinned message.
Auth scope: moderator:manage:chat_messages, plus user:write:chat for sending the message to pin first.
Suggested implementation
A "Pin Chat Message" effect (or a chat command action) with options:
- Action: Pin (with optional message text to send first) / Unpin / Pin the message the command replied to.
- Message (for pin-with-send): text to be sent then pinned (reuse existing twurple chat-message send, then call the Helix Chat Pins endpoint).
Existing userContextClient (TwitchApi.streamerClient) already has the token and scopes.
Additional context
Add any other context or screenshots about the feature request here.
Describe the solution you'd like
Enter a clear and concise description of what you want to happen.
Add built-in support for pinning and unpinning chat messages in a channel, following Twitch's Chat Pins feature.
A pinned message stays displayed in the channel's chat until removed. Currently Firebot has no way to pin or unpin a message, so this requires external workarounds.
Use case
Streamers want to pin important messages in chat (rules, links, announcements) via commands or channel-point redemptions, and remove them afterwards:
API reference
Twitch Helix "Chat Pins" endpoints:
Auth scope: moderator:manage:chat_messages, plus user:write:chat for sending the message to pin first.
Suggested implementation
A "Pin Chat Message" effect (or a chat command action) with options:
Existing userContextClient (TwitchApi.streamerClient) already has the token and scopes.
Additional context
Add any other context or screenshots about the feature request here.