A Twitch Bot, in Ruby
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.6 KiB

  1. # TwitchChatbot
  2. A simple chatbot for Twitch written in Ruby. Used for handling commands and previewing chat so that you don't need to have the browser open and can avoid using a lot of RAM and CPU.
  3. ----
  4. ## Preview
  5. ![alt text](https://i.imgur.com/QOuqtfS.png "Preview of the chat bot")
  6. ----
  7. I use this chatbot to preview chat without having a browser open so that I save CPU and RAM.
  8. But as you can see in the preview image it's also able to handle custom commands including API commands.
  9. ----
  10. ## How To Use:
  11. 1. Open **"credentials.txt"** and replace OAUTH, BOTNAME and CHANNEL with the values you need.
  12. 2. Run **"TwitchBot.rb"**
  13. ----
  14. ## **Adding Commands:**
  15. ### **Regular Commands:**
  16. 1. Open **"CommandsHandler.rb"** and scroll down to the `commands` array and add your own.
  17. 2. Go to folder **"Responses"** and add the command as a text file in all lowercase. _Examples have been included_
  18. ### **Admin Commands:**
  19. If you are adding admin commands add a custom response next to it. There you'll be able to add commands that gives data to the socket instead of a chat message as a response. Example:
  20. `admin_commands = {
  21. "disconnect" => "PART ##{CHANNEL}"
  22. }`
  23. When the command `"!disconnect"` has been typed in chat by the channel owner _(or anyone specified in the `admins` array)_ it will send a request to disconnect from the current Twitch channel.
  24. ![alt text](https://i.imgur.com/iYtSvaG.png "Prefix, commands and admin commands")
  25. ### **API Commands:**
  26. If you want to add API commands you just scroll down to `# ----- API COMMANDS ----- #` _(First section after receiving messages)_ and add your commands. In the example it calls some functions which are made at the bottom of the script.
  27. ![alt text](https://i.imgur.com/CBF7vYf.png "Right after the received messages section")
  28. Then you scroll down to the bottom under `# ----- API COMMANDS ----- #` and add a function to that command.
  29. ![alt text](https://i.imgur.com/xejccqp.png "Here you add your dedicated function for the API command")
  30. ----
  31. ## Extras:
  32. _**The response files in the Responses folder have 3 arguments available**_ (You can add your own)
  33. ![alt text](https://i.imgur.com/Pb6JPz8.png "Preview of command arguments")
  34. In the template the arguments USER, CHANNEL, COMMANDS are available. _(COMMANDS shows all available commands)_
  35. ![alt text](https://i.imgur.com/7oRcLvw.png "Here you can add your replacements")
  36. ## License
  37. [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FBenTearzz%2FRubyTwitchChatbot.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FBenTearzz%2FRubyTwitchChatbot?ref=badge_large)