A free chat bot for playing games, rolling dice, performing as a deck of cards, tracking bets with chips, and doing some math for various games. Dice Bot can be invited to any channel and is almostalways online.
v1.50d
You can use Dice Bot to help run games and use its features in your own chat channel without asking permission as long as Dice Bot is online!
(Discord Invite stuff pending) For now, it's just in the Javissoft Discord and selected others. If you're interested, reach out!
Once it's in the channel, you can experiment with Dice Bot and see if it's a good fit. If you decide you want to keep Dice Bot there, use !setstartingchannel to make sure the bot will rejoin whenever it loads. This usually happens once every 1-5 days when it disconnects from network or hosting issues.
Make sure to check out the various settings for your channel with !viewsettings to be sure Dice Bot allows the features you want. See the 'Commands' section below for a full list of commands and how to use them.
If you encounter bugs or crash the bot, please notify me. If you have any suggestions, feel free to post in the Discord!. I do not receive private messages sent to Dice Bot.
!joinchannel channel_invite_code -Requests the bot to join a channel in which you are a moderator. Send it as a private message to Dice Bot while the bot is online or use it in a channel that contains Dice Bot.
-paste in the invite code for the channel exactly as it's given when using /code in a channel after the '!joinchannel' command. Remember that to join a channel successfully, the channel must be public or you need to specifically invite the bot.
Remember, to stay in this channel whenever Dice Bot relogs you need to also use !setstartingchannel inside your channel!
Chips are stored by Dice Bot between sessions. Chips can be used for betting and given to other users who have their own chips pile. For some channels (Velvetcuff - Casino and The Grand Casino) these chips cannot be created on a whim; they have some permanence. Other channels can make it so only channel ops can create new chips and supply their own rules.
Create your own chips pile for your character by typing in !register. This supplies you with the starting chips (often 500, but in some channels it will vary or be 0). Joining a game or using !addchips will also create a chips pile for your current character, if it doesn't exist, and supply starting chips. If the channel has enabled work, you can also get free chips by doing the !work command each day.
You can use the commands under the chips section (such as !showchips ) once you have a chips pile, and you can also join games like roulette which require betting.
In many channels, you can use the !work command to get some chips for free each day. This allows you to gather chips for betting or using slots or other things without mod intervention.
In the Velvetcuff - Casino channel chips are controlled: Moderators cannot create them with !addchips. You can get chips by:
-buying chips tokens from Dice Bot on the Velvetcuff Marketplace and redeeming the code inside
-using the !buychips command
You can cash out from chips to VC$ by:
-using the !cashout command
AllowWork needs to be enabled by the channel mods to, as well as AllowChips, in order for 'work' to function. If you'd like your channel to disable even mods from being able to create chips, ask .
Note: Commands are indicated in bold underlined text for readability only. If you use a bold or underlined command in chat it will not be accepted.
These games are all fully implemented with Dice Bot, and can be played in any channel that allows games and contains Dice Bot.
In order to start a game, one player uses !joingame NAME . This creates the game 'session' and allows others to join the same game by using !joingame . There aren't any restrictions to who in a channel can join game sessions. See the directions below for handling all games, and then the list of games has specific information about each.
Note: games no longer need to include the (gameid) if the game is the only game active in your chat channel!
Commands: !helpgame (gameid) -displays the help entry for this game, including all of its specific commands and startup parameters, and default settings
-optionally, does not require (gameid) if this is the only game active in the channel.
!joingame (gameid) # -joins the session for the specified game. (the # optionally sets the game's ante in chips, if it's the first player to join)
-optionally, does not require (gameid) if this is the only game active in the channel.
!leavegame (gameid) -leaves the specified game's session.
-optionally, does not require (gameid) if this is the only game you've joined.
!cancelgame (gameid) -deletes the current session for the specified game.
-optionally, does not require (gameid) if this is the only game active in the channel.
!startgame (gameid) -starts the specified game with the current players.
-optionally, does not require (gameid) if this is the only game you've joined.
-optional parameters: keepsession (keeps all the players and the game session so it can be repeated)
-optional parameters: endsession (ends the game session after it's finished. Only valid for games that keep session by default)
!gamestatus (gameid) -show the current players, ante, and game rules for the specified game session.
!showgames -prints a list of all the currently supported games you can make with !joingame !gamesessions -shows the gamestatus of every game that currently has an active session in this channel.
!gamecommand (gameid) (command) !gc (gameid) (command) !g (gameid) (command) -performs commands specific to a particular game while it is active (see games details)
!removefromgame (gameid)(Character Name) -causes the named character to leave the game session (Channel OP only)
-optionally, does not require (gameid) if this is the only game active in the channel.
!addtogame (gameid)(Character Name) -causes the named character to join the game session (Channel OP only)
-optionally, does not require (gameid) if this is the only game active in the channel.
All games support the following commands:
!gc setante ## -sets the ante for this session to the ## listed
!gc help -shows the help dialog for this game (to list all the commands and settings)
!gc pause !gc unpause -pauses or unpauses the game (particularly important on Mafia and games that have timers)
!gc showchips -shows the current list of players in the game and their piles of chips
Any game can run !gc help to bring up the !helpgame text. Any game with flat ante betting can run
Players join and roll 1d100 to see who can get the highest. Ties are rerolled.
Supports ante for betting with chips in the channel.
!joingame highroll # split:#-# sides:# (set the ante, splits, and sides on startup)
!gc setante # (set the ante for this session)
!gc setsplit split:#-# (sets the prize split, which awards a portion of the pot to the highest rollers)
!gc setsides # (set the number of sides on the die used to roll)
Players join and a bottle spins to point at one at random.
Does not support betting with chips.
By default, Bottle Spin will keep the game session between different spins. use 'endsession' optional parameter on !startgame to cause it to end the game session after a spin.
!startgame bottlespin endsession !gc lastspin (shows the last player spun)
Players join and make bets with chips. The roulette wheel spins and determines who wins.
Players can all use different bets, there is no ante or minimum bet.
Supports betting with chips and requires it; the syntax is as follows:
!joingame roulette [#chips] [bet type] -possible bet types: black, red, green, odd, even, firsthalf, secondhalf, first12, second12, third12, #0-#36
!gc bet: add an additional bet once you're already in the game
examples:
!joingame roulette 500 black
!startgame roulette
!gc bet 500 firsthalf
Players join and one player is randomly assigned the king. The king gives a command to the other players by using numbers, without knowing who they're assigned to.
Does not support betting with chips. Chips are awarded by the king at the end of each round to players who performed their task.
By default, King's Game will keep the game session between different rounds. use 'endsession' optional parameter on !startgame to cause it to end the game session after a round.
!joingame kingsgame !gc awardpoints (player number(s)): ends the round and awards points to the specified player numbers
!gc endround: manually ends the round without awarding points
!gc showallnumbers: shows all the numbers assigned to players
Players join and play various versions of poker. Currently supports texas holdem, 5-card stud, 5-card draw, 6-10 card stud, 6-10 card draw, and dicebot holdem. The bot deals out cards and handles collecting and paying of bets, and rotating blinds.
By default, Poker Game will keep the game session between different rounds. use 'endsession' optional parameter on !startgame to cause it to end the game session after a round.
!joingame poker 500: creates session (5 card stud default) and sets ante to 500
!joingame poker 500 texasholdem: creates session and sets ante to 500, and the ruleset to texas holdem
!joingame poker blinds:500 5carddraw: creates session and sets blinds to 250 / 500, and the ruleset to 5 card draw
!joingame poker 500 7carddraw maxbet:2000: creates session and sets ante to 500, and the ruleset to 7 card draw, and the maximum bet to 2000
!joingame poker 500 smallblind:100 bigblind:1000 maxbet:10000 nocheckraise tokens dbholdem: creates session and sets ante to 500, small blind to 100, big blind to 1000, maximum bet to 10000, forbids checkraise turns, allows token betting, and the ruleset to dicebot holdem
!startgame: deals every player's hand and starts the round
!gc raise 500: raises the bet by 500 on your turn
!gc fold: folds and forfeits without betting more
!gc check: meet the current bet or pass
!gc allin: bet your entire chip stack
!gc forcestand: force the current player to check (vote among players)
!gc draw # #: redraw cards # and # during the draw phase
!gc keep: keep your hand during the draw phase
!gc cancelhand: cancel the current hand entirely and return everyone's bets, and reset the deck
!gc changebet #: changes the current highest bet(s) to the requested number
changing rules in poker:
!gc setrules 5carddraw: update the game rules to 5 card draw (or 5 card stud)
!gc setrules texasholdem: update the game rules to Texas Holdem
!gc setrules dbholdem: update the game rules to Dicebot Holdem (like Texas but 3 cards/ hand and show burned cards)
!gc setrules 9cardstud: update the game rules to 9 card stud (you can use any number 5-10 in the card count, or do #carddraw)
!gc setmaxbet 10000: set the maximum bet to 10000 (or any other #)
!gc setante 10000: set the ante to 10000 (or any other #)
!gc setsmallblind 1000: set the small blind to 1000 (or any other #)
!gc setbigblind 1000: set the big blind to 1000 (or any other #)
!gc setblinds 1000: set the big blind to 1000 and the small blind to 500. (default half of the big blind) (or any other #)
!gc setallowcheckraise false: update the game rules to forbid checkraise turns (only works outside betting rounds)
!gc changebet 500: set the current highest bet to 500
for token betting with Poker:
!joingame poker 500 texasholdem tokens: creates session and sets blinds to 250 / 500, and the ruleset to texas holdem, and allows token betting
!gc bettoken 1000 watch: adds a token worth 1000 chips to the betting pile named Character's watch
!gc removetokens: remove all tokens from the pot and reset chip bet piles accordingly
!gc setallowtokens on: update the rules to allow using tokens for betting
Players join and roll five dice each secretly. They take turns bluffing or telling the truth about how many dice everyone has rolled until someone challenges the bet and the dice are revealed to see who gets a penalty by being wrong.
By default, Liar's Dice will remove its own session after completing an entire game.
!joingame liarsdice (optional start parameters: # (sets ante amount), sides:# (use dice with # sides), tokens:# (set starting tokens (lives) number), sameside (allow increasing # with same side for betting), increasingside (req die face >= existing for betting), increasingnumber (req die number >= existing for betting), startDice:# (set starting dice amount to #), 1swild (a 1 counts as any #), elimination, penalty, dicepenalty, tokenpenalty (sets the starting game penalty mode) )
!gc bet 2 threes : when it is your turn, make a bet on which dice faces are showing.
!gc challenge: when it is your turn, challenge the current bet
!gc penalty die: decide your penalty after losing (in penalty mode) (die, token, strip, dare, forfeit)
!gc help: view all the commands for Liar's Dice (including different rules options when starting)
!gc wild1s: toggle whether 1s are counted as wild or not
!gc setmode (penalty option): set the loss penalty mode to: elimination, penalty, dicepenalty, tokenpenalty
!gc newround: start a new round after one finishes with someone getting a penalty
!gc shuffleplayers: change the order of players to a new random one
!gc forcepenalty die: force the current penalty player to choose a die type penalty
!gc removedie (PlayerName): remove a die from the player specified
!gc adddie (PlayerName): add a die to the player specified
!gc removetoken (PlayerName): remove a token from the player specified
!gc addtoken (PlayerName): add a token to the player specified
!gc setstartdice #: set the starting dice for every player to #
!gc setsides #: set the sides used on dice to #
!gc setstartingtokens #: set the starting tokens for every player to #
Players join and battle by rolling smaller and smaller dice during roleplay. The first player to roll a 1 loses.
By default, SlamRoll will remove its own session after completing an entire game.
!joingame slamroll: (optional parameters set by first player to join: # (sets ante) SingleSlam RerollInit Lives# NaturalTwos)
!startgame slamroll !gc attack: perform an attack on your turn
!gc slam: perform a powerful slam attack on your turn
!gc lightattack: perform a less damaging attack on your turn
!gc pass: pass your turn without performing an attack
!gc help: view all the commands for SlamRoll (there are some not shown here)
!gc setlives # (player name): set the number of lives for one player (or yourself, if no player name given)
!gc sethealth # (player name): set the health amount for one player (or yourself, if no player name given)
!gc setgrowingtwos (on or off): set the game's growing two's rule on or off)
Players join and get dealt two cards each. One is hidden. Each player in sequence has a turn to draw more or stand, trying to reach as close to 21 points as possible. The game is played against the dealer, which is handled by Dice Bot using normal casino rules.
By default, Liar's Dice will remove its own session after completing an entire game.
!joingame blackjack !joingame blackjack (optional start parameters: minbet:### (set minimum bet to ###), maxbet:### (set maximum bet to ###) x1/x2/x3/x4 (set the starting number of decks to use)
!gc hit: when it is your turn, draw another card.
!gc doubledown: when it is your turn, draw 1 card, double your bet, and pass to the next player.
!gc stand: when it is your turn, pass to the next player.
!gc bet!gc changebet: update your bet amount for future hands.
!gc currentturn!gc showturn: show the current turn player.
!gc setminbet: set the minimum bet to a new number.
!gc setmaxbet: set the maximum bet to a new number.
!gc forcestand: starts a vote to force the current player to stand (if they're afk).
!gc setpushreturnschips (on or off): set whether a push returns the player's chips (or keeps them for next round).
Players join and whisper their play each round to the bot. It evaluates who wins the round and
displays it in the channel. Has multiples lives and betting support.
By default, Liar's Dice will remove its own session after completing an entire game.
!joingame rockpaperscissors (optional start parameters: ### (set ante to ###), lizardspock (activates LizardSpock mode), wheel, group (set the elimination mode to wheel or group), lives:# (set the starting lives for all players to #))
!gc setlives # (player name): set the number of lives for one player (or yourself, if no player name given)
!gc setmode (wheel OR group): set the elimination mode to wheel or group
!rock: when the bot prompts you, whisper it with this to set your sign for the turn.
!paper: when the bot prompts you, whisper it with this to set your sign for the turn.
!scissors: when the bot prompts you, whisper it with this to set your sign for the turn.
!lizard: when the bot prompts you, whisper it with this to set your sign for the turn.
!spock: when the bot prompts you, whisper it with this to set your sign for the turn.
Players play in a party game of deception, trying to deduce who secretly belongs to the mafia before it's too late and the town is doomed.
By default, Mafia will keep its session after completing an entire game.
!joingame Mafia: (optional parameters set by first player to join: # (sets ante) capture (use nonlethal verbs) lethal (use lethal verbs) revealdeath (reveal roles on death) custom / basic / random (sets role-choosing rules to custom, basic, or random)
!startgame mafia !gc vote (player name): vote to nominate (this player) as the one to go to trial
!gc guilty: vote guilty (or innocent with !gc innocent)
!usepower (player name): (whispered to the bot) uses your power with the selected player as the target
!gc help: view all the commands for Mafia (there are some not shown here)
!gc capture (on or off): sets whether or not to
!gc revealdeath (on or off): set the health amount for one player (or yourself, if no player name given)
!gc showroles: prints a list of the game's available roles
!gc endphase: instantly ends the current phase
!roll #d# - rolls # amount of dice with # sides.
optional: sort (sorts the results from lowest to highest number for dice results)
!roll #d#! - as above, but ! makes all the dice explode, rolling again on a maximum roll.
!roll #d#!# - as above, but ! makes all the dice explode, rolling again on the specified # or higher.
!roll #d#kh# !roll #d#kl# - as roll, but among the dice rolled only the highest # of results are kept (with kh), and the lowest # of results are kept (with kl)
!roll #d#rl# !roll #d#rh# - as roll, but among the dice rolled the highest # of results are removed (with rh), and the lowest # of results are removed (with rl)
!roll #d#rr# - as roll, but when rolling the specified # the die is re-rolled one time and the new result is kept.
!roll #d#co# !roll #d#cu# - as roll, but instead of the roll amounts the number of dice rolling higher than the number is shown (with co), or the number of dice rolling below the number (with cu)
Dice Bot Accepts simple math on either parameter, such as -+*/><, between terms. More than one term is allowed in a single roll command as long as there's a math operator between each item. No parenthesis are currently supported. Only one comparison operator (>
, <) is supported on each roll command and it changes the result to a true or false instead of a total.
Math is rounded to whole numbers. You can roll up to 200 dice in one roll, and roll dice with sides up to 10,000,000. The total characters of a dice and math string should be 1000 or less. Resulting totals might experience errors over 9 quintillion.
6-sided dice show eicons instead of numbers by default (might add a setting later).
Note: some characters have gold dice eicons unlocked instead. These are manually unlocked by Ambitious Syndra for supporting Dice Bot with assistance testing, winning them through a contest, or similar achievements.
To get golden dice in the VC - Casino channel, you can also trade me two Giant Golden Dice
!tipdie -tips one die from the last roll to a new number. Other players' rolls are affected, if they were the last roll in the channel. By default, changes the lowest die to the maximum value.
-optional parameters: #># (change the first die showing # to the second #)
!coinflip - flips a coin!
!drawcard -draws a card from a standard deck, or optionally from a tarot, uno, or manythings deck (when those optional parameters are added)
-optional parameters: # (draw a number between 1 and 10 cards) reveal (show what cards were drawn and your hand) s (or) secret (draw without showing others what card it was) nodeck (don't draw from channel deck) j (include jokers) burn (burn cards instead of drawing) dealer (draw cards for dealer's hand instead of yours) discard (add cards to the discard pile instead of drawing)
!resetdeck -resets this channel's deck, shuffles, and empties all hands
-optional parameters: j (include jokers) x2, x3, x4, x5, x6, double, triple, quadrouple, quintouple, sextuple (adds this many copies of the deck stacked together)
!shuffledeck -shuffles this channel's deck
-optional parameters: eh (also ends the current hand)
!shufflediscardintodeck -moves the entire discard pile into the deck and shuffles this channel's deck
-optional parameters: eh (also ends the current hand)
!endhand -empties all hands into the burn pile
!showhand -reveals your hand to the channel
-optional parameters: burn (show burned cards) dealer (show dealer's hand) discard (show the discard pile)
!showcardpiles -views your card piles in the channel (with hidden hand)
-optional parameters: all (show all piles) reveal (reveal hidden hands, including yours) burn (show burned cards) dealer (show dealer's hand) discard (show the discard pile)
!movecard (pile 1 name) (pile 2 name) -move selected cards from (pile 1) to (pile 2). Pile names are: hand, play, discard, burn, dealer, deck, hidden
-optional parameters: # (move this card position, can specify more than one) all (move the entire pile) redraw (redraw the same number of cards after moving from hand) secret (do not show what cards were moved)
These functions are less important now that !movecard does the same thing, but they still exist
!discardcard -discards all selected cards out of your hand, or the first card if none are selected.
-optional parameters: (same as !movecard)
!takefromdiscard -takes all selected cards from the discard pile to your hand, or the last card added if none are selected.
-optional parameters: (same as !movecard)
!deckinfo -shows number of cards remaining in deck, total size, and whether the deck has jokers
!playcard -moves all selected cards out of your hand into play, or the first card if none are selected.
-optional parameters: (same as !movecard)
!takefromplay -moves all selected cards out of your play field into your hand, or the first card if none are selected.
-optional parameters: (same as !movecard)
!discardfromplay -moves all selected cards from play to the discard pile, or the first card if none are selected.
-optional parameters: (same as !movecard)
!playfromdiscard -moves all selected cards from the discard field to your play field, or the first card if none are selected.
-optional parameters: (same as !movecard)
!hidecard -moves all selected cards from your hand to your hidden in play pile, or the first card if none are selected. (and keeps them hidden)
-optional parameters: (same as !movecard)
!revealcard -moves all selected cards from your hidden in play pile to your play field, or the first card if none are selected. (and reveals them)
-optional parameters: (same as !movecard)
shared optional parameters: tarot (uses channel Tarot deck) manythings (uses channel Deck of Many Things) uno (uses channel Uno deck) custom (this user's custom deck)
!rolltable (tableid) -rolls on the table specified and prints the result.
-optional parameters: nolabel (does not print the number rolled label) +# (or) -# (apply this bonus to your roll on the table), x=# y=# z=# (specify this variable to be used within the table for rolling. defaults to 0 each.)
!deletetable (tableid) -deletes the table specified from Dice Bot (available only to table owner and bot admin)
!mytables -shows a list of the table id's for this user
!showtables (optional: 'all') -shows a list of tables created by this user, or with 'all' a list of all tables created by all users
!tableinfo (tableid) -shows a table's information
!savetable (json data) -creates a new table for this user OR updates the existing table with the same name
!savetablesimple (formatted text) -creates a new table for this user OR updates the existing table with the same name
!tablejson (tableid) -shows the json used to create a particular table, so you can save a different version of it or change your own table later
!generatepotion -generates a random potion and sends it to the current chat channel.
-optional parameters: nonsfw (remove nsfw potion enchanments), requirensfw (force a nsfw potion enchanment), noflavor (remove flavor based potion enchanments) secret (or) s (generate in secret and show the potion to only yourself) Potion Name (generate only this potion name)
!revealpotion -reveals your currently hidden potion to the chat channel.
!droppotion -deletes your potion currently held in this chat channel.
!generatepotioninfo -lists every potion name (suffix) that can be generated by the bot in this channel
examples:
!generatepotion
!generatepotion requirensfw noflavor
!revealpotion
!generatepotioninfo
!savecustomdeck {"DeckId":"AlphabetWithDescriptions","DeckList":"a|theletterA,b|the letter b,c|the letter c,d|the letter d,e|the letter e,f|the letter f,g|the letter g,h|the letter h,demo card longer|a demo card name that is longer than 1 letter."}
!showmonster -shows a Pathfinder 1e monster from the database of monstergenerator.javissoft.com
-optional parameters: # (the id of the monster) [name] (the name of the monster) allstats (show the long statistics printout instead of short version)
!generatemonster -creates a new Pathfinder 1e monster at random with monstergenerator.javissoft.com
-optional parameters: # (the target challenge rating) allstats (show the long statistics printout instead of short version)
!generatepotioninfo -lists every potion name (suffix) that can be generated by the bot in this channel
!register -creates a pile of chips for this user. (!addchips also does this)
!bet # -moves # chips from your pile to the pot.
-optional parameters: all (bets all your chips)
!claimpot -takes the current pot and adds it to your chips total.
-optional parameters: # (specifies how many chips to take), half (take half the pot), third (take a third of the pot)
!addchips # -adds # chips to your pile (often requires channel op)
-optional parameters: NAME (specifies the user to give the chips to)
!removechips # -removes # chips from your pile
!showchips -shows your chips pile to the channel
-optional parameters: all (shows all chips piles in the channel), secret (send a private message with your chip pile amount), pot (shows the pot's chips), playerName (shows the given player's pile instead of yours), top10, top50, top100 (shows the piles with the most chips in this channel ranked and sorted in order), [channel /code paste] (shows the chips for this channel while sending a private message to the bot)
!removepile -removes your chips pile from the channel (deletes it)
!givechips # (user name) -gives the specified # of chips to the user listed. They must have a pile already. Must be used in this command order.
!takechips # (user name) -takes the specified # of chips from the user listed. They must have a pile already. Must be used in this command order. (often requires channel op)
!redeemchips (chips code) -redeems a chips code to add more chips to your pile. (restricted chips channels like Velvetcuff Casino only)
!buychips -buys chips in the Velvetcuff Casino (only). This sends an invoice for VC$ and when accepted, grants you that many chips.
-optional parameters: # (specifies how many chips to buy - default is 2000)
!cashout -sells chips in the Velvetcuff Casino (only). This removes all your chips and sends you VC$ for the amount of chips removed.
-optional parameters: # (specifies how many chips to cash out - default is 100%)
!cancelbuychips -cancels an outstanding chips order and invoice for Velvetcuff Casino (only).
!luckforecast -shows your luck forecast for the day, as a percentage of how lucky you are. In channels with chips enabled this costs 200 chips.
!showprofile -shows your profile for this channel. Includes your name, chips total, # of times playing slots/generating potions/ and more, and your cooldowns active for slots/ work/ etc.
-optional parameters: user name
!work -works at a random job and grants you chips. Has a 20-hour cooldown.
Note: the channel must have allowwork enabled and can set workmultiplier to whatever number they like
!slots -puts in chips and spins the slots machine, which will return prize chips if you win. By default, it only allows you to spin once every 5 minutes.
-optional parameters: fruits, or melty (chooses which slots to use) x# OR #x OR # (bet multiplier, any positive number up to the channel's limit)
!slotsinfo -displays information about the slot machine.
-optional parameters: fruits (chooses which slots to use)
examples:
!slots
!slotsinfo fruits
!slots x5
!viewsettings -displays a list of all the channel settings currently used for this channel.
-optional parameters: s OR secret (instead of messaging the channel with settings output, send them to you privately)
*channel op only
!updatesetting [settingname] [true or false] -displays a list of all the channel settings currently used for this channel.
-parameters: [settingname] can be anything in viewsettings (greetnewusers, allowtablerolls, allowtableinfo, allowchips, allowchesseicons, allowchess, startupchannel, allowcustomtablerolls, allowgames, onlyopaddchips, startingchips, allowslots, removeslotscooldown, defaultslotstype, slotsmultiplierlimit, commandprefix, allowwork, workmultiplier, worktierrange, workbaseamount, usefourcolortradingcards, usetaroticons, sortcards, usedefaultpotions, potionchipscost, onlyopviewotherschips, WorkCooldownSeconds, SlotsCooldownSeconds, allownsfw, showspoilerslots, allowrpg) [true or false] can be true or false (for turning the setting on or off, respectively) [#] (for setting number settings).
>(commandprefix instead takes one character as the setting)
>(startingchips and slotsmultiplierlimit take a number as their setting input instead of true or false)
>(defaultslotstype accepts the settings: default, fruits, melty)
*channel op only
!setstartingchannel -requests that Dice Bot join this channel every time it logs in. (or removes this request if already opted in)
*channel op only
StartupChannel: Dice Bot will join this channel each time it restarts. (important to keep the bot around!) (default false) AllowTableInfo: Allow use of the !tableinfo command in this channel (default true) AllowTableRolls: Allow use of the !rolltable command in this channel (default true) AllowCustomTableRolls: Allow use of user saved tables with the !rolltable command in this channel (default true) GreetNewUsers: Whenever a new user joins the channel, Dice Bot will send: "Welcome to the channel, USERNAME!" (one per hour per person max) (default false) AllowChips: Allow the use of chips commands like !showchips and !addchips in this channel (default true) AllowSlots: Allow the use of the !slots command in this channel (default true) OnlyOpAddChips (Add Chips Restriction) Determines whether the !addchips command is restricted to channel ops or can be used by anyone. (Can also be set to Dice Bot Admin so even channel admins cannot use !addchips - consult if this is desired) (default false) StartingChips: Sets the number of chips a newly registered user begins with (default 0) RemoveSlotsCooldown: If active, the !slots command will have no cooldown (default false) DefaultSlotsType: Determines the default slot machine used with !slots command (default fruit) SlotsMultiplierLimit: Determines the maximum multiplier usable for the !slots command (default 1000) AllowGames: Allow the use of games with the !joingame command in this channel (default true) AllowChess: Allow the use of the !fen command in this channel (default true) AllowChessEicons: Display eicons for the chess !fen command in this channel (default false) CommandPrefix: Sets the prefix char used for all commands in this channel (default !) RemoveLuckForecastCooldown: If active, the !luckforecast command will have no cooldown (default false) UseFourColorTradingCards: If active, the playing cards deck will use four colors instead of two when displaying cards (default false) UseTarotIcons: If active, the tarot cards deck will use an eicon instead of a suit name when displaying cards (default false) SortCards: If active, cards in a player's hand will always be sorted (by suit and number) (default false) UseDefaultPotions: If active, the default list of about 100 potions will be added to the !generatepotion command (default true) PotionChipsCost: Determines the cost, in chips, to use the !generatepotion command (default 0) AllowWork: Allow the use of the !work command in this channel (default true) WorkMultiplier: Determines the multiplier applied to all chips awarded from the !work command (default 100) WorkTierRange: Determines the pay range of every tier of job (There are 3 tiers and 1 special tier) (default 5) WorkBaseAmount: Determines the base pay amount awarded with !work before any work tier roll (default 0)
Work chip awards follow the formula
( WorkBaseAmount + [(1d3 - 1) * WorkTierRange] + 1dWorkTierRange ) * WorkMultiplier
Special tier jobs give *4 payout
OnlyOpViewOthersChips: If active, only channel ops may use the !showchips command in public in the channel (default false) WorkCooldownSeconds: Determines the amount of seconds required between uses of the !work command for a character (default 72000) SlotsCooldownSeconds: Determines the amount of seconds required between uses of the !slots command for a character (default 300) ShowSpoilerSlots: If active, display output for the !slots command in a collapse to save chat space and hide the result (default false) AllowRpg: Allow the use of the !showmonster command in this channel (default true)
!fen (chess fen notation) -prints out a chess position from FEN notation (use 'test' to print test position)
-valid FEN notation includes all 6 parts: rn1qkb1r/ppp2p1p/3p1n2/4p3/4P1b1/2N2N2/PPPPBPPP/R1B1K2R w KQkq - 4 5
examples:
!fen test
!fen rn1qkb1r/ppp2p1p/3p1n2/4p3/4P1b1/2N2N2/PPPPBPPP/R1B1K2R w KQkq - 4 5
See the guide for more detailed information about how to add custom content like Tables, Potions, and Decks and see explanations of the various systems.
!savecustomdeck (formatted input) -saves a custom deck which can include card descriptions and a deck name
!savecustomdecksimple (formatted input) -saves a custom deck with your user with a simpler format
!deletecustomdeck -deletes your custom deck
!cardinfo (cardname) -displays a card's name, which deck it's from, and the card's description if present
!mydecks -displays your list of saved custom decks
!showdecks -displays the bot's list of decks and your own
-optional parameters: all (show every character's saved decks in a list)
!deckjson (deckid) -shows the json used to create a particular deck, so you can save a different version of it or change your own table later
examples:
!savecustomdecksimple card1, card2, card3, card4
!cardinfo card1
!deletecustomdeck
!savecustomdeck {"DeckId":"Alphabet","DeckList":"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"}
!savecustomdeck {"DeckId":"AlphabetWithDescriptions","DeckList":"a|theletterA,b|the letter b,c|the letter c,d|the letter d,e|the letter e,f|the letter f,g|the letter g,h|the letter h,demo card longer|a demo card name that is longer than 1 letter."}
Table Entry Instructions
You can create tables to use inside Dice Bot, and use with !rolltable [name] anywhere Dice Bot is in a channel.
With the !savetablesimple command, you put in your text in this format:
!savetablesimple Table Name: Item one, Item two, Item three, Item four, Item five savetablesimple's input must contain only one colon (after the table name), and one comma between each table item.
In order to use more powerful features including creating titles for each entry, rolling on other tables, adding a modifier, creating a description, and creating ranges for different table items you can save your own tables by using !savetable[formatted json of new table]
Use this json format:
{"RollBonus":0,"DieSides":15,"Name":"Test Table Name","Description":"Test table for viewing format.","TableEntries":[{"Roll":1,"Range":0,"Name":"roll1","Description":"you rolled a 1"},{"Roll":2,"Range":0,"Name":"roll2","Description":"you rolled a 2"},{"Roll":3,"Range":2,"Name":"roll3-5","Description":"you rolled a 3-5"},{"Roll":6,"Range":0,"Name":"roll6","Description":"you rolled a 6"},{"Roll":7,"Range":5,"Name":"roll7-12","Description":"you rolled a 7-12"},{"Roll":13,"Range":0,"Name":"roll13","Description":"you rolled a 13"},{"Roll":14,"Range":0,"Name":"roll14","Description":"you rolled a 14"},{"Roll":15,"Range":0,"Name":"roll15","Description":"you rolled a 15"}]}
you can make tables roll on other tables as part of a result, or make them use !roll or !drawcard:
see the testing account for further instruction on the JSON format for making a table with triggered rolls on other tables. (posting it here broke the FList character formatting code)
See the guide for more detailed information about how to add custom content like Tables, Potions, and Decks and see explanations of the various systems.
Name: 2-30 character length
Description: 0-300 character length
Table Entry Name: 0-30 character length
Table Entry Description: 0-200 character length
Additional table rolls to trigger per entry: up to 4
Each character can save up to 3 tables, and these tables can be deleted at any time or updated with a new save with the same name.
Any character can roll on your table if they have the ID, but only you can delete your own table.
Names and descriptions that are too long will be truncated automatically. Each table id will be generated automatically based on your table name. Each table id must be unique.
Tables are saved by character name. If your character changes names, your tables will no longer be alterable. Contact if you need to use an old table you can't access anymore.
Do not abuse the custom tables function. Restrict yourself to 4 tables per person (not character) and do not create obnoxious table results or formats to ensure this feature doesn't get removed or severely restricted.
!savepotion (potion JSON) -saves a new potion with the details provided that can be generated in this channel. (see example below - a potion requires a prefix and a suffix name and can be generated as either)
!showpotions -lists your custom potions by name and channel.
-optional parameters: all (lists everyone's custom potions)
!deletepotion (potion name) -deletes your custom potion with this name.
!potionjson (potion name) -shows the json used to create a particular potion, so you can save a different version of it or change your own table later
examples:
!showpotions
!deletepotion Custom
!savepotion {"suffix":"of being Custom","prefix":"Custom","explanation":"This potion sure is original","nsfw":false,"OverrideEicon":"cathi","Rarity":1}
!savepotion {"suffix":"of being Custom","prefix":"Custom","explanation":"This potion sure is original","nsfw":false, "Rarity":1}
(the second one doesn't use a custom eicon)
note: Rarity is done on a scale of 0 - 2, where 2 is common and 0 is not generated randomly.
The labels work as follows: Common 2, Uncommon 1, Rare .5, Ultra-Rare .2, Mythic .05
note 2: remove the 'OverrideEicon' field entirely to use the default random potion bottle eicons
(second savepotion)
note 3: in the explanation you can put in the following tags that will be replaced by random words
in the potion generator
#Color# > random color
#Color2# > random color
#Flavor# > random flavor
#Word# > random trigger word
#Word2# > random trigger word
#Word3# > random trigger word
... through
#Word10# > random trigger word
!help -shows command list info
!botinfo -shows bot version, creator, uptime, channels, and date info
!uptime -shows uptime info
!leavethischannel -asks Dice Bot to leave the channel the command was posted in
v1.50d
9/9/2024
added !generatemonster command
added !showmonster and !generatemonster to '!help'
added 'allowRPG' to list of settings shown in !viewsettings
changed !showmonster to show a shorter printout of monsters that's easier to read
v1.50c
8/17/2024
added the !showmonster command
added the 'allowRpg' channel setting
v1.50b
7/20/2024
fixed a bug where !generatepotion was not correctly reading requirensfw and nonsfw parameters
fixed a bug where !showchips secret was not showing the user's chips in channels with the onlyopviewotherschips setting
changed the dealer's turn output in Blackjack to have better grammar and readability
v1.50
7/13/2024
added the ability for Dice Bot to connect to discord, with all the same functionality. (Currently in testing phase so not very publicly available).
added ShowSpoilerSlots setting for channels to hide slots spins
added allowNsfw setting to channelsettings (default true)
added 'Nsfw' flag to all custom tables, potions, and decks
added the !MyDecks command to show the user's custom decks
added the ability to specify a character name besides the user for !showprofile
fixed a bug where !buychips could be used in channels that were not the VC-Casino channel
fixed a bug where !savetablesimple could save a table with a null name
fixed a bug where !savepotion could crash if there was bad json
fixed a bug where !removepile would sometimes fail to remove a user's chips pile
fixed a bug where !slotsinfo wasn't sending a message when sent as a private message
fixed a bug where !savetable and !tableinfo would try to process a null trigger and fail
fixed a bug where !showchips with a user's name wasn't showing the requested user's pile
fixed a bug where !roll would fail to find the source character under some circumstances
fixed a bug in blackjack and poker where cards drawn were not shown properly with the sorted hands setting on
changed !fen to not require a channel, and !leavethischannel to require a channel
changed potion 'kinky' data field to 'Nsfw', and 'allowlewd' to 'allownsfw' in !generatepotion settings
v1.49
4/23/2024
added WorkCooldownSeconds and SlotsCooldownSeconds settings to each channel
added a more detailed list of all of dice bot's available channel settings to the Profile under All Commands > Channel Settings
added another rare tier of jobs with !work that has a small chance of occuring and gives about 5x as much as tier 3
changed about half of the jobs available with !work to be more interesting, and added 9 jobs for tier 4
changed rockpaperscissors so that there aren't 'rounds' and instead with multiple lives, you can keep playing till 0 lives
changed the way all eicons are displayed (which has no visible effect but is noted here incase stuff breaks)
fixed a bug where sending a private message !showchips to the bot would respond in the channel
fixed a bug where a player leaving liarsdice did not show a confirmation and could fail to get removed if they had rolled dice
fixed a bug where a player leaving liarsdice wouldn't trigger the end of the game if necessary
fixed a bug where rockpaperscissors would crash if everyone lost their last life at once
v1.48b
3/15/2024
fixed a bug where melty slots was not applying the multiplier to its rewards
v1.48
3/15/2024
added another slots machine that's based on a score from reels called melty slots (Fate Themed)
added DefaultSlotsType setting (removed DefaultSlotsFruit setting) (default/ fruits / melty)
added current rules settings printout to !gamestatus of RockPaperScissors
fixed a bug where fruits slots wouldn't operate
v1.47
2/5/2024
added penalty modes to liars dice that can be specified on startup (and the setmode command) with elimination, penalty, dicepenalty, tokenpenalty. default is elimination.
added !gc setmode, !gc setturn, !gc wild1s, !gc setsides, !gc setstartingtokens commands to Liars Dice to change settings while the game is running
added 'forfeit' / 'elimination' to the list of possible penalties to choose from to liars dice
added the ability to look up !showchips with private messages to Dice Bot by providing a channel /code paste
added flavor text to attacks that deal no damage in SlamRoll
added 'pass' and 'lightattack' options for a player's turn in SlamRoll
added 'wheel' mode to rock paper scissors, allowing players to eliminate the next one after them instead of 'group' mode where all players had to avoid elimination to eliminate anyone. default is wheel mode.
added 'lizardspock' mode to Rock Paper Scissors
fixed a bug in Liar's Dice where if the game had an ante it was collected every new round
fixed a bug in Liar's Dice where a player would still roll dice if they had been eliminated
fixed a bug with rock paper scissors where the bet would be added with each new round of signs
changed Liars Dice to print the current rules information in the !gameStatus command.
changed Liars Dice to show the remaining player tokens when printing player information if relevant
changed Liars Dice to allow any dice sides amount, any starting dice amount, and any starting tokens amount between 1 and 20 with sides:# , startdice:# , and tokens:# starting parameters respectively (removed tokens toggle: Leave it at 0 starting tokens to keep them off)
changed rock paper scissors to allow any number of starting lives from 1-1000
changed rock paper scissors to set max players to 12 from 6.
v1.46
1/14/2024
added 'Pineapple' result to Fruit Slots
added 'reward' results instead of 'no high roll' results to Slots: they give out the item without a penalty
added 'top10', 'top50', 'top100' settings to !showchips to see only the highest piles (in sorted order)
added setting 'OnlyOpViewOthersChips' to optionally restrict the !showchips command for regular channel users
changed Fruits Slots to increase payouts for some results (added another tier)
changed 'SortCards' to be the default setting for new channels
v1.45
12/8/2023
added 'SortCards' channel setting to sort all the cards that show in hands or pools
added sort option to dice rolls done with !roll
added option to Blackjack to have 'push' results return chips instead of carrying them to next round (default true)
added option to enter a user's name when using !addchips instead of adding them to yourself only
fixed a bug where the maximum message length was not counted correctly for channels vs private messages
changed links in slots to replace broken imgur ones
changed d6 dice eicons to replace broken oj version that was deleted
v1.44d
9/11/2023
added !gc showchips command to all games: prints a list of the players present with their amount of chips held
added !gc changebet command to poker, to change the current bet level manually out of turn (to fix mistakes)
fixed a bug with High Roll where it wouldn't award the last place person their bet split in a game with as many bet splits as players
fixed a bug with Poker's hand evaluation where a full house wasn't detected if there were two or more pairs of two cards.
disabled the !removeallpiles command
v1.44c
8/22/2023
added the sides:# and split#-# startup options to High Roll, to change the die rolled and the bet splitting respectively
added the !gc sides and !gc split command to High Roll, to change the die rolled and the bet splitting respectively
added the HidePotionDetails field to saved potions that will make a potion hide the randomly generated potion output of their saved potion
added the OnlyShowResultDescription field to saved tables that will make the table's result only show the description of the rolled table row without the rolling / command details
changed the output of high roll to show places #1-3, and last place
changed the icon for High Roll eicons: dbhighroll1 dbhighroll2
-older release version notes can be found on profile.