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

EPIC: BEA Mass Verify #287

Open
4 tasks
Kaspiaan opened this issue Feb 14, 2022 · 1 comment
Open
4 tasks

EPIC: BEA Mass Verify #287

Kaspiaan opened this issue Feb 14, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request High Level Story User story, or high level task that needs breaking down new koala extension A suggested/ requested koala extension/ cog

Comments

@Kaspiaan
Copy link
Member

Kaspiaan commented Feb 14, 2022

What Koala extension does this refer to (if applicable)

Verify

Is your feature request related to a problem? Please describe.

British Esports Association (BEA) have asked us to enable a mass-verify feature that can allow for a CSV to be given and roles to be automatically assigned to each individual in that CSV. In addition, BEA also wants us to remove roles from people/de-verify people that are not in a more up-to-date CSV given.

Describe the solution you'd like

A new command that takes a CSV input in a set format. Parses the CSV, checks the given server for differences in roles. Finally makes changes found.

  • If no update is needed to a person, no functions are called.
  • If a person no longer exists in a CSV/has roles changed, these changes will be made removing roles where needed and adding new roles if needed.
  • If a person is now to the CSV, they will be verified and have appropriate roles added.
  1. Define a CSV specification for use with batch set
  2. Allow verifications for specific email instead of suffix
  3. Create k!verify batchSet for setting from a file
  4. Modify k!verify list to send a CSV or other file if there are over 20 verifications

Describe alternatives you've considered

Remove all roles in a server when given new CSV, then give back roles where needed. Very inefficient and destructive.

Additional context

  • This may work in a superficial manor similar to Git diff for finding differences.
  • This is to be reviewed by BEA for any changes needed.

Subtasks

@Kaspiaan Kaspiaan added enhancement New feature or request new koala extension A suggested/ requested koala extension/ cog labels Feb 14, 2022
@Kaspiaan Kaspiaan added this to New Issues in KoalaBot Backend via automation Feb 14, 2022
@JayDwee JayDwee removed their assignment Jun 17, 2022
@Kaspiaan
Copy link
Member Author

Part 1: Define a CSV specification for use with batch set
Part 2: Allow verifications for specific email instead of suffix
Part 3: Create k!verify batchSet for setting from a file
Part 4: Modify k!verify list to send a CSV or other file if there are over 20 verifications

  1. Define a basic header layout for the CSV, e.g. DiscordUserID, RoleID1, RoleID2, RoleID3, RoleID4. etc

  2. Alter the verify command to allow an email regex/checked from list of allowed emails instead of list fo suffixes.
    
  3. Create command 'batchSet', takes in a CSV file arguement.
     Extract the data from the CSV, look up Pandas.
     Loop over each individual in the CSV file, remove all roles then add back roles as dictated by the CSV. Alternatively, check the roles already given to said user, remove unnecessary roles and add needed ones.
    
  4. Get all members verified to the server ID.
     If the list of usernames is over 20, then compile those usernames into a CSV and post it as a reply to the command.
     If the list of usernames is under or is 20, then just post the list of usernames.
    

@JayDwee JayDwee changed the title BEA Mass Verify EPIC: BEA Mass Verify Aug 22, 2022
@JayDwee JayDwee added High Level Story User story, or high level task that needs breaking down and removed EPIC: BEA Mass Verify labels Feb 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request High Level Story User story, or high level task that needs breaking down new koala extension A suggested/ requested koala extension/ cog
Projects
No open projects
KoalaBot Backend
  
New Issues
Development

No branches or pull requests

4 participants