Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
182 changes: 182 additions & 0 deletions src/app/v5/core/channel-rewards/page.mdx
Original file line number Diff line number Diff line change
@@ -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.

<Note type="info">
Firebot can create and edit custom Channel Rewards, but reward icons still need to be changed on Twitch.
</Note>

---

## **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.

<Note type="info">
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.
</Note>

<Note type="info">
You can learn more about restrictions here: [Restrictions](/v5/core/restrictions).
</Note>

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.

<Note type="info">
You can learn more about effect queues here: [Effect Queues](/v5/core/effect-queues).
</Note>

---

## **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.

<Note type="info">
You can learn more about simulating events here: [Simulate](/v5/core/events#simulating-events).
</Note>

<Note type="info">
You can learn more about restrictions here: [Restrictions](/v5/core/restrictions).
</Note>

---

## **Effects**

Channel Rewards can run the same kind of effects as other Firebot triggers.

<Note type="info">
You can learn more about effects here: [Effects](/v5/core/effects).
</Note>

---

## **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.

<Note type="warning">
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.
</Note>

---

## **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. |
| | |

<Note type="info">
When using a Channel Reward name inside a variable, the name must match exactly.
</Note>

<Note type="info">
You can learn more about variables here: [Variables](/v5/core/variables).
</Note>

---

## 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.
150 changes: 150 additions & 0 deletions src/app/v5/core/counters/page.mdx
Original file line number Diff line number Diff line change
@@ -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.

<Note type="info">
Minimum and maximum values are optional. Use them when the counter should not go below or above a certain number.
</Note>

---

## **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.

<Note type="info">
Use `$counterNewValue` in **Effects On Update** when you want the value after the counter changes.
</Note>

---

## **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.

<Note type="info">
Effects On Update do not run just because `$counter[name]` is used. They run when the counter is changed by the **Update Counter** effect.
</Note>

---

## **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.
Loading