RetroAchievements / RetroAchievements/RABot

[Feature]: Event Team command for awarding event roles to users

Open
#33 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
3
Forks
7
PR merge metrics
No merged PRs in 30d

Description

Problem or Use Case

Currently event roles can only be assigned to discord users by a small group of people on the events team. Not only this, but for events like RA Roulette, up to 200+ roles need to be manually assigned every week, which can become very tedious and time consuming.

Proposed Solution

Create a command that all event team members can use to let them assign event roles to users.

  • This would specifically be for event roles, so for now this command should only be able to assign Peaker, AotW-Winner, and Gambler roles. The ability to assign any other roles should still be restricted to users with higher administrator privileges.
  • This command should be restricted to Events Team members and anyone with higher privileges.
  • This command should also be able to take in a list of names and assign the same role to all users in the list.
  • An additional remove role command would also be beneficial. This should be able to take a list of users or the parameter “all”. All would remove the role from all users.
Alternative Solutions

No response

Command Type Preference

Slash command (/) - Preferred

Feature Scope

Team members only

Usage Examples

/assigneventrole role:AotW-Winner user(s): s0uth
Function: Assigns the AotW-Role to s0uth

/assigneventrole role:Gambler user(s):s0uth Sutarion StingX2
Function: Assigns the Gambler role to s0uth, Sutarion, and StingX2

/removeeventrole role:Peaker user(s):Drisc
Function: all parameter defaults to false so this will remove the Peaker role from Drisc

/removeeventrole role:Gambler all:true
Function: Gambler role gets removed from all users

/removeeventrole role:AotW-Winner all:true user(s):s0uth AuburnRDM
Function: all parameter takes precedence so the Aotw-Winner role gets removed from all users.

Additional Context

Sometimes the list of Gamblers includes users not on the RA Discord. If these users are put in the user(s) field then they should be ignored.

Checklist
  • I have searched existing issues to ensure this feature hasn't been requested
  • This feature would be useful to multiple users, not just me
  • I have provided clear use cases and examples

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the repository's existing slash-command handlers and event-role assignment logic. Define the supported roles, Events Team permission check, multi-user handling, unknown-user behavior, and the removal command; done means both commands enforce these rules and cover the listed usage cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authorization, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.