30.11.2023 - In around one week, the bot will shut down indefinitely. If you care, you have the possibility to run the code yourself. Keep in mind that there are many bugs, bad solutions, spaghetti code and generally no documentations of any kind, which are issues that may have to be dealt with eventually. The more important bugs and suggestions are listed inside the linked repo as issues. There is a slim chance the bot may return in the future if time and motivation open up again, however this should not be any time soon.
- bot can't find channel emotes: If you recently renamed yourself, relog into bttv and ffz and !reload.
- bot can't find a certain sub emote: The bot does not know of any sub emotes added after June 2021 due to discontinuation of a certain API. May or may not get fixed soon. Until then, try to use the url of the emote instead of the emote name, if possible.
- using bttv/ffz links doesnt work: Make sure you link the actual image/gif itself, not the emote page.
- bot left: If the bot gets permabanned it auto-parts the channel. You can either wait for the next restart or whisper the owner.
- asciis have weird stripes: The used algorithm can sometimes produce those. Using the -tr option with a starting value of e.g. 130 can help.
Default Prefix: !
- !setBot <option> <value>
Used for bot settings in the current channel. e.g. !setBot modsCanEdit true
Available options:
option | description | value | needed privileges |
---|---|---|---|
modsCanEdit | Allows moderators to edit bot and command settings. Moderators cannot edit the following options if false. | true/false | dev, broadcaster |
prefix | Sets the command prefix. The commands ping and bot always work with ! too to check the current prefix. | a-zA-Z0-9^!?"'#$%&()[]{}=+*~-_,;@<>° 1-20 characters | dev, broadcaster, mod(!) |
whileLive | Bot wont be responsive while the channel is live if false. | true/false | dev, broadcaster, mod(!) |
gifSpam | Will stop !ascii of printing a gif in multiple frames and disable spam involving ascii commands in general if false. | true/false | dev, broadcaster, mod(!) |
banphraseAPI | If pajbot is available, you can set the banphrase API here. | the Link in form like fabzeef.feelsokaybot.com, null (to unset) | dev, broadcaster, mod(!) |
allowIfPajbotDown | If a pajbot is set and the banphrase api cannot be reached, the bot will skip the banphrase check if this option is true. | true/false | dev, broadcaster, mod(!) |
- !checkBot
Shows the current bot settings in this channel.
- !setCommand <command> <option> <value>
Sets options for commands in the current channel. e.g. !setCommand ascii cooldown 10
Availabe options:
option | description | value | needed privileges |
---|---|---|---|
cooldown | The cooldown in seconds until a command can be used again. Every command has a minimum and maximum allowed cooldown, which can be seen once a wrong value has been entered. | Number in the allowed range. | dev, broadcaster, mod(!) |
enabled | Disables a command in the current channel if false. | true/false | dev, broadcaster, mod(!) |
- !checkCommand <command>
Shows the current settings for that command.
-
!bot
Information about the bot. -
!commands
Links to the command list. -
!ping
Pings the server and returns the response time. -
!suggest <text>
Allows a user to give suggestions, feedback, channel requests etc. The command has a 60 second cooldown to combat abuse. -
!ush [username]
Shows your own or optionally someone elses amount of USh. -
!top <board>
Available leaderboards: !top ush, !top snake, !top darts -
!reload
Reloads the channel emotes in the channel the command got called from. Does not reload all twitch sub emotes. Cooldown of 10 minutes. -
!corona <country>
Made by CollapsingWave. Shows the corona cases of the given country as a graph in braille form.
Example: !corona united kingdom
-
!guess <mode> [<rounds>]
Starts a game of "Guess the emote!". The mode determines the emotes in the play set. Possible modes are channel, global, all and origin. The default and minimum amount of rounds is one, the maximum being 20.
Mode origin presents emote descriptions from Supibots $origin command. -
!guess stop
Ends a "Guess the emote!" game after the current round has finished.
-
!ttt <user> [<emote>]
Sends an invite to the provided user to play a game of tictactoe. Command will fail if user cannot be found in chat. Optional emote parameter sets the appearance of the player on the field. Default appearances are x and o. -
!accept [<emote>]
Accept an invite for a game of ttt. The accepting player can set his appearance at this point. -
!concede
Give up the current game. Doing this before the game was accepted is not counted as a loss.
[This game produces a lot of spam. For some channels it may be disabled, but it can be enabled using setCommand.]
-
!snake
Prints information about snake to the screen. This is regular snake with a frame getting send to the chat frequently. The snake is controlled by posting w, a, s and d in the chat. Collecting the appearing apples raises the score. -
!snake start normal
Starts a game of snake for the user calling it. -
!snake start chat
Starts a game everyone in chat can participate in. -
!snake start royale
Starts a "curve fever" inspired game for up to 4 players playing on the same field. -
!snake score
Shows the current snake highscore of the user calling. -
!join
Join a snake royale game when one has been started.
-
!darts
Shows availabe commands for darts. -
!darts howtoplay
Explains the procedure, rules and controls:
A hand holding an arrow will appear in a random location on the board. You have to guess now, how many dots the hand should move to bring the arrow to the middle. The input has to look like this for exmaple: 10d 5r or 2l 5u This means 10 down and 5 right or 2 left and 5 up. There has to be a space inbetween. But you have only 10 seconds to move, with your next input counting immediately. So dont waste time counting the dots, you have to estimate! -
!darts normal
A game of darts for one player only. -
!darts party
Allows up to 5 players to play a game of darts together, with players taking turns in each round. The player with the most points wins. -
!darts score
Shows the callers highscore. -
!concede
Removes the caller from the game. Leaving only 1 or less players in the game ends the game immediately. Works only if a game is running. -
!join
Join a darts party game when one has been started.
All the braille commands support the following options:
-
-h <number>
Sets the height of the ascii in pixels. One character consists of 2x4 pixels. -
-w <number>
Sets the width of the ascii in pixels. -
-r <number>
Rotates the ascii given degrees. -
-tr <number>
If set, static threshold dithering with the given number (between 0 and 255) will be used to generate the ascii. Generally, a higher value leads to a darker picture, while a lower value leads to a brighter one. -
-d
If this option is present, the ascii will be generated using the Floyd-Steinberg-Algorithm. -
-b
This option "removes" the transparent background. As default fully transparent pixel are set, with this option doing the opposite. -
-e
Instead of replacing empty characters with "⠄", this option keeps these characters: "⠀ ". -
-i
The end result will be inverted using this option. -
-g
Multiple frames of the first gif provided will be used for the ascii. -
-t <text>
This option should always be set last, since everything written after the -t will be used as text and printed on the ascii.
Example: !ascii forsenE -w 50 -h 52 -r 180
Example2: !ascii DatSheffy -tr 255 -t Who's that pokemon?
Example3: !merge forsenE_HF 🥔 -b -e -t MY LIFE IS POTATO
-
!ascii <emote>|<emoji>|<link>
Generates a braille string from the provided emote, emoji or link. -
!ra [<keyword>]
Generates a braille string of a random sub emote and prints it to chat. If a keyword is provided, a random emote containing that keyword will be picked. (If such an emote can be found).
Use the option -ffz to search for FrankerFaceZ emotes and -bttv to search for BetterTwitchTV emotes. -
!merge <emote>|<emoji>|<link> <emote>|<emoji>|<link>
Creates and prints a single braille string with the two provided pictures next to each other. Fails if one of the two pictures is invalid. -
!stack <emote>|<emoji>|<link> <emote>|<emoji>|<link>
Creates and prints a single braille string with the two provided pictures on top of each other. -
!mix <emote>|<emoji>|<link> <emote>|<emoji>|<link>
Takes the upper half of the first and the lower half of the second image and puts them together into one braille string. -
!overlay <emote>|<emoji>|<link> <emote>|<emoji>|<link>
Puts the second picture on top of the first one. Obviously works best if transparency is present. -
!mirror <emote>|<emoji>|<link>
Puts the first half next to its mirrored version. -
!antimirror <emote>|<emoji>|<link>
Puts the mirrored second half next to its mirrored version.
cool