📄️ Create OpenAI Account
To access ChatGPT 3.5 Turbo, you need to have an active OpenAI account to retrieve an API key to use to send their API prompts from Streamer.bot. Signup for a new account at https://platform.openai.com/signup?launch. Make sure to link a payment method to your account and convert to a paid account. By default your account has a hard limit of $120 per month, and you must request an increase to this limit if you should need more.
📄️ Download Google JSON API Key
To utilize Google Cloud for Text-to-Speech services with Speaker.bot, you need to register for Google Cloud Console by going to https
📄️ Install Streamer.bot
Download the latest stable version of Streamer.bot and Speaker.bot from Downloads | Streamer.bot. Extract these to a folder on your computer, and then create some shortcuts to their executables on your desktop. These two tools are way more powerful than this document describes. It will help you a lot to review the documentation on the different functions available. They can make for a very interactive stream that is more interesting for your viewers.
📄️ Connect Streamer.bot to Twitch
In this section we will cover how to connect Streamer.bot to your Twitch Account. This process is covered in detail at Quick Start - Twitch | Streamer.bot Wiki
📄️ Import Solution into Streamer.bot
In this section we will import all custom actions and commands into Streamer.bot. When imported this command will let you trigger the GPT Action from Twitch Chat to test your bot.
📄️ Update Variables in Streamer.bot
Now we need to update some variables for the GPT action to work.
📄️ Variables in Streamer.bot
GPT Action
📄️ Moderation Configuration
You can set the moderation categories to exclude in the main GPT action. This is a comma-separated list of categories that you don't want the moderation filter to filter on. This is useful for cases where simple cartoon violence can be misconstrued because of very short prompts. For instance "I bonk you on the head" might get construed as violence by the moderation filter. Not having any excluded categories is a valid choice, and you would just set the variable to not have any text in it for the value.
📄️ Create GPT Bot Lore Text File
Your GPT bot needs to have a personality, backstory, likes, and dislikes. The better you build the deep lore, the more context the bot will respond to. You can “teach” the bot things by changing the wording of your lore file. You are basically digging into the AI’s brain and modifying their personality. Be creative, if you want your bot unhinged, tell them to be unhinged. You can also give negative prompting by telling them not to exhibit certain behaviors. A sample Lore file is provided below. You should save this as a text document. It is important to have a Traits section, Instructions, and a task that you expect them to do.
📄️ Install Speaker.bot
In this section we will configure our Text-to-Speech API and choose our voice for the bot. You may consider using a program such as Virtual Audio Cable to route this into OBS on its own dedicated channel.
📄️ Create TTS Action for Events
In this section I will describe how to create a custom action that speaks on your stream on each new subscription or re-subscription and announces the user’s name, thanks them, and speaks tier level of redemption.
📄️ Create PNGTuber and route audio to the PNGTuber
In this section we will install Veadotube Mini from veadotube. This is very simple software that let’s use animate our PNGTuber on a keyable background that we can capture to OBS and overlay on the stream. You can also run multiple instances of it so that you can appear as a PNGTuber as well. You can edit the actions we imported to display or show the PNGTuber when it is talking; but it is beyond the scope of this getting started document.
📄️ Word Replacements
Sometimes, Speaker.bot is not able to pronounce words correctly. You can use Speaker.bot's native text replacement for this. For example, we could replace the word "uwu" with "oowoo" to get it to pronounce it properly. Use this sparingly, as it can be like putting words in your viewer's mouth.
📄️ How to get the bot to remember things
This section will cover how to handle the bot remembering things about users, or about certain keywords. Each action being sent to ChatGPT is a brand new action where all of the context is sent each time. If the bot gave a previous answer, it doesn’t remember it right now. Implementing this is challenging, as we are using most of the context we can provide to handle the context and keywords and plan to add portions of Twitch Chat to the context in the future.
📄️ Diagnosing errors
In the Streamer.bot directory there is a logs directory that has a daily log file. When submitting issues, please upload your log file as well, and let me know what time exactly the event occurred. Each transaction to GPT logs the following information: