Spooktober Summoner
A handy Discord chat bot that can be used to hunt for exciting Trick'cord Treat avatars and more!
Background
With Halloween right around the corner everyone's mind is on trick or treating. Keeping with the spirit of the season, Discord (a popular chat service among 'the yutes') is running a month-long event called Trick'cord Treat which aims to provide a safe socially distant way to scratch the holiday itch. Users can opt-in to the service which will then generate random encounters on the chat server wherein spooky guests show up and ask for candy.
There's just one problem: these cute (and/or creepy) guests disappear as quick as they came so there is no time to admire them in all their glory!
Purpose
Enter the SPOOKTOBER SUMMONER! (street name: S32_Adjunct) This custom Discord chat bot was built from the ground up with a single purpose in mind - to hunt down and summon the various Trick'cord Treat guests at will. With its mighty grasp on the Discord API it is able to reach out into the void and pluck high quality images of the Trick'cord Treaters from the ether itself, storing them locally for adoring fans to marvel in wonder at their leisure.
Methodology
The SPOOKTOBER SUMMONER is built in Python using the Discord Bot framework. It relies on manipulation of the URLs used by the official Discord Trick'cord Treat Bot when it sends an image of a visitor. By scraping the URL for a given visitor from the official Bot e.g. https://cdn.discordapp.com/halloween-bot/Teddy-Bear.png
we see that it can be easily modified to search for other visitors stored on their server. The SPOOKTOBER SUMMONER uses this basic URL to hunt for other potential guests and create a catalogue of any it finds.
Usage
The SPOOKTOBER SUMMONER can be added to any Discord server using the standard methododolgy. Once added to the server it can be called using the following commands:
!summon help-- Explains the way to summon guests.!summon list-- Returns a list of every known guest.!summon <GUEST>-- Tries to summon the specified guest. If successful it will return the guest's picture, otherwise it will ask the user to try again. When a new guest is found it will be added to the list of known guests and have its picture downloaded for later recall.!summon add-<GUEST>-- Admin command; manually adds a guest to the list of known guests.!summon rem-<GUEST>-- Admin command; manually removes a guest from the list of known guests.
Guest images as well as the list of all known guests are persistent across sessions. I spent a long time pontificating on the best backend file system to use in order to accomplish this. In the end I had to bow to industry best practices and yeet everything into a janky .txt file.
Extra Goodies
As part of getting ready for the main show, I messed around with some other features to add to the bot. Users can type !99 to receive a random inspirational quote from the TV Show Brooklyn Nine-Nine or type !bonk @USER to send a fellow user to jail. Loudly exclaiming "BONK!" as they are sentenced to jail is optional, but recommended.
Built With
- discord
- python

Log in or sign up for Devpost to join the conversation.