Maintainer: @moussetc
This plugin creates a slash command to display spoiler messages in a non-spoiling way.
Type /spoiler
followed by your spoiler, then post your message. (The spoiler can be on more than one line, it can contain emojis, URLs, images, etc. All will be hidden.)
Two display modes are available for spoiler messages:
-
Redacted mode:
This mode is not available on native apps like Android. Native apps do not yet support plugin customization, so for now they will use the Spoiler button mode.
Use the following table to find the correct plugin version for each Mattermost server version:
Mattermost server | Plugin release | Incompatibility |
---|---|---|
5.39.0 and higher | v3.1.x | security fixes (upgrading dependencies) |
5.14 to 5.25 | v3.x.x | relative integration URLs |
5.3 to 5.13 | v2.x.x | |
below | not supported | plugins can't create slash commands |
- Download the release package and download the
.tar.gz
package. Supported platforms are: Linux x64, Windows x64, Darwin x64, FreeBSD x64. - Use the Mattermost
System Console > Plugins > Management
page to upload the.tar.gz
package - Activate the plugin in the
System Console > Plugins > Management
page - Choose the display mode: go to the System Console > Plugins > Spoiler Command, select the mode and save the plugin's settings.
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": {
// [...]
"PluginStates": {
// [...]
"com.github.moussetc.mattermost.plugin.spoiler": {
"Enable": true,
"SpoilerMode": "button"
},
}
}
To avoid having to manually install your plugin, build and deploy your plugin using one of the following options.
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
Feel free to create a GitHub issue or to contact me at @cmousset
on the community Mattermost instance to discuss.