GameEvent is a new feature coming to this project. It allows server owners on Discord to create "events" with a target date and set up reminders for them.
The steps involved in creating such an event are imagined to be as follows:
Navigate to the Bot Web Panel / GameEvents
Click "New Event"
Fill out information regarding the event
a. Title
b. Description
c. Image URL (Optional)
d. Target Channel
e. Target Date
f. Reminders (Up to 10 / Potentially set up cronjobs) (Optional)
g. Roles that can be signed up to for the event using emojis chosen by the event creator (e.g. DPS, Tank, Healer, etc.), and how many people there can be for each role
Submit
At this point, the event has been generated and informed users in the target channel. Now, emojis are added to the event panel depending on the roles that the event owner has set.
[ ] Web Interface
[x] New Event
[x] Title
[x] Description
[x] Image URL (Optional)
[x] Target Channel
[x] Target Date
[x] Color (Optional)
[ ] Reminders (Up to 10 / Potentially set up cronjobs) (Optional)
[x] Roles w/ emojis (Optional)
[x] "Recruiting" checkbox (Determines whether emojis are attached or not)
[x] Existing Events
[x] Delete
[x] Edit
[x] Leads to 'New Event' Modal with existing information
[x] Back-End
[x] New Event POST request
[x] Emit eventCreate
[x] Construct new GameEvent instance
[x] Post new GameEvent to target channel
[x] Add emojis for people to sign up for roles for the event
[x] Create a Discord Role with the event title and add to all members
[x] Edit Event POST request
[ ] Emit eventEdit
[ ] Replace existing GameEvent instance with new GameEvent instance, assuming any details
[x] Emit eventCreate while checking if an event exists by its ID
[x] Replace properties in existing GameEvent instance
[x] Delete Event GET request
[x] Emit eventDelete
[x] Delete GameEvent from memory and from file
[x] Delete Discord Role
[x] Stop and discard the ReactionCollector
[x] Persistence
[x] Save GameEvent to file on changes (member added/removed, etc.)
[x] Allow GameEvent to be restored on Bot Restarts
[x] User reacted with a role emoji
[x] If role capacity isn't full, Add user to GameEvent
[x] If role capacity is full, Remove user from Reaction
[x] If User reacted to multiple emoji, Add user to new role and remove user from other Reactions
[x] If associated Discord Role is deleted, Destroy the GameEvent
[x] If associated Discord Role is deleted from any Discord Member who is part of the event, Remove that user from the event
[x] If associated Discord Role is deleted from all Discord Members who are part of the event, Destroy the GameEvent
GameEvent is a new feature coming to this project. It allows server owners on Discord to create "events" with a target date and set up reminders for them.
The steps involved in creating such an event are imagined to be as follows:
At this point, the event has been generated and informed users in the target channel. Now, emojis are added to the event panel depending on the roles that the event owner has set.
eventCreate
EmiteventEdit
Replace existing GameEvent instance with new GameEvent instance, assuming any detailseventCreate
while checking if an event exists by itsID
eventDelete
ReactionCollector