diff --git a/src/app/v5/core/channel-rewards/page.mdx b/src/app/v5/core/channel-rewards/page.mdx new file mode 100644 index 0000000..b25c822 --- /dev/null +++ b/src/app/v5/core/channel-rewards/page.mdx @@ -0,0 +1,182 @@ +# Channel Rewards + +Channel Rewards are Twitch channel point rewards that can trigger Firebot effects when they are redeemed. + +Firebot can create and manage custom Channel Rewards. This lets you keep the Twitch reward setup and the Firebot effects in the same place. + +Some Twitch-owned details still need to be changed on Twitch, such as reward icons. + +You can find your Channel Point Rewards on Twitch here: `https://dashboard.twitch.tv/u/YOUR-CHANNEL/viewer-rewards/channel-points/rewards` + +You can access Channel Rewards from **Power-ups & Rewards**, located in the main navigation sidebar under **Triggers**. Select the **Channel Rewards** tab to view them. + + + Firebot can create and edit custom Channel Rewards, but reward icons still need to be changed on Twitch. + + +--- + +## **Creating a Channel Reward** + +To create a new reward, click `New Channel Reward` in the **Channel Rewards** tab. This opens the reward editor. + +The reward editor lets you set the Twitch reward details, add restrictions, and attach the effects Firebot should run when the reward is redeemed. + +* **Reward Name** +This is the name shown for the reward on Twitch. Use a clear name so viewers know what they are redeeming. +* **Description** +This is the short description shown with the reward. Use this to explain what the reward does or what the viewer should enter. +* **Require Viewer to Enter Text** +This requires the viewer to enter text when redeeming the reward. This is useful for rewards that need a message, target, choice, or other input. +* **Cost** +This is the channel point cost of the reward. +* **Background Color** +This controls the reward color shown on Twitch. +* **Skip Twitch Reward Requests Queue** +This automatically approves future redemptions for this reward. These redemptions are approved by Twitch immediately and cannot be refunded from Firebot. +* **Redemption Cooldown** +This sets how long viewers must wait before the reward can be redeemed again. +* **Limit Redemptions Per Stream** +This limits the total number of redemptions during a stream. +* **Limit Redemptions Per User Per Stream** +This limits how many times each viewer can redeem the reward during a stream. +* **Reward Icon** +This is the icon shown for the reward. Reward icons can only be changed on Twitch, but Firebot will show the icon you have set there for easy reference. + + + Twitch does not show `Seconds` for reward cooldowns in the dashboard, but Firebot lets you set it. Twitch only shows `Minutes`, `Hours`, and `Days`, but the cooldown still works with the `Seconds` set in Firebot. + + + + You can learn more about restrictions here: [Restrictions](/v5/core/restrictions). + + +Click `Save` when you are finished. + +--- + +## **Editing a Channel Reward** + +Existing rewards are shown in the **Channel Rewards** tab. Each row shows the reward name, cost, pause status, tags, and active status. + +You can also drag the handle to the right of the active status to reorganize rewards. + +To manage a reward, click the three dot menu on the reward or right-click the reward row. + +* **Edit** +Opens the reward editor so you can change the reward settings, restrictions, and effects. +* **Enable Channel Reward / Disable Channel Reward** +Enables or disables the reward on Twitch. Disabling hides the reward from viewers. +* **Pause Channel Reward / Unpause Channel Reward** +Pauses or unpauses the reward. Pausing makes the reward temporarily unavailable without completely disabling or hiding it. +* **Duplicate** +Creates a copy of the reward. +* **Delete** +Deletes the reward. +* **Effect Queues** +Assigns the reward to an effect queue. +* **Move to** +Moves the reward up or down for organizing. + + + You can learn more about effect queues here: [Effect Queues](/v5/core/effect-queues). + + +--- + +## **Testing a Channel Reward** + +You can click the play button on a reward to test the effects attached to it without waiting for a real redemption. + +You can also click `Test Effects` in the reward editor to test the effects before saving. + +Use `Simulate` when you need to test a more specific redemption. This is useful when you want to test restrictions, viewer input, or other redemption details that the play button does not cover. + + + You can learn more about simulating events here: [Simulate](/v5/core/events#simulating-events). + + + + You can learn more about restrictions here: [Restrictions](/v5/core/restrictions). + + +--- + +## **Effects** + +Channel Rewards can run the same kind of effects as other Firebot triggers. + + + You can learn more about effects here: [Effects](/v5/core/effects). + + +--- + +## **Tags** + +Tags help organize rewards. + +The filter dropdown at the top of the **Channel Rewards** tab can show all rewards or only rewards with a selected tag. + +Use `Edit tags` from the filter dropdown to manage the available tags. + +--- + +## **Reward Limit** + +The reward limit is shown under the **Channel Rewards** list. + +Twitch limits how many custom Channel Rewards can exist on a channel, so Firebot shows the current count there. + +--- + +## **Request Queue** + +The **Request Queue** tab shows pending Channel Reward redemptions that need review. + +This works like Twitch's request queue. + +From the queue, you can approve or reject pending redemptions. This is useful for rewards that need manual review before they are completed. + + + If **Skip Twitch Reward Requests Queue** is enabled on a reward, future redemptions for that reward are approved immediately and will not wait in the queue. + + +--- + +## **Channel Reward Variables** + +Channel Rewards have variables that can be used in effects when a Channel Reward is redeemed. + +| Variable | Description | +|-----------------------------------|---------------------------------------------------------------| +| `$rewardCost` | Gets the channel point cost of the current Channel Reward. | +| `$rewardDescription` | Gets the description of the current Channel Reward. | +| `$rewardImageUrl` | Gets the image URL of the current Channel Reward. | +| `$rewardCost[rewardName]` | Gets the channel point cost of a specific Channel Reward. | +| `$rewardDescription[rewardName]` | Gets the description of a specific Channel Reward. | +| | | + + + When using a Channel Reward name inside a variable, the name must match exactly. + + + + You can learn more about variables here: [Variables](/v5/core/variables). + + +--- + +## Channel Reward Example: Sound Reward + +You want a Channel Reward that plays a sound on stream. + +1. Open **Power-ups & Rewards** in Firebot. +2. Select the **Channel Rewards** tab. +3. Click `New Channel Reward`. +4. Set **Reward Name** to `Play Sound`. +5. Set **Cost** to `500`. +6. Add a **Play Sound** effect. +7. Click `Save`. + +When someone redeems the Channel Reward with channel points, Firebot will run the effects attached to it. \ No newline at end of file diff --git a/src/app/v5/core/counters/page.mdx b/src/app/v5/core/counters/page.mdx new file mode 100644 index 0000000..7efd9f8 --- /dev/null +++ b/src/app/v5/core/counters/page.mdx @@ -0,0 +1,150 @@ +# Counters + +Counters store a number that can be updated and reused in Firebot. + +You can access **Counters** in the main navigation sidebar under **Triggers**. + +Counters are useful when you want to track something over time. For example, you can track deaths in a game, how many times a command was used, how many wins a viewer has, or any other number you want Firebot to remember. + +--- + +## **Creating a Counter** + +To create a new counter, click `New Counter` in the **Counters** tab. This opens the counter editor. + +The counter editor lets you name the counter, set its current value, set optional minimum and maximum values, and attach effects that run when the counter is updated. + +* **Name** +This is the name shown for the counter in Firebot. Use a clear name so you know what the counter is tracking. +* **Minimum** +This is the lowest value the counter can use. Leave it unset if the counter does not need a minimum. +* **Current Value** +This is the current number stored in the counter. +* **Maximum** +This is the highest value the counter can use. Leave it unset if the counter does not need a maximum. +* **Effects On Update** +These effects run every time the counter is updated by the **Update Counter** effect. + +Click `Save` when you are finished. + + + Minimum and maximum values are optional. Use them when the counter should not go below or above a certain number. + + +--- + +## **Using a Counter** + +Counters are usually changed with the **Update Counter** effect. + +The **Update Counter** effect lets you choose a counter and either increment it or set it to a new value. + +* **Increment** +Changes the counter by the amount you enter. Use a positive number to increase the counter, or a negative number to decrease it. +* **Set** +Sets the counter to a new value. + +For example, a command can use **Update Counter** to increase a counter by `1` every time the command is used. + +--- + +## **Counter Variables** + +Counters have variables that can be used in chat messages, effects, overlays, and other fields that support variables. + +| Variable | Description | +|-------------------------|------------------------------------------------------------------------------------| +| `$counter[name]` | Displays the value of the given counter. | +| `$counterChange` | Shows how much the counter increased or decreased. | +| `$counterMaximum` | Shows the maximum value of the counter, or an empty string if there is no maximum. | +| `$counterMinimum` | Shows the minimum value of the counter, or an empty string if there is no minimum. | +| `$counterName` | Shows the name of the counter. | +| `$counterNewValue` | Shows the new value of the counter after it updates. | +| `$counterPreviousValue` | Shows the previous value of the counter before it updated. | +| | | + +Use `$counter[name]` when you want to get the current value of a specific counter. + +For example: `$counter[BlameChat]` + +This returns the current value of the `BlameChat` counter. + + + Use `$counterNewValue` in **Effects On Update** when you want the value after the counter changes. + + +--- + +## **Counter Text File** + +Each counter has a text file that stores the current value. + +You can use this file in broadcasting software to show the counter value on stream. + +Open the counter editor and expand **How do I use this?** to view and copy the text file path for that counter. + +--- + +## **Editing a Counter** + +Existing counters are shown in the **Counters** tab. Each row shows the counter name, current value, minimum value, maximum value, and tags. + +To manage a counter, click the three dot menu on the counter or right-click the counter row. + +* **Edit** +Opens the counter editor so you can change the name, values, and effects. +* **Duplicate** +Creates a copy of the counter. +* **Delete** +Deletes the counter. +* **Move to** +Moves the counter up or down for organizing. + +You can also drag the handle on the right side of a counter row to reorganize counters. + +--- + +## **Effects On Update** + +Counters can run effects when their value changes. + +These effects only run when the counter is updated by the **Update Counter** effect. This is useful when you want something to happen automatically after the counter changes. + +For example, you could send a chat message every time a counter updates, using `$counterNewValue` in the message. + + + Effects On Update do not run just because `$counter[name]` is used. They run when the counter is changed by the **Update Counter** effect. + + +--- + +## **Tags** + +Tags help organize counters. + +The filter dropdown at the top of the **Counters** tab can show all counters or only counters with a selected tag. + +Use `Edit tags` from the filter dropdown to manage the available tags. + +--- + +## Counter Example: Blame Chat Command + +You want a command that increases a counter and posts the new counter value in chat. + +1. Open **Counters** in Firebot. +2. Click `New Counter`. +3. Set **Name** to `BlameChat`. +4. Add a `Chat` effect. +5. Use `$counterNewValue` in the chat message to get the new counter value after the update. + * **Example:** `Chat has been blamed $counterNewValue times!` +6. Click `Save`. +7. Open **Commands**. +8. Create or edit the command you want to use, for example `!blamechat`. +9. Add an **Update Counter** effect. +10. Select the `BlameChat` counter. +11. Set **Mode** to `Increment`. +12. Set **Increment Amount** to `1`. +13. Click `Save`. + +When someone uses the command, Firebot updates the counter and posts the message with the new counter value in chat. \ No newline at end of file diff --git a/src/app/v5/core/hotkeys/page.mdx b/src/app/v5/core/hotkeys/page.mdx new file mode 100644 index 0000000..d73278f --- /dev/null +++ b/src/app/v5/core/hotkeys/page.mdx @@ -0,0 +1,119 @@ +# Hotkeys + +Hotkeys let you trigger Firebot effects by pressing a key or key combination on your keyboard. + +You can access **Hotkeys** in the main navigation sidebar under **Triggers**. + +Hotkeys are useful when you want to manually trigger stream actions without typing a command in chat. For example, you can use a hotkey to play a sound, show an overlay alert, change a scene, run a preset effect list, or trigger any other effects you set up. + +--- + +## **Creating a Hotkey** + +To create a new hotkey, click `New Hotkey` in the **Hotkeys** tab. This opens the hotkey editor. + +The hotkey editor lets you name the hotkey, record the keybind, and attach the effects Firebot should run when the hotkey is pressed. + +* **Name** +This is the name shown for the hotkey in Firebot. Use a clear name so you know what the hotkey is for. +* **Keybind** +This is the key or key combination that will trigger the hotkey. +* **Effects** +These are the effects Firebot will run when the hotkey is pressed. + +Click `Record Keybind`, then press the key or key combination you want to use. + +Click `Stop` when you are finished recording the keybind. + +Click `Save` when you are finished. + +--- + +## **Important Hotkey Guidelines** + +Firebot shows these guidelines when creating a hotkey: + +* Firebot cannot override hotkeys already reserved by other applications. +* Firebot cannot detect conflicts with hotkeys from other applications. +* Binding to a single letter will prevent typing that letter in other applications. +* Hotkeys are temporarily disabled while the hotkey editor is open. + + + For most hotkeys, it is better to use a key combination like `Ctrl + Shift + K` instead of a single letter like `K`. + + +--- + +## **Virtual Buttons** + +Some keyboards do not have every possible key available. + +The **Advanced** section lets you add virtual buttons such as `F13`, `F14`, `F15`, and up to `F24`. + +These keys are useful because they are less likely to conflict with normal typing or common application shortcuts. + +To add one, expand **Advanced**, choose a virtual button from the dropdown, then add it to the hotkey. + +--- + +## **Editing a Hotkey** + +Existing hotkeys are shown in the **Hotkeys** tab. Each row shows the hotkey name, keybind, tags, and active status. + +To manage a hotkey, click the three dot menu on the hotkey or right-click the hotkey row. + +* **Edit** +Opens the hotkey editor so you can change the name, keybind, and effects. +* **Enable Hotkey / Disable Hotkey** +Enables or disables the hotkey. +* **Delete** +Deletes the hotkey. +* **Effect Queues** +Assigns the hotkey to an effect queue. +* **Move to** +Moves the hotkey up or down for organizing. + +You can also drag the handle on the right side of a hotkey row to reorganize hotkeys. + + + You can learn more about effect queues here: [Effect Queues](/v5/core/effect-queues). + + +--- + +## **Effects** + +Hotkeys can run the same kind of effects as other Firebot triggers. + + + You can learn more about effects here: [Effects](/v5/core/effects). + + +--- + +## **Tags** + +Tags help organize hotkeys. + +The filter dropdown at the top of the **Hotkeys** tab can show all hotkeys or only hotkeys with a selected tag. + +Use `Edit tags` from the filter dropdown to manage the available tags. + +--- + +## Hotkey Example: Post Twitch Message + +You want a hotkey that posts a Twitch chat message. + +1. Open **Hotkeys** in Firebot. +2. Click `New Hotkey`. +3. Set **Name** to `Post Twitch Message`. +4. Click `Record Keybind`. +5. Press the key combination you want to use. +6. Add `Chat` to send a chat message. +7. Set `Chat as` to `Streamer` or `Bot` if you have a Twitch bot account connected. +8. Set `Chat message` to the message you want to post in Twitch chat. +9. Click `Add` to add the chat effect to the hotkey. +10. Click `Save`. + +When you press the hotkey, Firebot will run the effects attached to it. \ No newline at end of file diff --git a/src/app/v5/core/overlay-widgets/page.mdx b/src/app/v5/core/overlay-widgets/page.mdx new file mode 100644 index 0000000..1838f0f --- /dev/null +++ b/src/app/v5/core/overlay-widgets/page.mdx @@ -0,0 +1,910 @@ +# Overlay Widgets + +Overlay Widgets are visual elements that can be shown on your Firebot overlay. + +You can access **Overlay Widgets** in the main navigation sidebar under **Triggers**. + +Overlay Widgets are useful when you want something visible on stream, such as chat, text, images, counters, countdowns, progress bars, or custom widgets. + + + Overlay Widgets only appear on stream if your Firebot overlay is added to your broadcasting software as a browser source. + + +--- + +## **Creating an Overlay Widget** + +To create a new widget, click `New Overlay Widget` in the **Overlay Widgets** tab. This opens the widget editor. + +The widget editor lets you choose the widget type, name the widget, choose an overlay instance, configure the widget settings, and set where it should appear on the overlay. + +Available widget types include: + +* **Chat** +* **Chat (Advanced)** +* **Countdown Timer (Dynamic)** +* **Countdown to Date** +* **Counter Display** +* **Current Date / Time** +* **Custom Widget** +* **Custom Widget (Advanced)** +* **Image** +* **Progress Bar** +* **Text** + +Click `Save` when you are finished. + + + Each widget type has different settings. Choose the widget type based on what you want to show on stream. + + +--- + +## **Widget Position** + +Most widgets share the same position controls. + +The position editor lets you place and resize the widget inside the overlay canvas. You can drag the widget, resize it, or enter exact values. + +| Option | What it does | +|----------------------|-------------------------------------------------------| +| **Overlay Instance** | Selects which overlay instance the widget belongs to. | +| **X Position (px)** | Sets the widget's horizontal position in pixels. | +| **Y Position (px)** | Sets the widget's vertical position in pixels. | +| **Width (px)** | Sets the widget width in pixels. | +| **Height (px)** | Sets the widget height in pixels. | +| **Z-index** | Controls the widget's layer order. | +| | | + +Use **Z-index** when widgets overlap. A higher value appears above a lower value. + +--- + +## **Chat** + +The **Chat** widget shows Twitch chat on your overlay. + +Use this when you want a regular chat feed on stream without writing custom HTML or CSS. + +### Display Options + +| Option | What it does | +|-------------------------------|------------------------------------------------------------------------------------------| +| **Show Timestamps** | Shows timestamps next to chat messages. | +| **Show Viewer Avatars** | Shows the chatter's profile image next to their message. | +| **Show Chat Badges** | Shows Twitch badges such as sub badges, Bits badges, and other chat badges. | +| **Show Pronouns** | Shows chatter pronouns when available from [Twitch Chat Pronouns](https://pr.alejo.io/). | +| **Show Shared Chat Messages** | Shows messages sent from other channels during a shared chat session. | +| **Show Announcements** | Shows chat announcements sent by the streamer or moderators. | +| | | + +### Message Timing + +| Option | What it does | +|-----------------------------------|----------------------------------------------------------------------------| +| **Add Message Delay** | Delays messages before they are sent to the widget. Useful for moderation. | +| **New Message Entry Animation** | Sets the animation used when new messages appear. | +| **Automatically Remove Messages** | Removes messages from the widget after a set amount of time. | +| | | + +### Message Layout + +| Option | What it does | +|-----------------------|---------------------------------------------------| +| **Message Style** | Controls how usernames and messages are shown. | +| **Compact** | Shows the username and message on the same line. | +| **Modern (Expanded)** | Shows the username and message on separate lines. | +| **Chat Order** | Controls where new messages appear. | +| **Normal** | New messages appear at the bottom of the feed. | +| **Reversed** | New messages appear at the top of the feed. | +| | | + +### Message Types + +| Option | What it does | +|-------------------------------|--------------------------------------------------------------| +| **Action Display Format** | Controls how `/me` messages are displayed. | +| **Modern** | Shows action text like normal chat text, but italicized. | +| **Classic** | Shows action text in the username color, but not italicized. | +| **Highlighted Message Style** | Controls how highlighted Twitch messages are displayed. | +| **Normal** | Highlighted messages look like regular chat messages. | +| **Highlighted** | Highlighted messages use a different background color. | +| | | + +### Filtering and Emotes + +| Option | What it does | +|-----------------------------------------|------------------------------------------------| +| **Enabled Third-Party Emote Providers** | Enables supported third-party emote providers. | +| **BTTV** | Enables BetterTTV emotes. | +| **7TV** | Enables 7TV emotes. | +| **FFZ** | Enables FrankerFaceZ emotes. | +| **Hidden Users** | Hides messages from selected usernames. | +| | | + + + Third-party emote providers enabled in the Chat widget must also be enabled in Dashboard settings before emotes from those services will show. + + +### Alignment and Spacing + +| Option | What it does | +|----------------------------|-------------------------------------------------------------------| +| **Horizontal Alignment** | Aligns chat messages left or right inside the widget area. | +| **Vertical Alignment** | Aligns chat messages to the top or bottom inside the widget area. | +| **Space Between Messages** | Sets the spacing between messages in pixels. | +| | | + +### Font Options + +| Option | What it does | +|-------------------------------|-----------------------------------------------------------------| +| **Username Font Options** | Controls username font, size, weight, and italic styling. | +| **Chat Message Font Options** | Controls message font, color, size, weight, and italic styling. | +| | | + +--- + +## **Chat (Advanced)** + +The **Chat (Advanced)** widget shows Twitch chat on your overlay using custom HTML and CSS. + +Use this when you want to build your own chat layout instead of using the standard **Chat** widget. + + + Chat (Advanced) expects valid HTML and CSS. Broken templates can stop messages from displaying correctly. + + +### CSS Template + +The **CSS Template** field is where you add CSS styles and custom CSS classes for the widget. + +Firebot automatically puts this CSS inside a `