Progressive-Victory / crm-bot

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

Proposals System Utility #23

Closed Lewdcario closed 6 months ago

Lewdcario commented 1 year ago
andpeterson commented 1 year ago

User Story:

  1. /proposal start - kicks off the proposal process (no restrictions on who is provided access to the command)
    • Arguments: title (its unique reference), type of proposal (campaign, petition, initiative, signature gathering...), state, scale (national, state, county, city), deadline, and additional organizers
  2. /proposal amend - allows the proposer to make an amendment to the arguments previously provided
  3. Bot responds with a link to the proposal process relevant to that type of proposal and stores the provided information and another link to a guide to fill out the proposal if it exists
  4. If the proposer is not the state lead, the state lead of that state will need to accept the proposal with /proposal accept
  5. Proposer and state lead are given the "Project Proposer" role if they don't already have it
  6. Bot posts in the #proposals channel details about the proposal
  7. /proposal doc add adds a google doc link to the proposal
  8. /proposal ready marks the proposal as ready and @ the proposal team leads (cam and zenthia)
  9. Proposal team leads either /proposal approve or /proposal reject
  10. Approved proposals get marked as active, rejected proposals get archived as rejected
  11. Active proposals continue until their deadline when they get marked as Retrospective
  12. /proposal retro add to add a retrospective doc
  13. /proposal complete To archive as completed
  14. Rejected proposals are gonna be very unlikely and there are gonna be long conversations beforehand between the teams before that decision gets made.

List of commands we'll probably need: All but start will have an argument which is the title of the proposal

andpeterson commented 1 year ago

MVP:

  1. /proposal start - kicks off the proposal process
  2. Proposer and state lead are given the "Project Proposer" role if they don't already have it
  3. Bot posts in the #proposals channel details about the proposal
  4. Proposal team leads either /proposal approve or /proposal reject
  5. /proposal complete To archive as completed
bowenjw commented 1 year ago

For the approve, reject and complete those can be buttons on the message

Lewdcario commented 1 year ago

Reliant on https://github.com/Progressive-Victory/PVSite-MVP/issues/244 to create a shared endpoint for this to hit on crm-backend

Lewdcario commented 1 year ago

To differentiate this from the previous comment, https://github.com/Progressive-Victory/PVSite-MVP/issues/244 is a different process related to voting on things, like actions. Proposals is entirely independent where people bring up things that have nothing to do with voting. These would require separate backend routes and tables set up.

This is being REWORKED by one of the directors so this ticket is currently pending for those changes to be released and finalised.

A proposal table may look like this:

id: number, pk, autoincrement
document: string, not nullable
creator: string (discord user id)