Progressive-Victory / crm-bot

Internal Discord bot for member utilities
https://progress.win/
MIT License
3 stars 4 forks source link

Event / Channel Creation #37

Closed Lewdcario closed 1 year ago

Lewdcario commented 1 year ago

A command to give State Leads the power to create channels, effectively, without granting them the dangerous permission of channel management.

  1. The user will specify an event name, a start date, an end date, what category this will be created in (these are all required), which roles to ping (they can only include the roles that they have that are below the topmost role they have, or roles pingable by everyone). The roles they pinged can have defacto access to the channel.
  2. This will also come with a start command
  3. When an event is started, the specified roles will be pinged. The channel should be made when the command is used, not when the event is started. The channel should also give the user administrative access to that channel
  4. When the event is closed with the close command OR the channel is deleted (so we will need to listen to the channelDelete event), the event (in the database) should be marked as finished. The logs of the channel will be saved and delivered to the user (the one who started the event) and also stored for historical records - archive channel. Create an env variable to hardcode the channel to post to. An extra mile could be to generate a html file to replicate Discord messages, especially since including images will probably be of import. But the bare minimum is just text file output.
  5. This command will also create a "Discord Event" - that is to say, it will utilise Discord's Events feature - up for discussion as you can't limit who sees the event
  6. Once we have a calendar up, this could post to that. Not required to ship with this ticket though.
  7. On creation of the channel, the command should include a "sensitive" boolean, which means no logs will be sent to the server channel. Optional. Default is false
  8. Comes with a voice channel on creation. Default is true. The option can be called "voice".
Lewdcario commented 1 year ago

Ticket on hold until farther direction from director team

Lewdcario commented 1 year ago

Directors have greenlighted this ticket

Imacds commented 1 year ago

Idea: Give these "channel managers" the permissions to create/manage Threads in their own channel. This could help reduce the need for multiple channels for the same event.

Potential downside: This might complicate the backup process (idk)?

Lewdcario commented 1 year ago

They already have such permissions but people want channels, don't ask me, I think threads are good enough, so it is what it is