A Discord bot that specializes in rolling dice and calculating math. Highly configurable dice roller.

The Artificer is an open source Discord bot that specializes in rolling dice. The bot utilizes the compact Roll20 formatting for ease of use and will correctly perform any needed math on the roll (limited to basic algebra). Feel free to join the support server linked on this page if you would like to try The Artificer out!

This bot was developed to replace the Sidekick discord bot after it went offline many times for extended periods. This was also developed to fix some annoyances that were found with Sidekick, specifically its vague error messages (such as `"Tarantallegra!"`

, what is that supposed to mean) and its inability to handle implicit multiplication (such as `4(12 + 20)`

).

### Available Commands:

#### Rolling Command:

This command is what the bot is all about. Using the Roll20 format, any form of dice roll can be performed, with any needed math calculated into the results. This command can even be used as a fairly advanced calculator, supporting parenthesis, exponentials, multiplication, division, modulus, addition, and subtraction.

##### Examples:

`[[d20]]`

- Rolls a simple d20 without anything fancy
`[[4d20r1!]]`

- Rolls 4 d20 dice, rerolling any dice that land on 1, and repeatedly rolling a new d20 for any critical success rolled
`[[((d20+20) - 10) / 5]]`

- Rolls a d20 die, adds 20 to that roll, subtracts off 10, and finally divide by 5
`[[7d67d5]]`

- Rolls a 7 d67 dice, dropping the lowest 5 dice
`[[d20]] formatting [[d6]]`

- Rolls a d20 die and a d6 die and returns them with the word `formatting`

between them
`[[(32 * 12) + 5]]`

- Multiplies 32 and 12, and adds 5 to that result
- And infinitely more possibilities. Any equations and/or rolls can be thrown at the bot and it will compute it quickly. Run the [[rollhelp command for full details of this command.
- Any number of rolls may be performed in the same request, as long as they are each closed with
`]]`

### Supporting Commands:

The following commands are just some basic utility commands.

#### Examples:

`[[stats`

or `[[s`

- Shows the stats on how many servers and users are using the bot
`[[help`

or `[[?`

- Gives the full list of available commands
`[[rollhelp`

or `[[??`

- Gives the full details on the roll command, explaining the Roll20 format

## Questions? Comments? Feature suggestions?

Feel free to join the support server and I will be happy to help!