├── .gitattributes ├── Games ├── Defuse │ ├── Defuse_StreamlabsSystem.py │ ├── README.txt │ ├── Sounds │ │ └── test.mp3 │ ├── UI_Config.json │ ├── client.js │ └── index.html ├── FreeForAll │ ├── FreeForAll_StreamlabsSystem.py │ ├── README.txt │ └── UI_Config.json ├── Gamble │ ├── Gamble_StreamlabsSystem.py │ ├── README.txt │ ├── UI_Config.json │ └── jackpot.txt ├── Readme.md ├── Roulette │ ├── README.txt │ ├── Roulette_StreamlabsSystem.py │ ├── UI_Config.json │ ├── settings.js │ └── settings.json ├── Russian_Roulette │ ├── README.txt │ ├── Russian_Roulette_StreamlabsSystem.py │ └── UI_Config.json ├── SE_Roulette │ ├── SERoulette_StreamlabsSystem.py │ └── UI_Config.json └── Steal │ ├── SimpleSteal_StreamlabsSystem.py │ └── UI_Config.json ├── README.md └── Tools ├── AutomaticChatSettings ├── AutoChatSettings_StreamlabsSystem.py ├── README.txt └── UI_Config.json ├── Betting ├── Betting_StreamlabsSystem.py ├── README.txt └── UI_Config.json ├── CastorrsLazyPack ├── CLP_StreamlabsSystem.py ├── Index.html ├── README.txt ├── UI_Config.json ├── client.js └── sounds │ └── test.mp3 ├── Close Spotify ├── CloseSpotify_StreamlabsSystem.py └── UI_Config.json ├── Extra Counter ├── Counter_StreamlabsSystem.py ├── README.txt ├── UI_Config.json ├── count.txt ├── settings.js └── settings.json ├── GoingLiveSettings └── AutoChatSettings_StreamlabsSystem.py ├── MakeItRain ├── API_Key.js ├── MakeItRain_StreamlabsSystem.py ├── README.txt ├── Sounds │ └── test.mp3 ├── UI_Config.json ├── client.js ├── index.html ├── settings.js └── settings.json ├── MessageForwarding ├── MessageForwarding_StreamlabsSystem.py ├── README.txt ├── UI_Config.json ├── settings.js └── settings.json ├── MessageSounds ├── MessageSounds_StreamlabsSystem.py ├── README.txt ├── UI_Config.json └── sounds │ ├── Discord.mp3 │ ├── Facebook.mp3 │ ├── GTA V Online.mp3 │ ├── Gmail.mp3 │ ├── Hangouts.mp3 │ ├── Iphone.mp3 │ ├── Onii-Chan.mp3 │ ├── Playstation.mp3 │ ├── Skype.mp3 │ ├── Snapchat.mp3 │ ├── Steam.mp3 │ ├── Tinder.mp3 │ ├── Twitter.mp3 │ ├── WhatsApp.mp3 │ └── Xbox.mp3 ├── Multi_Shoutout ├── Multi_Shoutout_StreamlabsSystem.py ├── UI_Config.json ├── settings.js └── settings.json ├── New Chatter Payouts ├── Log.txt ├── NewChatterPayouts_StreamlabsSystem.py └── UI_Config.json ├── Number Voting ├── NumberVoting_StreamlabsSystem.py └── UI_Config.json ├── Readme.md ├── Redeem ├── Index.html ├── Modules │ └── settingsmodule.py ├── README.txt ├── Redeem_StreamlabsSystem.py ├── Sounds │ └── test.mp3 ├── UI_Config.json └── client.js ├── TempBonusCurrency ├── README.txt ├── TempBonusCurrency_StreamlabsSystem.py └── UI_Config.json ├── Whisper Response ├── UI_Config.json └── WhisperResponse_StreamlabsSystem.py └── Word Trigger ├── Sounds └── test.mp3 ├── UI_Config.json └── WordTrigger_StreamlabsSystem.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Games/Defuse/README.txt: -------------------------------------------------------------------------------- 1 | ##################### 2 | # Defuse Minigame # 3 | ##################### 4 | 5 | Description: Users try to defuse the bomb by cutting a wire, if they fail they lose currency if they defuse the bomb they earn currency. 6 | Made By: Castorr91 7 | Website: https://www.twitch.tv/castorr.91 8 | 9 | Inspiried by Alixe's version for deepbot 10 | ##################### 11 | # Versions # 12 | ##################### 13 | 1.1.2 14 | - Addex mixer support 15 | 1.1.1 16 | - Fixed usernames on youtube 17 | 18 | 1.1.0 19 | - Complete code overhaul 20 | - Added option to use the following parameters in responses 21 | $user 22 | $target 23 | $currencyname 24 | $permission 25 | $permissioninfo 26 | - Updated default values 27 | - Added option to randomize payout amounts 28 | - Added button to calculate chances 29 | - Optimized the randomising process 30 | 1.0.3 31 | - Fixed payout errors 32 | 33 | 1.0.2 34 | - Updated to work with youtube 35 | 36 | 1.0.1 37 | - Fixed permission handling 38 | 39 | 1.0.0 40 | - Initial release 41 | 42 | ##################### 43 | # Usage # 44 | ##################### 45 | 46 | !defuse 47 | cuts the selected wire and gives the outcome 48 | 49 | !defuse 50 | Shows information on how to defuse the bomb 51 | 52 | 53 | ######################################### 54 | # All my scripts can be found in # 55 | # the Chatbot discord # 56 | # https://discordapp.com/invite/J4QMG5m # 57 | ######################################### -------------------------------------------------------------------------------- /Games/Defuse/Sounds/test.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/castorr/Chatbot-Scripts/448c2a802a5cdcd82e36994155a722fbae7bef45/Games/Defuse/Sounds/test.mp3 -------------------------------------------------------------------------------- /Games/Defuse/client.js: -------------------------------------------------------------------------------- 1 | if( window.WebSocket ){ 2 | //--------------------------------- 3 | // Variables 4 | //--------------------------------- 5 | var serviceUrl = "ws://127.0.0.1:3337/streamlabs" 6 | var socket = new WebSocket(serviceUrl); 7 | //--------------------------------- 8 | // Events 9 | //--------------------------------- 10 | socket.onopen = function() 11 | { 12 | // Format your Authentication Information 13 | var auth = { 14 | author: "Castorr91", 15 | website: "https://www.twitch.tv/castorr91", 16 | api_key: API_Key, 17 | events: [ 18 | "EVENT_DEFUSE", 19 | ] 20 | } 21 | //Send your Data to the server 22 | socket.send(JSON.stringify(auth)); 23 | }; 24 | 25 | socket.onerror = function(error) 26 | { 27 | //Something went terribly wrong... Respond?! 28 | console.log("Error: " + error); 29 | } 30 | 31 | socket.onmessage = function (message) 32 | { 33 | var jsonObject = JSON.parse(message.data); 34 | 35 | if(jsonObject.event == "EVENT_DEFUSE") 36 | { 37 | //parse jason data 38 | var MySet = JSON.parse(jsonObject.data); 39 | console.log("Parsed" + jsonObject) 40 | //show gif 41 | document.getElementById("myimg").src=MySet.link; 42 | console.log("got image" + MySet.link) 43 | 44 | setTimeout(function() { 45 | document.getElementById("myimg").src=""; 46 | }, MySet.duration); 47 | } 48 | } 49 | socket.onclose = function () 50 | { 51 | // Connection has been closed by you or the server 52 | console.log("Connection Closed!"); 53 | } 54 | } -------------------------------------------------------------------------------- /Games/Defuse/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Defuse minigame overlay 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Games/FreeForAll/README.txt: -------------------------------------------------------------------------------- 1 | ########################### 2 | # Free For All Minigame # 3 | ########################### 4 | 5 | Description: A replica of the built in Free For All minigame 6 | Made By: Castorr91 7 | Website: https://www.twitch.tv/castorr.91 8 | 9 | ##################### 10 | # Versions # 11 | ##################### 12 | 1.0.0 - Initial release 13 | 14 | ##################### 15 | # Usage # 16 | ##################### 17 | Castorr: !ffa2 18 | Castorrbot: The arena is now open! Type !ffa2 to join! 19 | 20 | ################################## 21 | # All my scripts can be found in # 22 | # the Streamlabs Chatbot discord # 23 | # https://discord.gg/Xv9dzD9 # 24 | ################################## -------------------------------------------------------------------------------- /Games/FreeForAll/UI_Config.json: -------------------------------------------------------------------------------- 1 | { 2 | "output_file": "settings.json", 3 | "Command": { 4 | "type": "textbox", 5 | "value": "!ffa2", 6 | "label": "Command Name", 7 | "tooltip": "The command the bot will respond to", 8 | "group": "General" 9 | }, 10 | "Cost": { 11 | "type": "numberbox", 12 | "label": "Cost", 13 | "value": 50, 14 | "tooltip": "Cost to use the command", 15 | "group": "General" 16 | }, 17 | "Permission": { 18 | "type": "dropdown", 19 | "value": "Everyone", 20 | "items": ["Everyone","Regular","Subscriber","GameWisp Subscriber","User_Specific","Min_Rank","Min_Points","Min_Hours","Moderator","Editor","Caster"], 21 | "label": "Join Permission", 22 | "tooltip": "Set the permission level for the command", 23 | "group": "General" 24 | }, 25 | "PermissionInfo": { 26 | "type": "textbox", 27 | "value": "", 28 | "label": "Join Info", 29 | "tooltip": "Set the user, rank or tier for permission", 30 | "group": "General" 31 | }, 32 | "Cooldown": { 33 | "type": "numberbox", 34 | "label": "Cooldown (min)", 35 | "value": 1, 36 | "tooltip": "Cooldown in minutes.", 37 | "group": "General" 38 | }, 39 | "Usage": { 40 | "type": "dropdown", 41 | "value": "Stream Chat", 42 | "items": ["Stream Chat","Discord Chat"], 43 | "label": "Usage", 44 | "tooltip": "Usage for where the script can be used!", 45 | "group": "General" 46 | }, 47 | "StartDelay": { 48 | "type": "numberbox", 49 | "label": "Start Delay (min)", 50 | "value": 1, 51 | "tooltip": "Number of minutes from that the command first is triggered until the fight starts", 52 | "group": "General" 53 | }, 54 | "MinEntries": { 55 | "type": "numberbox", 56 | "label": "Min entries", 57 | "value": 2, 58 | "tooltip": "Minimum entries required to start the free for all", 59 | "group": "General" 60 | }, 61 | "MaxSurvivors": { 62 | "type": "numberbox", 63 | "label": "Max Survivors", 64 | "value": 1, 65 | "tooltip": "Max amount of users that can survive the free for all", 66 | "group": "General" 67 | }, 68 | "OpenEntriesMessage": { 69 | "type": "textbox", 70 | "value": "The arena is now open! Type $command to join!", 71 | "label": "Open Entries Message", 72 | "tooltip": "", 73 | "group": "Messages" 74 | }, 75 | "StartingMessage": { 76 | "type": "textbox", 77 | "value": "The combatants have stepped in to the arena.... Who will emerge victorious?!", 78 | "label": "Starting Message", 79 | "tooltip": "", 80 | "group": "Messages" 81 | }, 82 | "AbortMessage": { 83 | "type": "textbox", 84 | "value": "Not enough people were interested so the Arena has been called off.", 85 | "label": "Abort Message", 86 | "tooltip": "", 87 | "group": "Messages" 88 | }, 89 | "FightMessage": { 90 | "type": "textbox", 91 | "value": "The combatants are going head to head in the arena... You can hear their weapons clashing and sparks fly in all directions... Suddenly a sand storm erupt....", 92 | "label": "Fight Messages", 93 | "tooltip": "", 94 | "group": "Messages" 95 | }, 96 | "EndingMessage": { 97 | "type": "textbox", 98 | "value": "The dust finally settled and only the following people emerged: $results", 99 | "label": "Ending Messages", 100 | "tooltip": "", 101 | "group": "Messages" 102 | }, 103 | "OffCooldown": { 104 | "type": "textbox", 105 | "value": "The arena has been cleaned up... Want to go again?! Type $command to start!", 106 | "label": "Off Cooldown Message", 107 | "tooltip": "", 108 | "group": "Messages" 109 | }, 110 | "UseCD": { 111 | "type": "checkbox", 112 | "value": false, 113 | "label": "Use Cooldown Messages", 114 | "tooltip": "Enable/Disable cooldown messages", 115 | "group": "Messages" 116 | }, 117 | "OnCooldown": { 118 | "type": "textbox", 119 | "value": "{0} the command is still on cooldown for {1} seconds!", 120 | "label": "On Cooldown Message", 121 | "tooltip": "The message that the bot will display when the command is on cooldown. \r\n {0} = user \r\n {1} = time remaining", 122 | "group": "Messages" 123 | }, 124 | "NotEnoughResponse": { 125 | "type": "textbox", 126 | "value": "{0} you don't have enough points!", 127 | "label": "Not enough currency Message", 128 | "tooltip": "Message sent when user doesn't have enough points \r\n {0} = user", 129 | "group": "Messages" 130 | }, 131 | "PermissionResp": { 132 | "type": "textbox", 133 | "value": "{0} -> only {1} ({2}) and higher can use this command", 134 | "label": "Permission denied Message", 135 | "tooltip": "Message sent when user doesn't select any valid wire. \r\n{0} = user \r\n{1} = permission\r\n{2} = permission info", 136 | "group": "Messages" 137 | }, 138 | "BtnDefaults": { 139 | "type": "button", 140 | "label": "Restore Default Settings", 141 | "tooltip": "Reset settings back to defaults.\r\nReload Scripts afterwards to see the changes in the user interface!", 142 | "function": "SetDefaults", 143 | "wsevent": "", 144 | "group": "" 145 | }, 146 | "openReadMe": { 147 | "type": "button", 148 | "label": "Open README.txt", 149 | "tooltip": "Opens the README.txt for this script", 150 | "function": "OpenReadMe", 151 | "wsevent": "", 152 | "group": "" 153 | } 154 | } -------------------------------------------------------------------------------- /Games/Gamble/README.txt: -------------------------------------------------------------------------------- 1 | ##################### 2 | # Gamble Minigame # 3 | ##################### 4 | 5 | Description: Allow users to gamble currency. High numbers will win. Options for win chance, max bet, min bet, cooldown, responses etc. in UI 6 | Made By: Castorr91 7 | Website: https://www.twitch.tv/castorr91 8 | 9 | ##################### 10 | # Versions # 11 | ##################### 12 | 2.1.7 - Jackpot now saves and reloads properly 13 | 14 | 2.1.6 - Fixed username showing as userid for certain messages 15 | 16 | 2.1.5 - Fixed $permissioninfo 17 | - Added no currency response 18 | 19 | 2.1.4 - Fixed jackpot not resetting completely without reload 20 | 21 | 2.1.3 - Removed lots of return statements 22 | - Removed lots of comments 23 | - Addex mixer support 24 | 25 | 2.1.2 - Fixed permissions 26 | 27 | 2.1.1 - Increased readability for functions 28 | - Fixed non-ascii characters for jackpot 29 | - Fixed revlo advanced 30 | 2.1.0 31 | - Fixed payouts for Revlo Advanced 32 | - Fixed Max Bet ammount for Single Number 33 | - Added functions for the different outcomes 34 | - Added functions to handle all checks 35 | - Added button to copy index.html filepath to clipboard 36 | - Fixed automatic reloading on save 37 | - Fixed usernames for youtube 38 | 39 | 40 | 2.0.10 41 | - Fixed SaveSettings is not defined error 42 | - Fixed jackpot not successfully updating 43 | 44 | 2.0.9 45 | - Fixed non ascii characters 46 | 47 | 2.0.8 48 | - Hotfix 49 | 50 | 2.0.7 51 | - Fixed triplewin 52 | 53 | 2.0.6 54 | - Updated to work with youtube 55 | - Jackpot now also returns the value gambled if won 56 | 57 | 2.0.5 58 | - Fixed cost for random game mode! 59 | 60 | 2.0.4 61 | - Code cleanup, improved usage stability 62 | 63 | 2.0.3 64 | - Fixed max roll value 65 | 66 | 2.0.2 67 | - Fixed negative gamble value 68 | - Changed version numbering 69 | - Fixed revlo gamemode default min roll value 70 | 71 | 2.0.1.0 72 | - Updated to work with Streamlabs Chatbot 73 | - Added sound and messageboxes upon restoring settings 74 | - Removed Custom ui group since it was not used at all 75 | 76 | 2.0.0.9 77 | - Added more usage options (twitch whisper, twitch both, discord whisper, discord both, whisper both & all) 78 | 79 | 2.0.0.8 80 | - Fixed cooldown messages 81 | 82 | 2.0.0.7 83 | - Fixed double posting when checking jackpot 84 | - Fixed typo in UI 85 | 86 | 87 | 2.0.0.6 88 | - Added usage options for discord, twitch or chat both 89 | - Cleaned up code 90 | 91 | 2.0.0.5 92 | - Jackpot is now saved between reloads 93 | - Added jackpot.txt in the script folder that holds current jackpot size 94 | - Added option in UI to set jackpot size directly 95 | - Added button in UI to open README.txt 96 | 97 | 2.0.0.4 98 | - Fixed gambling with amount <- broken in 2.0.0.3 99 | 100 | 2.0.0.3 101 | - Fixed gamble all 102 | 103 | 2.0.0.2 104 | - Fixed Random game mode 105 | 106 | 2.0.0.1 107 | - Fixed cooldown for Percentage game mode 108 | 109 | 2.0.0.0 110 | - Added game modes 111 | - Revlo - Uses revlo default values and payouts 112 | - Revlo Advanced - 3 intervals (lose, win, tripple) with customizable settings 113 | - Random - Numbers don't matter at all. 114 | Set your win chance, win multiplicator and min, max values for the roll. 115 | - Percentage - Rolls will give a payout in percentage bonus equal to the roll value. 116 | 0 roll = lost all currency, 100 = doubled currency 117 | - Single Number - Set a single number that is the winner 118 | 119 | - Added restore default settings button in UI 120 | - Added option to ignore cooldown for broadcaster 121 | - Added option to force all in for viewers 122 | - Added option to change the word used to go all in 123 | - Added option to enable jackpot mode where each loss adds to the jackpot 124 | Users can check current jackpot if enabled 125 | - Cleaned up the code 126 | 127 | 1.2.0.1 128 | - Fixed problem with cooldowns 129 | - Added min bet option 130 | 131 | 1.2.0.0 132 | - Rewrote code from scratch. Easier to follow, shorter lines. 133 | - Added Max bet option 134 | - Fixed textboxes info 135 | 136 | 1.1.0.2 137 | - Added max bet setting 138 | - cleaned up some code 139 | 140 | 1.1.0.1 141 | - Updated to work with AnkhBot 1.0.2.1 and later 142 | 143 | 1.1.0.0 144 | - Cleaned up code a lot! Fixed probability calculations. 145 | - Fixed a bug where users couldn't bet the amount of points they had 146 | - Added option to only have the command active when stream is live 147 | - Added checking if variable 1 is a number or not 148 | 149 | 1.0.1.0 150 | - Bug fix, default values with no settings file present 151 | 152 | 1.0.0.0 153 | - Initial release 154 | 155 | ##################### 156 | # Usage # 157 | ##################### 158 | 159 | !gamble 160 | Gambles selected amount 161 | 162 | !gamble all 163 | Gambles all your points 164 | 165 | !gamble 166 | Shows information on how to gamble 167 | 168 | !gamble jackpot 169 | Shows the current jackpot value 170 | ################################### 171 | # All my scripts can be found in # 172 | # the AnkhBot discord # 173 | # https://discord.gg/Xv9dzD9 # 174 | ################################### -------------------------------------------------------------------------------- /Games/Gamble/jackpot.txt: -------------------------------------------------------------------------------- 1 | 300 -------------------------------------------------------------------------------- /Games/Readme.md: -------------------------------------------------------------------------------- 1 | # Games 2 | Here I will upload a couple of minigames to be used in the chat of Twitch, Mixer & YouTube 3 | - [Defuse](https://github.com/castorr/Chatbot-Scripts/blob/master/Games/Readme.md#defuse) 4 | - [Free For All](https://github.com/castorr/Chatbot-Scripts/tree/master/Games#free-for-all) 5 | - [Gamble](https://github.com/castorr/Chatbot-Scripts/tree/master/Games#gamble) 6 | - [Roulette](https://github.com/castorr/Chatbot-Scripts/tree/master/Games#roulette) 7 | - [Russian Roulette](https://github.com/castorr/Chatbot-Scripts/tree/master/Games#russian-roulette) 8 | - [StreamElements Roulette](https://github.com/castorr/Chatbot-Scripts/tree/master/Games#streamelements-roulette) 9 | - [Steal](https://github.com/castorr/Chatbot-Scripts/tree/master/Games#steal) 10 | 11 | ## Defuse 12 | The users will try to defuse the bomb by cutting one of the wires. Upon successfully defusing the bomb the user will gain currency, if the bomb exlpodes however... 13 | 14 | > List of customization options 15 | - Cost 16 | - Usage 17 | - Responses 18 | - Permissions 19 | - Cooldowns 20 | - Different game modes 21 | - Sound triggers 22 | - GIF/image triggers 23 | 24 | ## Free For All 25 | The users can start and join a free for all fight before the Free For All automatically closes. Everyone must pay a fee to enter but only X amount of users will come out as victorious. 26 | 27 | > List of customization options 28 | - Cost 29 | - Usage 30 | - Responses 31 | - Permissions 32 | - Cooldowns 33 | - Min/Max entries 34 | - Start delay 35 | - Max survivors 36 | 37 | ## Gamble 38 | The users can gamble their currency on the luck of the draw. Depending on what game mode that is enabled the different numbers have different outcomes. This game feature 5 different game modes! 39 | 40 | > List of customization options 41 | - Cost 42 | - Usage 43 | - Responses 44 | - Permissions 45 | - Cooldowns 46 | - Min/Max bet amount 47 | - Winning numbers 48 | - Jackpot 49 | 50 | ## Roulette 51 | The users can place a bet on the roulette board, then it's up to the roll! The user got many options to be on such as, Odd, Even, High, Low, Dozen 1-3, Column 1-3, Basket, Black, Red, Green, Zero or any number 0-36 52 | 53 | > List of customization options 54 | - Cost 55 | - Usage 56 | - Responses 57 | - Permissions 58 | - Cooldowns 59 | - Min/Max bet amount 60 | 61 | ## Russian Roulette 62 | Users spins the chamber on the revolver and pulls the trigger. Either they survive or they don't 63 | 64 | > List of customization options 65 | - Cost 66 | - Usage 67 | - Responses 68 | - Permissions 69 | - Cooldowns 70 | - Timeout length 71 | - Currency on death/surviving 72 | 73 | ## StreamElements Roulette 74 | A replica of the roulette game found in the StreamElements bot. 75 | 76 | > List of customization options 77 | - Cost 78 | - Usage 79 | - Responses 80 | - Permissions 81 | - Cooldowns 82 | 83 | ## Steal 84 | Users try to steal points from someone, with the risk of getting caught and losing points instead. 85 | 86 | > List of customization options 87 | - Cost 88 | - Usage 89 | - Responses 90 | - Permissions 91 | - Cooldowns 92 | - Min/Max steal amount 93 | - Timeout on failed steal 94 | -------------------------------------------------------------------------------- /Games/Roulette/README.txt: -------------------------------------------------------------------------------- 1 | ##################### 2 | # Gamble Minigame # 3 | ##################### 4 | 5 | Description: Allow users to be on the roulette wheel. 6 | Made By: Castorr91 7 | Website: https://www.twitch.tv/castorr.91 8 | 9 | ##################### 10 | # Versions # 11 | ##################### 12 | 1.1.3 13 | - Hotfix for mixer usernames 14 | 15 | 1.1.2 16 | - Added Mixer support 17 | - Code overhaul (added functions) 18 | 19 | 1.1.1 20 | - Updated to work with Youtube 21 | 22 | 1.1.0 23 | - Added usage option 24 | - Fixed permission handling 25 | - Complete code overlook 26 | 27 | 1.0.0.0 28 | - Initial release 29 | 30 | ##################### 31 | # Usage # 32 | ##################### 33 | This is using default values, if commandname is changed you use that instead. 34 | 35 | !roulette