Skip to content

Let approved plugin developers claim a Discord role - #558

Draft
simonhamp wants to merge 1 commit into
mainfrom
plugin-dev-discord-role
Draft

simonhamp wants to merge 1 commit into
mainfrom
plugin-dev-discord-role

Conversation

@simonhamp

Copy link
Copy Markdown
Member

Developers who have had a plugin approved for the Marketplace can now claim a "Plugin Developer" role in Discord, which we'll use to gate a private channel for plugin devs. They claim it from the Discord card on the Integrations page, next to the Ultra and Early Adopter roles.

How it works

A developer is eligible if one of their plugins is currently approved, or has an Approved entry in its activity log. The log is checked because approved_at is cleared when a plugin is rejected or resubmitted, so it can't tell us whether a plugin was ever approved. Deactivating a plugin makes no difference.

The role is opt-in. Connecting Discord does not grant it, unlike Early Adopter. The developer has to press "Claim Plugin Developer Role", which needs their Discord connected and them to be in the server.

The Discord card on the Integrations page now also shows for eligible developers who have no licence.

Things to check

  • Nothing revokes the role except disconnecting Discord. A developer whose plugin is later rejected keeps it.
  • If a developer's only approved plugin is deleted, they lose eligibility, because the activity log is deleted with the plugin. They keep the role if they already claimed it.

Before deploying

  • Create the role and the private channel in Discord. The bot's role has to sit above the new role or it can't assign it.
  • Set DISCORD_PLUGIN_DEVELOPER_ROLE_ID.
  • There is one migration, adding discord_plugin_developer_role_granted_at to users.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant