Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Github Collaborative Development System #1

Open
conaticus opened this issue Apr 21, 2024 · 0 comments
Open

Github Collaborative Development System #1

conaticus opened this issue Apr 21, 2024 · 0 comments
Labels

Comments

@conaticus
Copy link
Contributor

conaticus commented Apr 21, 2024

This will be a premium feature, so when we have a website it will be included in the premium package.

This feature requires a website in order to link Github users to their Github accounts. This will not be done on a per-server basis but instead each user's Github will globally be saved to the bot.

/github login

  • Opens the website and links a user's Github account to their discord account, requires them to also link their discord account first to the webstie

/addproject [url:string] [issues_channel:forum]

  • issues_channel will be designated with the /set channel command
  • Permission: Admin only
  • Creates an issues forum for that specific repository and adds that channel to the database
  • Adds a github project to the database which will then be referenced in future slash commands
  • Returns an error if the repository URL is invalid
  • Returns an error if the repository does not exist

/claim [project:option] [issue:option]

  • Requires initiator to have linked github account
  • Adds assignee to the github repository, they will automatically become owner of that issue
  • Creates a Discord thread in the designated "issue" forum and pings that user inside the thread
  • Claims an issue from a github repository to that specific user, which is stored in the database
  • Adds that user as an assignee to that issue on Github
  • If the issue is already claimed, the bot will prompt the user for whether they want to request a collaboration on that project, if they press the "Request Collaboration" button (which can only be executed by the command initiator), the issue owner will get DMed with their request, the issue owner can then either deny or accept the request with a button which will notify the user's DM with their response. If accepted, the accepted user will receive a link to the issue thread in the server, so that it can be discussed.

/transfer issue [issue:select] [user:mention OPTIONAL]

  • user:mention can be provided by admins only
  • The select only contains issues that the user has claimed, otherwise a message saying they have no issues claimed should display

On Github Issue Closed

  • Archive the created thread for that issue and delete the neccesary entries from the database

On New Commit

  • If that github user has a linked discord account, add them to the "contributor" role (if one is specified)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant