01
Invite & first-time setup
Add SporkMP3 from its Discord Discovery listing. During the invite, keep the requested permissions checked β the bot needs Connect and Speak for voice channels, plus Send Messages to post its player.
Once it's in, type / in any channel. If SporkMP3's commands show up in the picker, you're done β there's no configuration required to start playing.
β οΈ
Commands not appearing? Discord occasionally fails to sync the command list. Kick the bot and re-invite it β that forces a re-sync.
The fastest way, no commands at all:
- Join any voice channel.
- In a text channel, @mention SporkMP3 and attach an audio file to the same message.
- The bot joins your voice channel and starts playing.
Supported formats: MP3, WAV, OGG, FLAC, M4A, AAC, MP4, and WEBM β played back at original quality, no compression.
π‘
Attach several files to one message to queue them all at once. If a track is already playing, new files are added to the end of the queue (with autoplay on, an idle bot starts playing immediately).
Two ways to drive, use whichever you like:
- The Player Hub β buttons under the now-playing message: pause, skip, previous, shuffle. Best for everyday listening.
- Slash commands β /pause, /resume, /skip, /previous, and /stop (stops audio but keeps the queue intact).
Fine-tune the sound with /volume 0β120 and /speed 50β200 β 100 is normal for both.
04
Navigate within a track
- /forward 30 / /backward 30 β jump N seconds either direction. Great for podcasts and long mixes.
- /seek 0 3 45 β jump to an exact timestamp (hours, minutes, seconds β that's 3:45).
- /loop β repeat the current track; add a number like /loop 5 to loop a set amount of times.
- /playing β see the current track and where you are in it.
- /queue β see everything lined up, in order.
- /shuffle β randomize the upcoming tracks (the current one keeps playing).
- /seekqueue 4 β jump straight to queue position 4.
- /remove 2 β drop the track at position 2.
- /clear β wipe the whole queue.
- /disconnect β bot leaves voice and clears the queue.
π‘
The queue holds up to 500MB of audio at a time β if uploads stop being accepted, clear some tracks. The bot also leaves on its own: after the queue ends (if auto-disconnect is on), after 5 minutes alone in a voice channel, or after 3 hours of inactivity. That's normal, not a crash.
The library is permanent, per-server storage β soundboard clips, intro themes, meeting jingles β anything you'll want again without re-uploading.
- /upload airhorn with a file attached β saves it under the name "airhorn".
- /play airhorn β plays it instantly, any time, from anyone with access.
- /library β browse everything saved and check storage usage.
- /remove_sound airhorn β delete it (admins).
Each server gets 850MB of library storage. Library files survive restarts β they're stored until an admin deletes them.
By default anyone can use the bot. To tighten that up:
- /role_config add @DJ β whitelist roles; once any role is whitelisted, only those roles (and admins) can use the bot.
- /blacklist add @user β block a specific person, whitelist or not.
- /autoplay β toggle whether uploads start playing immediately.
- /autodisconnect β toggle leaving when the queue ends.
- Restrict which channels commands work in from the bot's settings panel.
- /health β check bot status if something feels off.
Admins always retain full access regardless of whitelist and blacklist settings.
Ready to try it? Something not covered here is probably in the FAQ.
Add SporkAlerts from its Discord Discovery listing. Keep the requested permissions checked β it needs Send Messages, Embed Links, and Attach Files to deliver your schedules.
When the bot joins, it posts a welcome panel where an administrator can configure two things:
- Server timezone β every schedule's times are interpreted in it. Set it with the panel or /config timezone, which autocompletes IANA names as you type (e.g. America/Chicago).
- Configurator roles β which roles besides admins can manage schedules (more in step 6).
Missed the welcome message? Run /config setup to reopen the same panel anytime (admin only).
π‘
Set the timezone before creating anything. "Every day at 9 AM" means 9 AM in the server timezone β for everyone, no matter where they live.
02
Create a schedule with /sched create
Run /sched create and a wizard panel opens β everything on one screen, filled in any order using dropdowns and buttons:
TypeΒ·
ChannelΒ·
Messageβ¦Β·
Timingβ¦Β·
Pingsβ
β
Create
- Type β pick Recurring or Event reminder (the difference is step 3).
- Channel β a dropdown of channels the schedule will post in.
- Messageβ¦ β opens a form for the message text, an optional name (like movie-night-reminders β makes the schedule easy to find later), and an embed title.
- Timingβ¦ β opens the timing panel for your chosen type.
- Pings β optional dropdowns to pick a role and/or user to mention each time it fires.
- β
Create β the panel shows a live summary of everything you've set; hit Create when it looks right. The schedule is live immediately.
β οΈ
Want an image in the post? Attach it when you run the command: /sched create image:<file> (up to 8 MB). Discord forms can't accept file uploads mid-wizard, so the image rides along with the command itself.
03
Recurring vs. event reminders
Recurring fires on an interval, forever or until a cap. In the timing panel, pick a mode and set the numbers:
- Fixed interval β every N minutes (60 = hourly, 1440 = daily).
- Random interval β a random gap between your min and max each time, so posts feel less robotic.
- First-send delay β optionally wait before the first post instead of starting a full interval out.
- Stop after N sends β leave blank for unlimited, or set a cap for countdowns and limited-run campaigns. The schedule disables itself when the cap is reached.
Event reminder ramps up toward a specific target time β one schedule, several reminders, no math:
- Smart β 6 reminders: 7 days, 1 day, 6 hours, 1 hour, 15 minutes before, and at the event.
- Minimal β 3 reminders: 1 day, 1 hour before, and at the event.
- Custom β your own offsets, written like 7d,3d,1d,1h,15m,0. Offsets already in the past are skipped automatically.
Event reminders can also recur: fire once, daily, weekly, or on custom days of the week β perfect for a standing Friday event with the full reminder ramp every week.
π‘
Recurring posts firing more than a few times a day get tuned out fast. For anything informational, daily or weekly is usually the sweet spot.
04
Embeds, images & variants
- Embed builder β hit πͺ§ Embed builderβ¦ in the wizard to turn the post into a styled card: set the title, description, and accent color (hex like #7c3aed), with a live preview as you go. One button turns embed mode back off.
- Images β attached at /sched create time (see step 2); posted every time the schedule fires.
- Variants β give one schedule multiple versions of its content so repeat posts don't read copy-pasted. Add text variants from /sched list β π Variants; add image variants with /sched add_variant (name or ID of the schedule, plus the image and optional text).
β οΈ
To ping roles that aren't "mentionable by everyone", the bot needs the Mention All Roles permission. If your role pings show as plain text instead of notifying, that's the missing piece.
05
Manage with /sched list
/sched list opens the management panel: pick any schedule from the dropdown and its full status appears β where it posts, when it fires next, how many times it's fired. Then use the action buttons:
- ποΈ Preview β see exactly what the schedule will post, without waiting for it to fire.
- π₯ Fire now β send it immediately. The best way to test a new schedule.
- βοΈ Edit β change the name, message, interval, max fires, or target time of a live schedule.
- βΈοΈ Pause / βΆοΈ Resume β stop a schedule temporarily without losing its configuration.
- π Variants β add and remove message variants.
- ποΈ Cancel β permanently delete the schedule (with an are-you-sure confirmation). Its data and images are removed immediately.
π‘
Pause and Cancel are different: Pause keeps everything and can be undone with one click; Cancel is permanent deletion with no undo. Each server can run up to 15 schedules at once β the list header shows your count.
You don't have to run every announcement yourself. In /config setup, admins can grant configurator roles β give your @Events team a configurator role, and they can create and manage schedules without needing any Discord admin powers.
- Admins always have full access to every schedule and the config panel.
- Configurator roles can use /sched create, /sched list, and /sched add_variant.
- Everyone else just sees the messages β they can't touch the configuration.
One thing to remember: per the Terms, admins are responsible for what their delegated users schedule. Grant configurator roles to people you trust.
- Test with Fire now. After creating a schedule, fire it once from /sched list to see the real post in the real channel β much better than waiting for the clock.
- Name your schedules. The optional name in the Message form makes them easy to spot in the list and to reference in /sched add_variant.
- Wrong fire times? It's almost always the server timezone. Check /config setup first.
- Schedule didn't post? Verify the bot still has Send Messages in the target channel β channel permission changes are the usual culprit. If a channel is deleted, its schedules are disabled automatically.
- Outages happen. Schedules can be delayed during downtime or Discord issues. Configurations persist and pick back up, but keep a backup plan for genuinely time-critical messages.
- Privacy: the bot only stores what you explicitly schedule. It can't read your server's regular messages β see the privacy policy for the full list.
Set it once. Let it run. Questions? The support server is the fastest route.