Skip to main content

Events

Announcing an event, running it, and ending it.

Module: events (off unless switched on)

Hosting an event​

/event start

Discord will ask you for:

BoxWhat to put in itRequired?
event_typeWhat kind of event, e.g. ssuYes
gameWhich game, e.g. tom_classicYes
noteAnything extra people should knowNo
publishShow it on the public website calendarNo. Off unless you tick it

The event type and game come from a list your admin set up. Start typing and Discord suggests them. If nothing is suggested, none have been set up yet — that's an admin job, see below.

The bot posts the announcement, pings whichever roles are configured, and puts an End button on it.

Starting one from a panel instead​

If your admin has set up a panel, you do not have to type anything. A panel is a message sitting in a channel with a button for each event your server runs often. Press the button and the event starts.

A button is a saved answer to the same boxes /event start asks for, so the event that comes out is identical: same announcement, same pings, same End button. The rules are identical too. You still need the hoster role, the cooldown still applies, and publishing to the website still only happens if the button was saved with it switched on.

Panels usually carry a Custom button at the end for the event with no preset. It asks you for the type, the game, and an optional note, and starts that instead.

Ending it​

Press End on the announcement. That's it.

  • The post is replaced with "Event Ended" and an Undo button.
  • Undo works for a short window in case you hit End by mistake.
  • The post deletes itself after a few minutes.

Putting it on the website​

Tick publish: True when you start it.

It's off unless you tick it, on purpose. Events go on a public page that anyone can see, and most internal training runs shouldn't be there.

For publishing to actually work, three things all have to be true:

  1. The calendar module is on for your server.
  2. Your server is mapped to a group on the website.
  3. You ticked publish.

If any of them isn't, the bot tells you so straight after posting, and the event still runs normally in Discord. Publishing failing never stops an event.

Cooldowns​

Most servers have a cooldown so events can't be started back to back. If you're inside it, the bot says when it ends and offers you two ways forward:

  • Request an override. Posts to the override channel (events_override_channel); staff click Approve or Deny on it.
  • Wait.

Approved once, you skip the cooldown for your next /event start only. It doesn't stay open.

Vote requests​

Separate from hosting directly: when a server has events_request_options configured, the bot can post its own message offering a small set of games as buttons, and members vote by clicking one. Once one option reaches the vote threshold, the bot starts that event automatically, as if a host had run /event start themselves. This is a background behaviour, not a command anyone runs. The settings that shape it live in Settings → Event hosting → Vote requests.

Removing someone's override restriction​

Bot owner or admin, if someone has been blocked from requesting cooldown overrides:

/eventadmin override unrestrict user: @someone

Admin setup​

A server admin does this once.

/config set key: events_channel value: #where-events-get-posted
/config set key: event_hoster_role value: @who-can-host
/config set key: events_ping_roles value: 123456,789012 (optional)
/config set key: events_color value: #ff8800 (optional)
/config set key: events_delete_minutes value: 10 (optional)
/config set key: events_cooldown_minutes value: 60 (optional, default 60)
/config set key: events_override_channel value: #override-requests (optional, needed for overrides)

Then add at least one event type and one game. Both are required before /event start has anything to offer in its dropdowns:

/eventadmin type add key: ssu display_name: "Server Start Up"
/eventadmin game add key: tom_classic display_name: "TOM Classic" game_url: https://... game_type: tom emoji: 🎮 thumbnail_url: https://... (optional)

game_type is one of tom, scpf, or external.

CommandWhat it does
/eventadmin type add <key> <display_name>Add or update a type
/eventadmin type remove <key>Remove a type
/eventadmin type listSee every type
/eventadmin game add <key> <display_name> <game_url> <game_type> <emoji> [thumbnail_url]Add or replace a game preset
/eventadmin game remove <key>Remove a preset
/eventadmin game thumbnail <key> <thumbnail_url>Update just the thumbnail
/eventadmin game listSee every preset

Building a panel​

A panel is the button version of /event start, for the events your server runs week in week out. Set the panel up once, and hosts stop typing keys.

/eventadmin panel create name: main title: "Quick Events" body: "Press one to start it."
/eventadmin panel buttonadd panel: main label: "Area-108 Riots" event_type: riot game: tom_classic emoji: 🚨 style: red
/eventadmin panel post panel: main channel: #events

name is how you refer to the panel in the other commands and nobody else sees it. title and body are what people read on the message.

Each button needs an event_type and a game that already exist, so add those first. The command refuses keys it does not recognise, which means a button that saves is a button that works.

CommandWhat it does
/eventadmin panel create <name> <title> [body] [allow_custom]Create or update a panel
/eventadmin panel buttonadd <panel> <label> <event_type> <game> [emoji] [style] [note] [publish]Add a preset button
/eventadmin panel buttonremove <panel> <label>Remove one, by its label
/eventadmin panel post <panel> <channel>Post the panel into a channel
/eventadmin panel listEvery panel, its buttons, and where it is posted
/eventadmin panel delete <panel>Delete the panel and its message

Things worth knowing:

  • style sets the button colour: blurple, grey, green, or red.
  • note and publish behave exactly as they do on /event start. A button saved with publish: True puts its events on the public calendar every time.
  • allow_custom defaults to on and adds a Custom button for events with no preset. Turn it off if you only want the presets used.
  • Adding or removing a button rewrites the posted message. You do not repost.
  • A panel holds 25 buttons, or 24 with the Custom button on.

It's not working​

When you are stuck

"Module not fully configured"

The message names the missing setting. Run /config set with that name.

"No event types configured"

Run /eventadmin type add first. Same for games.

"You need the event hoster role to start an event."

You don't have the role set in event_hoster_role. Server admins bypass this.

"Configured events channel not found."

The channel was deleted or renamed. Run /config set events_channel again pointing at the current one.

The End button does nothing

Only the host and staff can end an event. If you're neither, nothing happens.

It said "Not published"

One of the three publishing conditions above isn't met. The event itself is fine. This only affects the website.

"This preset no longer exists."

Someone removed that button but the panel message is stale. An admin can add it back with /eventadmin panel buttonadd, or reposting the panel clears it.

A panel button did nothing except an error about the hoster role or a cooldown

Panel buttons run the same checks as /event start. The button is fine; the answer is in the message it gave you, and it applies to the command too.

"Panel `x` is full"

25 buttons is the Discord ceiling, 24 when the Custom button is on. Remove one, or make a second panel.

I added a button and the panel still shows the old ones

The panel only rewrites itself if it has been posted. Run /eventadmin panel post to put it in a channel.

I ended it by accident

Press Undo. If it's already gone, start a new one.