Discord Spoiler Bot
A Discord bot that replaces spoiler messages with GIFs that reveal content on hover.
Marking someone else's message as a spoiler
Check Discord Spoiler Bot Wiki on GitHub for full documentation. See section below for the quick start guide.
If you know what you're doing, you can jump right in. First, make sure you have all prerequisites for
node-canvas installed. Then add Discord Spoiler Bot to your npm project:
$ npm install discord-spoiler-bot --save
Now get a secret token for your bot and make sure the bot has permission to read, write and delete messages as well as upload files. Create a file called
index.js and put the following inside:
'use strict';const SpoilerBot = ;let config =token: 'you_secret_token_here';let bot = config;bot;
Launch your bot using Node.js:
$ node index.js
And you're done! Write messages of format
<topic>:spoiler:<content> to mark your own messages as spoilers, e.g.:
FMA:spoiler:Elric brothers are alchemists!
To mark someone else's messages, use
<message-id>:spoils:<topic>, but you will have to configure permissions first. See Configuration section.
Please create an issue thread here. I will try to reply and resolve issues to the best of my ability.
- It's been reported that GIFs play continuously on mobile devices instead of stopping after revealing the spoiler. Sadly this is a limitation of the mobile Discord app and I can't do anything about it.
- On Windows,
node-canvaslibrary does not support true type fonts so Discord Spoiler Bot uses the default
node-canvasfont instead of Source Sans Pro Regular.
I believe this bot is feature-complete, and from now on will most likely only fix bugs. Before adding a new feature to this bot and creating a pull request, make sure said feature makes sense in the context of Discord Spoiler Bot.
npm test and
npm run lint return no errors before making a pull request, otherwise I might reject it.
npm run test-no-delete is available for your convenience, running this command will make sure that GIFs produced during testing are not removed so you can inspect them for any artifacts.