Small open-source project: a Discord bot that keeps a paid role in sync with Stripe, Whop or Zapier/Make subscriptions.
Canceled members keep the role until the end of the period they paid for, and an hourly pass catches any webhook that got missed. Whop and Patreon already sync roles on their own, so the part I find most useful is the generic signed webhook: Stan Store can feed it through Zapier.
Node.js, discord.js, SQLite, 57 tests that run without a Discord token.
https://github.com/Tthanh2k6/discord-membership-bot