Feature Request: When a new monthly donor is created, award them with a Discord Role. Remove said Discord Role when they're no longer a monthly donor.
Use case: As a way to thank monthly donors for their support, we'd love to award them with a Discord Role that highlights them within our community. Currently, a user must reach out to one of the mods on our Discord to ask for this role, which then requires the mod to have staff confirm the user is indeed a monthly donor. Ideally, this process would be done automatically, allowing monthly donors to enjoy their Discord Role straight away.
Suggestions: It could be possible to manage this process via Supabase Auth, which allows for someone to oAuth with their Discord. The upside of using Supabase Auth here is we'll be able to do things like password resets or create additional oAuth fairly easily. The downside is that Supabase Auth contains its own, unique database called Auth.User, which would then need to be connected back to our Database table called User. Another method would be leveraging a Discord Bot to track the status of a monthly donor and to award/remove the Discord Role based on their status.
Related files:
| File | Location|
|--|--|
| schema.prisma | prisma/ |
| create-user.ts | backed/router/user/create-user.ts |
| guildmember.tsx | src/pages/guildmember.tsx |