Skip to content

Commit 14fa172

Browse files
authored
Add Breaking Changes FAQ , Update Platform FAQ , Add Quotes Example
1 parent f5f965e commit 14fa172

File tree

8 files changed

+193
-3
lines changed

8 files changed

+193
-3
lines changed
9.79 KB
Loading
23.2 KB
Loading
43.8 KB
Loading
59.7 KB
Loading
28.4 KB
Loading
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
---
2+
title: Quotes Commands for v1.0.0+
3+
description: An example how to get and add quotes using commands in Streamer.bot v1.0.0+
4+
author: pwnyy
5+
icon: i-mdi-format-quote-close
6+
navigation: false
7+
difficulty: 1
8+
---
9+
10+
::warning
11+
This is only for Streamer.bot v1.0.0 and above!
12+
::
13+
14+
In Streamer.bot v1.0.0+, the built-in quote command "!quote" has been removed. This allows for more customization and flexibility in how quotes are retrieved and displayed. With that the "Show Quote" trigger will also not work anymore.
15+
The following example shows how to create your own "!quote" command to either retrieve a random quote or a specific quote by its index.
16+
17+
An import is provided at the end of the instructions, which includes a "!quote" and "!quoteadd" command.
18+
19+
The instructions below will guide you through the process of creating a quote command that can retrieve quotes, and add new quotes.
20+
Keep in mind this is just an example, and you can customize the sub-actions to your liking. The following sub-actions will be used to retrieve a random quote or a specific quote by its index. It will also be checked whether or not a command input is a number or not via inline math.
21+
22+
## Instructions (Get Quote)
23+
24+
1. Creating an action
25+
26+
To create a new action head to the **Actions** tab and right-click in the actions section. Select **Add Action** and name it something like "Get Quote". This action will be used to retrieve a random quote or a specific quote by its index.
27+
28+
2. Adding the "!quote" command trigger
29+
30+
Next step would be adding our trigger for the command. Right-click in the **Triggers** section and select `Core -> Commands -> Command Triggered`.
31+
If you already have a command like "!quote" and want to use that, you can select it from the dropdown menu. If not, you can create a new command by clicking on the `Create Command` button below the dropdown.
32+
33+
Give the command a name like "Get Quote" and set the command itself to `!quote`, or anything you like.
34+
Leave the location to `Start`, this will allow the command to also check an input.
35+
36+
The other settings can be left as is, unless you want to change them. For example, you can set the `Cooldown` to prevent spamming the command.
37+
38+
![Add Quote Command](assets/quote-command-get-quote.png)
39+
40+
3. Check whether input is empty or not
41+
First we want to check whether the input, in our case the argument `input0` is empty or not. If it is empty, we will retrieve a random quote, otherwise we will try to retrieve a specific quote by the input.
42+
To do this, we will use an the sub-action `Core -> Logic > If/Else`.
43+
44+
- In the Input field you would write `%input0%` to get the value of the input0 argument.
45+
- The Operation would be `Is Null or Empty`.
46+
47+
After clicking `OK`, you will see a new If/Else block in your action. In the `True` group, we will retrieve a random quote, and in the `False` group we will try to retrieve a specific quote by its index.
48+
![Check if empty](assets/quote-if-empty.png)
49+
4. Get a random quote and send the message
50+
51+
In the `True` group of the If/Else block, we will retrieve a random quote.
52+
To do this, right-click on the `True Result` group and add the sub-action `Core -> Quotes -> Get Quote`.
53+
Or you can also click on the `True Result` group and search for the `Get Quote` sub-action in the search bar.
54+
55+
In the sub-action itself make sure you select `Random` as the `Type` and click `OK`. This will retrieve a random quote from the quotes.
56+
57+
Next, we want to send the quote as a message. Add the sub-action `Twitch -> Chat -> Send Message to Channel` to the `True Result` group, and make sure it's under the `Get Random Quote` sub-action.
58+
In the `Message` field you can write something like `%quoteId% %quote% - %quoteUser%` to send the quote ID, the quote itself and the user who added the quote.
59+
60+
5. Check whether input is a number or not
61+
62+
In the `False` group of the If/Else block, we will continue down the path to retrieve a specific quote by its index.
63+
64+
However first we want to check whether the input is a number or not, this would still be in the `False` group.
65+
66+
This can be done the following way:
67+
1. Add a sub-action Core -> Arguments -> Set Argument.
68+
- Variable Name: `quoteNum`
69+
- Value: `$math( floor( %input0% ) )$`
70+
71+
The math function will round down the input to the nearest whole number. If the value of `input0` is not a number, the value of `quoteNum` will be `NaN` which we can check with another `if/else`.
72+
:read-more{to="/guide/variables#math"}
73+
74+
2. Add another `If/Else` sub-action to check whether the `quoteNum` value is a number or not.
75+
- Input: `%quoteNum%`
76+
- Operation: `Equals`
77+
- Value: `NaN`
78+
79+
In the `True` group, you can now add another sub-action to send a message to the channel that the input is not a number, or you simply leave it empty.
80+
81+
In the `False` group, we will continue and try to retrieve the specific quote by its index.
82+
83+
![Counter Message](assets/quote-check-command-input.png)
84+
85+
6. Get a specific quote and send the message
86+
87+
Since we have already checked that the input is a number, we can now retrieve the specific quote by its index.
88+
To do this we want to add the sub-action `Core -> Quotes -> Get Quote`, and as the `Type` we will select `Specific`. The `Quote ID` field will be set to `%quoteNum%`, which will retrieve the value of the `quoteNum` variable we set earlier.
89+
90+
:read-more{to="/sub-actions/core/quotes/get-quote"}
91+
92+
The last thing we want to do is check whether or not a quote was able to be retrieved. This can be done by adding yet another `If/Else` sub-action under the `Get Quote` sub-action.
93+
94+
We want to check whether the argument `quote`, or other quote related arguments were even created by the `Get Quote` sub-action.
95+
- Input: `quote`
96+
- Operation: `Does Not Exist`
97+
98+
Why do we not add % around `quote`? Because we don't want the value of the `quote` argument, but rather check if the literal name `quote` exists as an argument.
99+
100+
- In the `True` group, we can add a sub-action to send a message to the channel that the quote was not found, or you can leave it empty.
101+
- In the `False` group, we can add the sub-action `Twitch -> Chat -> Send Message to Channel` to send the quote as a message.
102+
- For example: `#%quoteId%: %quote% - %quoteUser%`
103+
104+
![Counter Message](assets/quote-get-finished-action.png)
105+
106+
## Instructions (Add Quote)
107+
Adding a quote is fairly straightforward, we will create a new action that will be used to add a simple command input as the quote. This will it that the quote is referenced to the streamer, and not the the user who added it via the command.
108+
109+
1. Creating an action
110+
111+
To create a new action head to the **Actions** tab and right-click in the actions section. Select **Add Action** and name it something like "Add Quote".
112+
113+
2. Adding the "!quoteadd" command trigger
114+
115+
This step is pretty much the same as the previous one for just adding a !quote command. Just in this case we give it a different name and a different command itself.
116+
117+
- Right-click in the **Triggers** section and select `Core -> Commands -> Command Triggered`.
118+
If you already have a command like "!quoteadd" and want to use that, you can select it from the dropdown menu. If not, you can create a new command by clicking on the `Create Command` button below the dropdown.
119+
120+
Give the command a name like "Add Quote" and set the command itself to `!quoteadd`, or anything you like.
121+
Leave the location to `Start`, this will allow the command to also check an input.
122+
123+
The other settings can be left as is, unless you want to change them. For example, you can set the `Cooldown` to prevent spamming the command.
124+
125+
3. Adding the quote itself
126+
127+
Next, we want to add the quote itself. To do this, we will use the sub-action `Core -> Quotes -> Add Quote`.
128+
129+
In the `Variable` field, we will write `%rawInput%`, this will get the whole input of the command, so the value of `rawInput`.
130+
131+
![Add Quote Sub-Action](assets/quote-add-quote-sub-action.png)
132+
133+
4. Check if the quote was added successfully
134+
135+
After adding the quote, we want to check whether or not the quote was added successfully. This can be done by adding another `If/Else` sub-action.
136+
- Input: `%success%`
137+
- Operation: `Equals`
138+
- Value: `True`
139+
140+
In the `False` group, we can then add a `Break` sub-action to stop the action from continuing, since the quote was not added successfully.
141+
142+
Below the whole `If/Else` block, you can also put this in the `True` group`, we can then add a sub-action to send a message to the channel that the quote was added successfully.
143+
144+
So create a sub-action `Twitch -> Chat -> Send Message to Channel` and write something like `Quote added successfully! ID: %quoteId% - %quote%` in the `Message` field.
145+
146+
## Import
147+
148+
As mentioned at the start here is the import for Streamer.bot v1.0.0 and above. This includes the `!quote` and `!quoteadd` commands, and the needed actions.
149+
150+
```bash [streamerbot-import]
151+
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
152+
```
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
---
22
description: Will Streamer.bot add support for Kick, TikTok, or another platform?
33
---
4+
- [Kick](https://kick.com) support is **ONLY** available in version 1.0.0.
5+
- With version 1.0.0 Streamer.bot uses webhooks to receive events from Kick. Kick does not always send out events like Chat Messages in a timely manner, meaning there can be delays happening til something triggers in Streamer.bot.
6+
- Due to this requiring additional setup, at least the `Thank You` tier on Patreon will be required to use Kick. More infomation in the [Changelogs of 1.0.0](https://docs.streamer.bot/changelogs/v1.0.0#kick)
7+
- Once Kick introduces websocket support, for which there is an issue open regarding this on their [GitHub](https://github.com/KickEngineering/KickDevDocs/issues/20), it will be looked into to switch to that instead of webhooks.
48

5-
- [Kick](https://kick.com) and [TikTok](https://tiktok.com) support will be considered if/when they release a usable public API.
6-
- Kick API has been released, however it is currently not usable for applications like Streamer.bot, see the following [GitHub Issue](https://github.com/KickEngineering/KickDevDocs/issues/20)
9+
- [TikTok](https://tiktok.com) support will be considered if/when they release a usable public API.
10+
- Kick API has been released, however it is currently not usable for applications like Streamer.bot, see the following
711
- TikTok API support is unknown at this time, but a Streamer.bot integration is available by [TikFinity](https://tikfinity.zerody.one/streamerbot-integration)
812

9-
For other platforms, if there is already a public API available, please let us know at [Streamer.bot Ideas & Suggestions](https://ideas.streamer.bot)
13+
- Other platforms, if there is already a public API available, please let us know at [Streamer.bot Ideas & Suggestions](https://ideas.streamer.bot)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
description: What do I need to check after updating to 1.0.0 for the first time?
3+
---
4+
After updating to version 1.0.0, there are some important changes you should be aware of:
5+
6+
**[YouTube Send Message C#](https://docs.streamer.bot/changelogs/v1.0.0#c-changes)**:
7+
8+
`fallBack` parameter added, to be consistent with other platforms. Check new method format in the [changelog](https://docs.streamer.bot/changelogs/v1.0.0#c-changes).
9+
10+
**[Quotes](https://docs.streamer.bot/changelogs/v1.0.0#quotes)**:
11+
12+
In version 1.0.0, the built-in quote command "!quote" has been removed. This allows for more customization and flexibility in how quotes are retrieved and displayed.
13+
14+
In previous versions, the "!quote" command was directly built into Streamer.bot, meaning there was no need to create a command for it. Starting 1.0.0, the built-in command has been removed, and you will need to create your own command for it.
15+
This is mainly to allow for more customization and flexibility in how quotes are retrieved and displayed.
16+
17+
You can find an example import [here](https://docs.streamer.bot/get-started/examples/quotes-commands).
18+
19+
With that the "Show Quote" trigger will also not work anymore.
20+
21+
**[Twitch Shared Chat](https://docs.streamer.bot/changelogs/v1.0.0#twitch-shared-chat)**:
22+
23+
A few shared chat variables have changed/removed, and new ones have been added.
24+
25+
- Removed: `fromSharedChat`
26+
- Changed: `inSharedChat` to `isInSharedChat`
27+
28+
**[Voicemod](https://docs.streamer.bot/changelogs/v1.0.0#voicemod)**:
29+
30+
The Voicemod integration now requires at least version `3.12` to be able to connect to Streamer.bot.
31+
32+
Voicemod Set Censor State sub-action was removed as well as the C# methods `VoiceModCensorOn()` and `VoiceModCensorOff()`.
33+
34+
"Soundboard Changed" trigger will not work anymore, as there is not related event coming from Voicemod anymore.

0 commit comments

Comments
 (0)