Skip to content

olivierperez/TwitckBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TwitckBot

License PRs Welcome Last release

Every streamer need a sidekick, someone that is by his side when he streams. TwitckBot is this sidekick, always by your side day and night.

On top of that, if you are a developer you can use TwitckBot as a foundation to develop your own Twitch Bot.

👣 Install me

🧲 Download

Download the zip file of the last release from the Releases page.

Unzip it and go to the next chapter.

⚙ Configure the ngrok file

Ngrok is used to react to events of viewer following. So first: download the executable file of ngrok.

Once downloaded, edit the ngrok file regarding your operating system:

  • Windows: ngrok.bat
  • Linux: ngrok.sh

In this file, replace <PATH\TO\ngrok.exe> by the path of the previously downloaded .exe file.

⚙ Configure the launch file

Edit the TwitckBot launch file regarding your operating system:

  • Windows: TwitckBot.bat
  • Linux: TwitckBot.sh

In this file, replace <OAUTH_TOKEN> by the token of your bot account (it can be your own account if want the bot talk on your behalf), and replace <STREAMER_ACCOUNT_NAME> by your own twitch account's name (even if the bot has its own account).

tips: to generate a OAuth token you may use this generator: https://twitchapps.com/tmi/

⚙ Configure the modules

TwitckBot is composed of several modules (known as Extensions), those modules are configurable thanks to .json files in the .config directory.

Extension Description Requires Can interact with Configuration
Channel Basic reactions to events or commands executed by the viewers. - - documentation
Help !help command to help the viewers to know what they can do. - - documentation
Market A marketplace where the viewers can "buy" things with your points system. - Help
Points
documentation
Ngrok Required to react to events of viewer following. - - documentation
Overlay An overlay to show on top of your stream. - - documentation
Points The points system managed by the bot. Storage Help documentation
Poll A poll mechanism to asked community their opinion. - Points documentation
RemoteActions Under development!!
Requires Streamlab OBS!!
Provide a UI for the streamer to interact with his bot.
Storage - documentation
Repeat The bot will say one of predefined sentences every X minutes. Useful to give information about a Discord server for instance. - - documentation
Rewards Reward with points the activity of the viewers. Points
Storage
Help
Overlay
Sound
documentation
RuntimeCommand Let you configure some commands while you are in the middle of a streaming. - Help
Storage
documentation
Sound Configure the funny sounds you need. - - documentation
Stats Under development!! Store stats of what the bot have seen during your stream. - - documentation
Storage Store information useful for your stream. - - documentation
ViewerPromotion Some of your viewers deserve to be promoted. Storage Help
Points
Sound
documentation
Welcome Welcome the newcomers with funny sentences with their names in it. Storage Sound documentation

▶ Run

  1. Execute "ngrok.bat" (or "ngrok.sh" on Linux)
    • please, avoid restarting it while you're still streaming
  2. Execute "TwitckBot.bat" (or "TwitckBot.sh" on Linux)
  3. Wait to see a big "Ready to go!"...
  4. TwitckBot is up and running, type a command (!help for instance) in Twitch chat

📄 License

Copyright (C) 2021 Olivier Perez.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.