Skip to content

Create a manually granted trusted role #81

Description

@wiktoriavh

To show appreciation among community members, members can nominate others or themselves to become a "trusted member".

Acceptance Criteria

  • slash command to nominate a user to the trusted category, with a short reason why
    • parameters it should accept are: user, reason
    • ephemeral reply to where the nomination was posted (or failure response)
  • a channel where the nomination is shown and users can vote up and down
  • inside that nomination channel there should also be a button to nominate or get info on what nomination is
  • if someone nominates user 1, and later someone else also nominates user 1, it should instead be counted as a "upvote" to the nomination, and the reason should be appended to the current reason, divided by a pipe | or similar obvious delimiter.
  • who nominates who should be anonymous
  • a cog symbol button for moderators to click, which will reply with an ephemeral message containing who upvoted and downvoted, with the reason message next to if it exists, see below for an example.

Open Questions, to be defined

  • should in the moderation ephemeral message also the button exist to grant the nominated user the trusted role? or should it be more explicit through a command? reasoning: a button is easy to misclick on and accidentally grant it to someone.
  • should a congratulatory message in the nomination channel appear when someone was granted the trusted role?
  • what should the name be of this "trusted member"?
  • ⚠️ gather feedback on this feature by rest of moderation team

Example

this is just an example, it should be fine tuned.

the users should be tagged with the user id in code next to it.

  • 👍 user123 <userId> "i really like this person and they help a lot"
  • 👍 foo <userId>
  • 👍 bar <userId>
  • 👎 zoo <userId>

Activity

  1. added
    questionFurther information is requested
    triagedWhen an issue was triaged by the owner and given the green light for implementation.
    on Aug 16, 2026
  2. added theissue type on Aug 16, 2026
  3. changed the issue type fromtoon Aug 16, 2026
  4. removed
    triagedWhen an issue was triaged by the owner and given the green light for implementation.
    on Aug 16, 2026
  5. self-assigned this
    on Aug 16, 2026
  6. hmd-ali commented on Aug 22, 2026

    @hmd-ali
    Contributor
    • Q: should in the moderation ephemeral message also the button exist to grant the nominated user the trusted role? or should it be more explicit through a command? reasoning: a button is easy to misclick on and accidentally grant it to someone.

      A: I think we should send a message for the mods when the campaign ends, showing the results, and 2 buttons to either grant or deny the role, which will then update the original campaign message with the final result. In-between those states the original message would be have the vote buttons disabled and the messages updated to something like "Voting closed, awaiting staff review"

    • Q: should a congratulatory message in the nomination channel appear when someone was granted the trusted role?

      A After staff's decision, the original message would be changed to "User A campaigned for Role A and was/wasn't successful", and the action buttons would be removed.

    • Q: what should the name be of this "trusted member"?

      A: Associate | MVP | Endorsed | Notable (I'd pick 1 or 2)

    Regarding the example, there won't be a "reason" ( "i really like this person and they help a lot"), users bot by simply clicking the voting buttons 👍/ 👎 attached to the campaign message.

    I also don't think we really need a reason to be sent when someone campaigns, since it should be established that it's because the person campaigning is worthy of the role they're campaigning for.

    Regarding the command itself, it should accept a user and a role parameters, in case we add more roles later that are campaign-able.
    For example Assistant, or managing tags require you to have a specific role, we could add those to the campaign-able roles.

  7. hmd-ali commented on Aug 22, 2026

    @hmd-ali
    Contributor

    The campaign should also have an expiry, I think you should add that as well to the acceptance criteria, I'm thinking something like 2 weeks and the voting closes.

  8. hmd-ali commented on Aug 22, 2026

    @hmd-ali
    Contributor

    This should be a command group called campaign
    /campaign me <role>
    /campaign user <user> <role>
    /campaign role-add <role> # staff adds a role to the campaign-able roles
    /campaign role-remove <role> # staff removes a role from the campaign-able roles

    me and user should send a message component containing the campaign details, with buttons to upvote, downvote and abstain

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions