Discord Scheduled Events
This app will let you schedule, run, and end Discord events using slash commands. For the purposes of this app, all events are run in a single Discord voice channel.
/createevent will create an ephemeral embed message with helpful info. It also creates 2 buttons. The Schedule button creates a modal pop up to fill in info about the event. The Get Time button opens to a Discord Time Generator website. This allows you to schedule the date in a format that will show correctly to everyone, regardless of timezones.
/startevent starts a scheduled event. This only works if the person using this command is the same who scheduled the event. Discord won't start an event before its scheduled time, so use this right on time or after.
/endevent ends a currently running scheduled event. This can be used by any person with permissions to use the command. Does not affect events created in Discord outside of this app.
There are no other dependencies for this app other than a linked Discord bot.
Autocode will create the slash commands in your server on install. If for whatever reason they aren't showing up in your server, run the
deployed.js file under
functions/events/autocode/self and Autocode will attempt to create the slash commands again.
When installing this app, you will need to assign an Environment Variable for the voice channel ID that events will take place in.
Depending on your needs, you may want to change the permissions for who is allowed to use these slash commands. You can change those in your Server Settings under Integrations and selecting your Discord bot.
Let's create an example event so you know what to expect. In my test server I'll use
/createevent to start.
I'll click the Get Time button in the ephemeral embed so I can pick a date for the event. The Discord Time Generator website let's me pick a Type for the format, but it's not relevant. Any one of them will do.
After I copy the date timecode, I'll go back to the embed and click the Schedule button. A modal pops up and I'll fill in the info for the event I want to schedule. I'll paste in my timecode and fill in the rest. By default the event is scheduled to run 60 minutes, but in practice you can run the event as long as you want. It just puts an endtime in the event description.
I'll submit my info and the embed will update to show me what I've entered. The buttons will change to Approve and Redo. If the info is correct, the Approve button creates the event in Discord. If there's something I want to change in the info, the Redo button opens a modal pop up with my previous data prefilled to make changes.
My event is scheduled with me as the host! Once it's ready to start, I'll use
/startevent and we're ready to party. Since I'm the host who scheduled the event, only I can start it.
Once the event is over, I'll use
/endevent to wrap up. This command doesn't need the host to use it to work. Anyone who has permission to use the command can end an event.
That's it! If you run into any issues, or have questions feel free to ask in the Autocode Discord server.
Happy Hacking! 😎