Maintainer: @moussetc
This Mattermost plugin adds a /roll slash command to roll all kinds of virtual dice.
- Use
/roll helpto show examples. - Use
/roll 20,/roll d20or/roll 1D20to roll a 20-sided die:
- Use
/roll 5d6to roll five 6-sided dice:
- Use
/roll 5D6+3to roll five 6-sided dice and add 3 to the result of each dice:
- Use
/roll 5D6 +3(note the space) to roll five 6-sided dice and add 3 to the total:
- Combine different dice to roll at the same time:
/roll 5 d8 13D20to roll one 5-sided die, one 8-sided die and thirteen 20-sided dice:
- [Up to version 3.0.x] Add
sumat the end to sum results automatically:/roll 5 d8 13D20 sum. In later versions, the sum is always displayed without having to addsum.
Use the following table to find the correct plugin version for your Mattermost server version:
| Mattermost server | Plugin release | Incompatibility |
|---|---|---|
| 7.10 and higher | v3.2.x+ | ℹ️ This version might be compatible down to 6.7 versions but has only been tested on 7.10+ |
| 5.20 to 7.10 | v3.1.x+ | breaking plugin manifest change |
| 5.12 to 5.19 | v3.0.x | breaking plugin API change |
| 5.2 to 5.11 | v2.x.x | |
| 4.6 to 5.1 | v1.x.x | |
| below | not supported | plugins can't create slash commands |
Tip
This plugin was for a few years available in the official Mattermost marketplace, however the Mattermost team decided to stop hosting community plugins in the marketplace in September 2023, so however you installed your current version, you will need to follow the manual installation steps below.
- Go to the Releases page and download the
.tar.gzpackage. Supported platforms are: Linux x64, Windows x64, Darwin x64, FreeBSD x64. - Use the Mattermost
System Console > Plugins Management > Managementpage to upload the.tar.gzpackage - Activate the plugin in the
System Console > Plugins Management > Managementpage
If you are running Mattermost v5.11 or earlier in High Availability mode, please review the following:
- To install the plugin, use these documented steps
- Then, modify the config.json using the standard doc steps to the following:
"PluginSettings": {
// [...]
"Plugins": {
"com.github.moussetc.mattermost.plugin.diceroller": {
},
},
"PluginStates": {
// [...]
"com.github.moussetc.mattermost.plugin.diceroller": {
"Enable": true
},
}
}to build the plugin:
make
This will produce a single plugin file (with support for multiple architectures) for upload to your Mattermost server:
dist/com.example.my-plugin.tar.gz
If your Mattermost server is running locally, you can enable local mode to streamline deploying your plugin. Edit your server configuration as follows:
{
"ServiceSettings": {
...
"EnableLocalMode": true,
"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"
},
}and then deploy your plugin:
make deploy
You may also customize the Unix socket path:
export MM_LOCALSOCKETPATH=/var/tmp/alternate_local.socket
make deploy
If developing a plugin with a webapp, watch for changes and deploy those automatically:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make watch
Alternatively, you can authenticate with the server's API with credentials:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_USERNAME=admin
export MM_ADMIN_PASSWORD=password
make deploy
or with a personal access token:
export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make deploy
- This plugin is based of the Mattermost plugin starter template
- This project uses a dice icon provided by openclipart under the Creative Commons Zero 1.0 Public Domain License.
Feel free to create a GitHub issue or to contact me at @cmousset on the community Mattermost instance to discuss.




