AnkhBot R2 Documentation Bot Setup: Create a http://twitch.tv account for the bot with a name that you like Open AnkhBot Go to Credentials -> Bot Login Fill in the Username field with the bot’s Twitch Username Click Generate Oauth-Token and authorize the Bot’s Account or go to: http://tinyurl.com/AnkhBotLogin Fill in the Channel field with the channel that you want the bot to connect too Pick the port that you want the bot to connect through Click Connect to connect the bot to the specified channel Streamer Setup: Go to Credentials -> Streamer Login Fill in the Username field with your own twitch Username Click Generate Oauth-Token and authorize your own Account or go to: http://tinyurl.com/AnkhBotStreamerLogin Click Connect and you will be connected to your own channel Google Docs Setup: Click Generate Temp Token and go through the Google Authorization Process Fill the received token into the Temp Token Slot Click the Generate Oauth-Token button to convert the Temp Token to an Oauth Token Click Connect to connect to Google Drive A Popup will appear with further info if you do not possess the template document Bot Data Template: http://tinyurl.com/AnkhBotDataTemplate (rename required) Song Request Template: http://tinyurl.com/AnkhBotSongTemplate (keep name & copy) Console: In the Console you will receive all the messages from your viewers and bot. Aside from that you have a list of viewers available on the right side. In case you do not want to see it you can just drag the grey bar to the right to hide it from sight. On the bottom of the screen you can swap from the Bot to Streamer which means all the messages that you will send will be through your own account and not the Bot’s. That is if you have connected your account to AnkhBot. Dashboard: In order for the Dashboard to be accessible you have to connect your own Twitch Tv Account under Credentials -> Streamer Login. Once this is done you will have access to the Dashboard and will be able to change your Stream Title & Game, Run commercials and have the Bot Host people automatically for when you’re not streaming. Aside from that the Bot will also log new Followers, Subscribers , Hosts and Raiders (if you are using the Raider feature under Settings). These can be cleared manually by right clicking within the box and removing everything. This information also gets logged to simple .txt files which can be found in the Twitch -> Files folder of the Directory where you installed AnkhBot. !status (message) Example: Response: !game (message) Example: Response: [Editor] !game The Last of Us {user} --> Game has been updated: The Last of Us !starthost Example: Response: [Editor] !starthost {user} --> Started Automated Hosting! !stophost Example: Response: [Editor] !status [24h] Charity Stream! {user} --> Title has been updated: [24h] Charity Stream! [Editor] !stophost {user} --> Stopped Automated Hosting! Permission Levels: +a Description: Everyone +r Description: Regular +s Description: Subscriber +m Description: Moderator +e Description: Editor +c Description: Caster +i Description: Invisible +u(name) ex: +u(AnkhHeart) Description: User_Specific: AnkhHeart +r(MinRank) ex: +r(Lion) | Takes usergroup into account Description: Min_Rank: Lion +p(NumPoints) ex: +p(1000) Description: Min_Points: 1000 +h(MinHours) ex: +h(13) Description: Min_Hours: 13 Parameters: $user / $realuser Description: Displays the user of the command Example: /me steals a cookie from $user | !test Response: Bot steals a cookie from AnkhHeart $target to $target9 / $realtarget Description: Displays the targeted person. Example: /me kicks $target in the face! | !kick AnkhHeart Response: Bot kicks AnkhHeart in the face! $num to $num9 Description: Expects a valid integer Example: /me hugs $target $num2 times! | !hug AnkhHeart 10 Response: Bot hugs AnkhHeart 10 times! $msg Description: Displays the text after the command Example: $user rolls a $randnum(1,21) for $msg | !msg I wish I had 9 lives! Response: Bot: AnkhHeart rolls a 18 for I wish I had 9 lives! $randnum(max) or $randnum(min,max) Description: Displays a random number in a specified range Example: /me rolls a $randnum(1,7)! | !roll Response: Bot rolls a 3! $currencyname Description: Displays currencyname Example: In this channel you can collect $currencyname | !currency Response: Bot: In this channel you can collect Cookies! $count Description: Counts amount of times a command has been used Example: /me has $count jars of salt. | !count Response: Bot has 3 jars of salt. | Bot has 4 jars of salt. | Bot has 5 jars of salt | etc… $readline(FileLocation) Description: Reads the first line of the document Example: $readline(C:\test.txt) | !currentsong Response: Bot: Currently playing: Popskyy - Rize Up $readrandline(FileLocation) Description: Reads a random line from the file Example: /me slaps $randuser with a $readrandline(C:\test2.txt)! | !slap Response: Bot slaps AnkhHeart with a Tuna! | Bot slaps AnkhHeart with a Brick! | etc.. $readspecificline(FileLocation,LineNr) Description: Reads a specific line from the file (Starts from 0) Example: /me slaps $randuser with a $readspecificline(C:\test2.txt,3)! | !slap Response: Bot slaps AnkhHeart with a Shovel! $toppoints(num) Description: Displays top X amount of users based on points (Except Caster & Bots) Example: Top 3: $toppoints(3) | !top3 Response: Bot: Top 3: #1 Promouse (10000), #2 Gamegooru21(9999), #3 EdeMonster (9998) $tophours(num) Description: Displays top X amount of users based on hours (Except Caster & Bots) Example: Top 2: $tophours(2) | !top2 Response: Bot: Top 2: #1 KrystalRayne (123 Hrs), #2 PixelmonkeyGaming (120 Hrs) $uptime Description: Displays for how long the stream has been Live Example: The stream has been live for: $uptime | !uptime Response: Bot: The stream has been live for: 1 hour 25 minutes 58 seconds $points Description: Displays num of points of the user or target Example: $user has $points $currencyname! | !cookies or !cookies AnkhHeart Response: Bot: AnkhHeart has 1234 Cookies! $raids Description: Displays amount of times the user or target has raided the channel. Example: $user has raided the channel $raids time(s) so far! | !raids or !raids AnkhHeart Response: Bot: AnkhHeart has raided the channel 3 time(s) so far! $rank Description: Displays the users rank Example: $user is Rank: $rank | !rank or !rank AnkhHeart Response: Bot: AnkhHeart is Rank: Ninja Kitty $hours Description: Displays amount of hours the user has been in the stream for Example: $user has been in the channel for $hours total. | !Hrs or !Hrs AnkhHeart Response: Bot: AnkhHeart has been in the channel for 3.5 Hrs total. $pointspos Description: Example: Response: $hourspos Description: Example: Response: $nxtrank Description: Example: Response: $nxtrankreq Description: Example: Response: $myurl Description: Example: Response: $mygame Description: Example: Response: $mystatus Description: Example: Response: $userurl Description: Example: Response: $usergame Description: Example: Response: $userstatus Description: Example: Response: $url Description: Example: Response: $game Description: Example: Response: Displays the users Position in the ranking based on amount of points $user is ranked #$pointspos Bot: AnkhHeart is ranked #2 Displays the users Position in the ranking based on amount of hours $user is ranked #hourspos Bot: AnkhHeart is ranked #1 Displays the next rank that the user can achieve $user, The next rank that you can achieve is $nxtrank! Bot: AnkhHeart, The next rank that you can achieve is Ninja Kitty! Displays the amount of points/hours the user requires for his next rank $user, You need $nxtrankreq points to become a $nxtrank! Bot: AnkhHeart, You need 13 points to become a Ninja Kitty! Displays the twitch channel URL for your stream My channel is: $myurl. | !myurl Bot: My channel is: http://twitch.tv/AnkhHeart Displays the game you are currently playing I am playing: $mygame | !currentgame Bot: I am playing: Bloodborne Displays your stream title Status: $mystatus | !mystatus Bot: Status: [720p] Fable: The Lost Chapters [PC] Displays the user’s twitch channel URL $user’s twitch channel is: $userurl | !userurl Bot: AnkhHeart’s twitch channel is: http://twitch.tv/AnkhHeart Displays the user’s last played/current game $user’s was/is playing: $usergame | !usergame Bot: AnkhHeart was/is playing: Bloodborne Displays the user’s stream title $user’s Stream title is: $userstatus Bot: AnkhHeart’s Stream title is: [720p] Fable: The Lost Chapters [PC] Displays the target’s twitch channel URL $target can be found streaming at: $url | !url AnkhHeart Bot: AnkhHeart can be found streaming at: http://twitch.tv/AnkhHeart Displays the target’s current/last played game $target has last played: $game | !game AnkhHeart Bot: AnkhHeart has last played: Bloodborne $status Description: Displays the target’s stream title Example: $target Stream title is: $title | !title AnkhHeart Response: Bot: AnkhHeart Stream title is: [720p] Fable: The Lost Chapters [PC] $botname Description: Displays the bot’s name Example: Hello I am $botname | !name Response: Bot: Hello I am AnkhBot! $randuser Description: Displays a random user that has spoken in chat recently Example: /me gives $randuser a hug! | !hug Response: Bot gives AnkhHeart a hug! $randquote Description: Displays a random quote Example: $randquote | !randquote Response: Bot: I am not a cat! – AnkhHeart [Thief] [01/01/2015] $randextra Description: Displays a random value from the extra quote like system Example: $randextra | !randgif Response: Bot: http://randomURL.com/gif12.gif $quotes Description: Displays the amount of quotes Example: There are $quotes quotes. | !quotes Response: Bot: There are 123 quotes. $maxquotes Description: Displays the highest number quote Example: There are $quotes quotes. Ranging from 0 to $maxquotes. | !quotes Response: Bot: There are 123 quotes. Ranging from 0 to 122. $commands(NumCommandsPerPage) Description: Displays a list of all available commands for the user Example: Commands: $commands(3) | !commands or !commands (PageNumber) Response: Bot: Commands: !Cookie, !Slap, !Caster [Page 0/2] $timers(NumTimersPerPage) Description: Displays a list of all available Timers for the user Example: Timers: $timers(3) | !timers or !timers (PageNumber) Response: Bot: Timers: !ctt, !twitter, !youtube [Page 0/1] $sfx(NumCommandsPerPage) Description: Displays a list of all available SFX for the user Example: SFX: $commands(3) | !commands or !commands (PageNumber) Response: Bot: SFX: !scream, !pika, !morph [Page 0/0] $time Description: Displays the caster’s time Example: Currently it is $time over at AnkhHeart’s part of the world. Response: Bot: Currently it is 10:20 PM over at AnkhHeart’s part of the world. $readapi(URL) Description: Displays the text on the URL’s page. Max 255 characters Example: $readapi(https://nightdev.com/hosted/followers.php?channel=ankhheart&limit=5) Response: Bot: 1. BensGaming808, 2. Gamakuro, 3. GENERAL_XROS, 4. wulleybully, 5. NorQuel $savetofile ("FileLocation", "Text") $savetofile ("FileLocation","Text","SucceedMsg","FailMsg") Description: Adds to the end of the file Example: $savetofile(”C:\test.txt”,”$msg”,”Succeeded :D”,”Failed! ”) | !save I am a cat Response: Bot: Succeeded! ““ $overwritefile("FileLocation", "Text") $overwritefile ("FileLocation","Text","SucceedMsg","FailMsg") Description: Overwrites all the data in the .txt file with the added text Example: $overwritefile(”C:\test.txt”,”$msg”,”Succeeded :D”,”Failed! ”) | !save I am a cat Response: Bot: Succeeded! $countdown(12:00 AM) or $countdown(04/05/2015 12:00 AM) Description: Allows you to start a countdown from the current time to the set time/date Example: $countdown(04/05/2015 12:00 AM) | !sleep Response: Bot: 1 day 2 hours 48 minutes 36 seconds $dummy Description: This is a Dummy that will not post the message if there is nothing behind the command Example: $dummy $readrandline(C:\Users\Ankh\Blah.txt) | !8ball Am I green? Response: Bot: Perhaps?! $dummyormsg Description: This will get replaced by anything behind the command. If there is nothing it be cleared from the response message. Example: http://api.com/$dummyormsg | !test Cats or !test Response: Bot: http://api.com/Cats or http://api.com $addpoints("target","min","max","succeed","fail") Description: Adds points to a certain user and sends a message upon succeeding / failing Example: $addpoints("ankhheart","10","50","ankhheart Got $value points","Failed to give points!") | !addpoints Response: Bot: ankhheart Got 35 points $removepoints("target","min","max","succeed","fail","forceremove") Description: Removes points from a certain user and sends a message upon succeeding/failing. Force remove(true/false) removes points even if the user doesn’t have enough. Example: $removepoints("ankhheart","10","100","Removed $value points from ankhheart.","Unable To remove $value points from ankhheart!","false") |!removepoints Response: Bot: Removed 85 points from ankhheart. $givepoints("from","to","num","succeed","fail","forcegive") Description: Overwrites all the data in the .txt file with the added text Example: $givepoints("$user","$target","50","$user gave $value points to $target","$user didn't have enough points to give to $target!","false")| !give gamegooru21 Response: Bot: AnkhHeart gave 50 gamegooru21 $currentsong and $requestedby Description: Return the current song that is being played through songrequest Example: Current Song: $currentsong – Requested By $requestedby| !currentsong Response: Bot: Current song: ONE MORE FIGHT – Requested By AnkhHeart $nextsong and $nextrequestedby Description: Return the current song that is next in queue Example: Next Song: $nextsong – Requested By $nextrequestedby| !nextsong Response: Bot: Next song: ONE MORE FIGHT – Requested By AnkhHeart $setgame(game) and $settitle(title) Description: Allows you to set the game & title through a command and create presets for certain games Example: $setgame(Dungeon Defenders II) $settitle(MMO Mornings)| !dd2 Response: No response as the bot will simply update the stream & title Commands: In this section you will be able to create your Commands. There are various permission levels to choose from in case you don’t want everyone to have access to the command. In the Info field you will have to enter extra information in case you picked Min_Rank, Min_Points, Min_Hours or User_Specific as the Permission Level. If you want to prevent people from spamming the Command you can set a Cooldown on it. In the Response field you can enter whatever you want the bot to say when the Command is used. Each line will become a separate message if you end it with enter. That way you can have the bot send multiple messages when one command is used. Aside from this there are various $(parameter)’s that can be used. These can be found at PAGE X. !command add (command) (permlvl: optional) (response) Example: Response: !command edit (command) (permlvl) and/or (response) Example: Response: [Editor] !command count !cookie 10 {user} --> Successfully set the count for !cookie to 10. !enable (command) (true/false) Example: Response: [Editor] !command remove !Cookie {user} --> Successfully removed !Cookie. !command count (command) (num) Example: Response: [Editor] !command edit !Cookie +a /me ate $count cookies! {user} --> Successfully edited !Cookie. Permission: Everyone. Message: /me ate $count cookies! !command remove (command) Example: Response: [Editor] !command add !Cookie +r All your cookies belong to me! {user} --> Successfully added !Cookie. Permission: Regular - Message: All your cookies belong to me! !enable !cookie true {user} --> Succesfully enabled !Cookie [Editor] Timers: Here you will be able to create your own Timers. These are basically messages that the Bot will automatically post in your chat after an Interval of X minutes. The interval is just how long the bot will wait before posting the next timer. In case your chat is not very active you can also set the Min Chat Lines, which determines how many messages you have to receive before the bot posts a timer. This way you don’t have the bot spamming your chat with messages if no one is talking. Link Timers to Commands will create a Command for you with the same Name if it’s set to True. That way you will also be able to execute the Timer manually if you so wish. If you were to edit a Timer while this is set to true the Bot will also update the Command with the same Name and Vice Versa. !timer add (name) (permlvl: optional | Link Timers: True) (response) Example: Response: !timer edit (name) (response) Example: Response: [Editor] !timer remove !Meow {user} --> Successfully removed !Meow. !activate (name) (true/false) Example: Response: [Editor] !timer edit !Meow /me growls at $randuser {user} --> Successfully edited !Meow. Message: /me growls at $randuser !timer remove (name) / Doesn’t remove command Example: Response: [Editor] !timer add !Meow +s /me meows at $randuser {user} --> Successfully added !meow. Permission: Subscriber - Message: /me meows at $randuser !activate !Meow false {user} --> Succesfully de-activated !Cookie [Editor] Quotes: In the Quote System things that you’ve said on cast can be stored. In case you do not wish for everyone to be able to call upon a random Quote the View Permission can be changed. If you want people other than Mods to be able to Add Quotes then you can simply change the Add Permission. If people try to spam the chat with random quotes the Cooldown can be tweaked. That way people can’t simply keep calling up quotes and flooding your chat with them. !quote add (text) Example: Response: [Add Permission] !quote add “I am a cat!” - AnkhHeart {user} --> Succesfully added Quote #0: “I am a cat!” – AnkhHeart [Thief] [01/01/2015] !quote edit (id) (text) Example: Response: !quote edit 0 “I am not a cat!” – AnkhHeart [Thief] [02/01/2015] {user} --> Successfully edited Gif #0: “I am not a cat!” – AnkhHeart [Thief] [02/01/2015] !quote remove (id) Example: Response: !quote Example: Response: !quote (id) Example: Response: [Editor] [Editor] !quote remove 0 {user} --> Successfully deleted Quote #0 [View Permission] !quote Quote #2: “Duct tape solves all problems!” - AnkhHeart [View Permission] !quote 0 Quote #0: “I am not a cat!” - AnkhHeart Give Away: The Give Away System can be used to give away games/prizes to your viewers. You can either have people join the Give Away for free, have them pay a fee to enter or pay per entry. On the left side you will see all the people that are entered in the Give Away and how many times they have been entered. At the bottom of the window you will see all the messages posted by the Winner if one has been chosen. That way you’ll know if that person is still there and wishes to claim the prize or not. !giveaway start Command|Prize|MaxEntriesPerUser|EntryCost|Permission Example: Description: !giveaway start Command|Prize|Permission Example: Description: [Editor] !giveaway close Prevents anyone from entering !giveaway winner Example: Description: [Editor] !giveaway start !raffle|cookies|everyone This starts a very simple give away without tickets and entry costs !giveaway close Example: Description: [Editor] !giveaway start !raffle|cookies|1|25|regular This starts a giveaway through chat with your own settings !giveaway winner Rolls the winner for the give away [Editor] SFX System: The SFX System is an interactive system that allows anyone of your choosing to play Sound Effects. This is a great way for your viewers to interact with you and the game that you’re playing. In case you’re playing a scary game you could fill it with scary sounds and have your viewers scare you when you least expect it. In case you don’t want people to spam SFXs then a Cooldown can be set on the Command and you can also set a cost to the SFX. That way points will be deducted from the user of the Command. The User Delay is a delay that gets put on each person if they just used a SFX. This prevents them from going down the list of all your SFX and triggering each one in quick succession. If you don’t want a SFX to trigger when a single person does it then you can set the Min Votes. Which is the Minimum amount of people that have to use the command before it triggers. Currency System: If the Currency System is enabled everyone in your chat will start gaining points. These can be spend using the various other Systems in the Bot. You can use them for Give Aways, to play SFX, to Bet/Vote and during Minigames. You can create up to three ranking trees: One for Viewers, One for Subscribers and One for Moderators. These ranks can also be used for Permissions on Commands, SFX, … There is also room for customizing your own Payout amounts and Intervals. This way you have full control over how many points people accumulate in your stream. If you set the Live Payout Amount or Offline Payout amount to 0 then no points will be paid out at all. Finally at the bottom you can see everyone’s points and sort the database if you want to see who the highest ranking user in your stream is. If you have changed the Command then replace !points with your own custom currency command in the table underneath. !points add (name) (amount) Example: Response: !points remove (name) (amount) Example: Response: [Editor] !points add AnkhHeart 10000 {user} --> Successfully given AnkhHeart 10000 Points [Editor] !points remove AnkhHeart 1234 {user} --> Successfully removed 1234 Points from AnkhHeart !points add +viewers (amount) Example: !points add +viewers 100 Response: {user} --> Done giving 100 Points to everyone in chat !points remove +viewers (amount) Example: !points remove +viewers 50 Response: {user} --> Done removing 50 Points from everyone in chat !points Example: !points Response: AnkhHeart [Ninja Kitty] - Hours: 13 - Points: 1337 [Editor] [Editor] [Everyone] Minigames: Betting System: The Betting System can used to create your own Betting Options and have people spend currency on them. These can all be Saved into a Preset and loaded later in case you are playing same game again. That way you won’t have to manually fill in everything. If you wish to pick a winning option simply right click on the option and Pick it as the Winner. In case there are multiple correct Options this can be done for each one of them. Everyone that Bet on said option they will receive the Amount they Bet + a bonus of X% which you can determine with the Payout %. You can also allow people to bet on multiple options and have them spend even more points. !bet (id) (amount) Example: Response: !betting start BettingOn|PayoutPercent|Min|Max|MultiBetting|Options Example: Description: [Editor] !betting stop Prevents anyone from betting once used !betting abort Example: Description: [Editor] !betting abort Cancels betting entirely and refunds anyone that has bet !betting winner (id) Example: Description: [Editor] !betting start Will Ankh Survive?|Yes|No|Maybe This starts a custom betting session that will use the settings that have been set in the UI !betting stop Example: Description: [Editor] !betting start Will Ankh Survive?|35|1|100|true|Yes|No|Maybe This starts a custom betting session with custom settings !betting start BettingOn|Options Example: Description: [Everyone] !bet 0 1000 [None to prevent chat spam from the bot] !betting winner 0 Picks the winning option and pay out points to everyone that bet on it [Editor] Poll System: The Poll System is quite similar to the Betting System except you can set the Permission on who can Vote on said Options. In case you want people to spend points for each vote they cast this can be enabled. If you want people to vote on multiple options you can enable this and limit them by how many they can vote on as well. !vote (id) Example: Response: [Vote Permission] !vote 1 [None to prevent chat spam from the bot] !poll start VotingOn|Cost|MaxVotes|MultiVoting|Options Example: Description: !poll start VotingOn|Options Example: Description: [Editor] !poll start What Game should I play Next?|Witcher III|Pokemon This starts a custom poll that will use the settings that have been set in the UI !poll stop Example: Description: [Editor] !poll start What Game should I play Next?|10|1|false|Witcher III|Pokemon This starts a custom poll with your own settings (overwrites UI settings) [Editor] !poll stop Ends the poll and posts the result in chat Group Minigame: The Group Minigame allows you to create your own Minigame. You can start the customization by determining the Command that will be used, what the cooldown is, how many users have to enter before it starts, the Max amount someone can invest and who can Join. Aside from all those options you can set the Probability for each usergroup. This determines how much chance people within that usergroup have to survive. The Payout can also be set that way you can choose how much someone gets ontop of the amount they invested in the minigame. Finally you can fully customize all the messages that the bot will be posting in chat depending on the situation and how well/bad things are going for the ones that have joined. So if you wanted you could turn it into something completely different and not use the default Heist preset. !heist (amount) [Join Permission] Example: !heist 123 Response(1x): {user} is trying to get a team together in order to hit the nearest bank. -Everyone can Join!- In order to join type !Heist (amount). Event System: The Event System will allow the bot to automatically Greet/Shoutout the person of your choice and play a SFX if you wish. The system consists of two parts: On Join Event System & On Speak Event System. The On Join Event System will perform its action when the person of your choice joins the channel. Then it will post its message and/or play its SFX. The On Speak Event System will perform its action when the person of your choice speaks in your channel for the first time. Then it will post its message and/or play its SFX. In order for the bot to re-execute the events it has to be restarted. So the best thing is to restart it before a cast. Song Request System: The Song Request System allow you to create your own youtube playlist through the bot have them play whenever you want. Aside from that your viewers can request songs and spend currency to do so. In order for this feature to work you obviously need to have Internet Explorer & Java Installed. The bot uses the WPF Browser which is a build in browser for the .Net Framework that uses Internet Explorer. Playlists can be saved and loaded back up at any time in case you want to change it up a bit. Aside from that you can Shuffle the list. You can also Pause, Skip and even Steal songs that have been requested and add them to your own custom playlist if they’re to your liking. !songrequest (url/token) Example: Response: [Request permission] !songrequest TY9cSlOhqTk {user} --> The song Amv - [MEP] Ѕο Lοng Ѕеntimеnt 720p has been added to the queue. !skip Example: Response: [Skip permission] !skip {user} --> Your vote to skip has been successfully registered! !veto Example: Response: [Veto permission] !veto Amv - [MEP] Ѕο Lοng Ѕеntimеnt 720p has been successfully skipped! !songlist Notice: Example: Response: You have to setup the songlist command yourself. 1) To do this go to: http://tinyurl.com/AnkhBotSongTemplate 2) Make a copy of the template by going to File -> Make a Copy 3) Name it ankhbotdata_songlist and click ok 4) Click on the Share button in the top right corner 5) Click on Get a shareable link which you can find on the small pop up window 6) Copy the link and create the !songlist command by placing the link in there. 7) If you find the link to be too bulky you can use tinyurl or bitly to shorten it. Small note: You need to setup Google Doc syncing to utilize this. Info about this can be found on the 2nd page of the documentation. !songlist Songlist: https://docs.google.com/spreadsheets/d/102ucMdNATAhR4gpfkGKV5fMtYinsy2CP8AfxSED0sc/edit?usp=sharing !songblacklist add/remove (id) Example: Response: !songblacklist add dQw4w9WgXcQ {user} --> dQw4w9WgXcQ has been successfully Blacklisted! [Editors] Settings: Within the Settings there is quite a bit of customization. You can set up in Chat Notifiers which will trigger when some either Hosts, Subscribes or Follows your channel. A custom SFX can be set up for each one as well in case you want to hear when it happens. The bot also logs this information in the Dashboard section so just in case you missed a follow, host or a sub notification you can check it there. There is a small feature which allows you to log who raids your channel. In case you wish to thank them later on twitter and/or give them a shoutout for doing so. Aside from that the bot can be set to Moderate the channel for Links, overuse of Caps & Symbols and offensive Words/Sentences. This is also where you will have to add Editors. Which are people that will be able to add/edit/remove commands and the likes from chat. !reg add (name) Example: Response: [Editor] !reg add AnkhHeart {user} --> AnkhHeart has become a Regular! !reg remove (name) [Editor] Example: !reg remove AnkhHeart Response: {user} --> AnkhHeart is no longer a Regular. !permit (name) [Moderator] Example: !permit AnkhHeart Response: AnkhHeart, You have 60 seconds to post one message containing links because {user} has permitted you. !raider (name) [Moderator] Example: !raider AnkhHeart Response: AnkhHeart, Thank you for the raid! !blacklist add (name) [Moderator] Example: !blacklist add AnkhHeart Response: {user} --> AnkhHeart has been BlackListed! !blacklist remove (name) [Moderator] Example: !blacklist remove AnkhHeart Response: {user} --> AnkhHeart is no longer BlackListed! Death Counter: The Death Counter allows for an easy way for mods to log your deaths in case you’re playing a game like Dark Souls. It can also be used for general counting purposes by simply changing the command around to whichever fits. You can also change the Font, Size, Background, Foreground, Style and Weight of the visualizer. This way you can capture it and chroma key it out and show it on stream if you so wish. That way your viewers will be able to see how many times you have died up till this point. !death + Example: Response: [Moderator] !death + [Increased] Deaths: 124 !death Example: Response: [Moderator] !death [Decreased] Deaths: 123 !death (num) Example: Response: !death Example: Response: [Moderator] !death 10 [Set] Deaths: 10 [Everyone] !death Deaths: 10 Extra Quote Like System: The Extra Quote Like System is another version of the quote system which you can customize a bit more. This way you can make your own system which acts just like the Quote System. In case you do not wish for everyone to be able to call upon a random Gif the View Permission can be changed. If you want people other than Mods to be able to Add Gifs then you can simply change the Add Permission. If people try to spam the chat with random quotes the Cooldown can be tweaked. That way people can’t simply keep calling up quotes and flooding your chat with them. !gif add (text) Example: Response: [Add Permission] !gif add http://randomURL.com/randomGif.gif {user} --> Succesfully added Gif #0: http://randomURL.com/randomGif.gif !gif edit (id) (text) Example: Response: !gif edit 0 http://randomURL.com/randomGif2.gif {user} --> Successfully edited Gif #0: http://randomURL.com/randomGif2.gif !gif remove (id) Example: Response: !gif Example: Response: !gif (id) Example: Response: [Editor] [Editor] !gif remove 0 {user} --> Successfully deleted Gif #0 [View Permission] !gif Gif #2: http://randomURL.com/randomGif15.gif [View Permission] !gif 0 Gif #0: http://randomURL.com/randomGif2.gif