One way that I have gamified contributions for a project is to have a "commit club" type system, where users commit to an organization or repository and are awarded some vanity role (Commit Club: 1, Commit Club: 25, Commit Club: 500, etc.)
This has so far been done manually.
It would be nice to automate this by having a configurable repo or organization (all repos, or certain org's repos (configurable))
Basic Example
User joins guild
User visits #commit-club, reads instructions to click link to link their GitHub and Discord accounts
Byte internally processes this new user, searches the configured repo(s), and gives the user some arbitrary commit count (from 0+)
Once the user reaches the (configurable) commit club limit, they are assigned the vanity role. e.g. User hits 5 commits, they are given the Commit Club: 5 role.
SerenityOS also does this, but I am pretty sure it's all manual
Drawbacks and Impact
It is opt in, Discord does not supply linked accounts and even then not all users link their accounts.
Unresolved questions
How? This will rely on the user opting in via some GitHub OAuth2 flow.
[!NOTE]
We utilize Polar.sh to engage in regular as well as pledge-based > sponsorship.
Additional idea (separate issue): When a user reaches some arbitrary commit club level, a configurable channel could/should receive a notification for it to celebrate
Summary
One way that I have gamified contributions for a project is to have a "commit club" type system, where users commit to an organization or repository and are awarded some vanity role (
Commit Club: 1
,Commit Club: 25
,Commit Club: 500
, etc.)This has so far been done manually.
It would be nice to automate this by having a configurable repo or organization (all repos, or certain org's repos (configurable))
Basic Example
Commit Club: 5
role.SerenityOS also does this, but I am pretty sure it's all manual
Drawbacks and Impact
It is opt in, Discord does not supply linked accounts and even then not all users link their accounts.
Unresolved questions
How? This will rely on the user opting in via some GitHub OAuth2 flow.