Tutorial

Hoe maak je een Discord paywall-bot met Stripe

Josselin Liebe profile Josselin Liebe
Gepubliceerd op 19 mrt 2025 Bijgewerkt op 12 aug 2025

Discord-servers zijn meer geworden dan alleen communicatieplatforms - het zijn bloeiende gemeenschappen die vaak waardevolle inhoud en diensten bieden. Terwijl servereigenaren hun gemeenschappen willen monetariseren, wordt het implementeren van een betrouwbaar paywall-systeem cruciaal. Hier komt onze Stripe Discord-bot om de hoek kijken. Hij is gratis en open source.

In tegenstelling tot traditionele oplossingen zoals Donatebot.io, communiceert onze bot rechtstreeks met Stripe, waardoor tussenpersoonkosten worden geëlimineerd en een meer gestroomlijnde ervaring wordt geboden voor zowel servereigenaren als gebruikers.

De Stack

[
    { "name": "Node.js", "version": "v16+" },
    { "name": "PostgreSQL", "version": "v13+" },
    { "name": "Discord.js", "version": "latest" },
    { "name": "Stripe API", "version": "latest" },
    { "name": "TypeORM", "version": "latest" },
    { "name": "Sentry", "version": "latest" }
]

Kenmerken

Onze gratis bot implementeert een robuust abonnementssysteem dat alles afhandelt, van gebruikersregistratie tot abonnementsbeheer:

  • Directe roltoewijzing na abonnement
  • E-mailverificatiesysteem met regex-validatie
  • Ondersteuning voor zowel terugkerende als levenslange abonnementen
  • Geautomatiseerde abonnementsstatuscontroles
  • Progressief herinneringssysteem voor aflopende abonnementen

De Discord-bot voert dagelijkse controles uit om de geldigheid van het abonnement te garanderen en beheert automatisch gebruikersrollen op basis van hun abonnementsstatus.

Gebruiksvriendelijke commando’s

We hebben een intuïtief commandosysteem ontworpen dat het voor gebruikers gemakkelijk maakt om hun abonnementen te beheren. De bot ondersteunt zowel slash-commando’s als traditionele berichtcommando’s:

// Voorbeeld van de implementatie van het subscribe-commando
export const commands = [
    {
        name: "subscribe",
        description: "Abonneer u of claim uw actieve abonnement!",
        options: [
            {
                name: "email",
                description: "Uw e-mailadres",
                type: ApplicationCommandOptionType.String,
                required: false
            }
        ]
    }
];

Het commandosysteem omvat:

  • /subscribe - Koppel uw Discord-account aan een Stripe-abonnement
  • /status - Controleer uw abonnementsstatus
  • /cancel - Annuleer uw abonnement
  • /admin-access - Beheer beheerderstoegang (alleen beheerder)

Alle commando’s zijn kanaalgebonden om de serverorganisatie te behouden. Abonnementscommando’s kunnen bijvoorbeeld alleen in daarvoor bestemde kanalen worden gebruikt.

Verificatiesysteem

De bot bevat een geavanceerd verificatiesysteem dat dagelijkse controles uitvoert:

export const crons = [
   '0 0 1 * * *'
];

const getExpiredEmbed = (daysLeft: 0 | 1 | 2): EmbedBuilder => {
    const title = daysLeft > 0 ? 'Uw abonnement verloopt bijna' : 'Uw abonnement is verlopen';
    const embed = new EmbedBuilder()
        .setTitle(title)
        .setURL(process.env.STRIPE_PAYMENT_LINK)
        .setColor(process.env.EMBED_COLOR)
        .setDescription(`Bezoek ${process.env.STRIPE_PAYMENT_LINK} om uw exclusieve toegang te behouden! ${daysLeft > 0 ? `Uw abonnement verloopt binnen ${daysLeft * 24} uur.` : ''}`);
    return embed;
}

Kenmerken:

  • Dagelijkse verificatie van abonnementsstatus
  • Progressief herinneringssysteem (3 dagen, 2 dagen, 1 dag voor afloop)
  • Automatisch rolbeheer
  • Gedetailleerde beheerderslogging
  • Ondersteuning voor levenslange abonnementen

Stripe-integratie

Onze directe integratie met Stripe zorgt voor betrouwbare betalingsverwerking:

export const findSubscriptionsFromCustomerId = async (customerId: string) => {
    const subscriptions = await queue.add(async () =>
        await fetch(`https://api.stripe.com/v1/subscriptions?customer=${customerId}`, {
            headers: {
                Authorization: `Bearer ${process.env.STRIPE_API_KEY}`
            }
        }).json()
    );
    return subscriptions.data || [];
}

export const findActiveSubscriptions = (subscriptions: any[]) => {
    return subscriptions.filter(sub =>
        sub.status === 'active' ||
        sub.status === 'trialing' ||
        (sub.cancel_at && sub.current_period_end > Date.now() / 1000)
    );
}

Installatie

Het instellen van de bot is eenvoudig:

  1. Installeer Node.js en PostgreSQL
  2. Maak en configureer uw database
  3. Installeer afhankelijkheden
  4. Bouw het project
  5. Configureer uw omgevingsvariabelen
  6. Implementeer met PM2 of uw favoriete procesbeheerder

Conclusie

Onze Stripe Discord-bot biedt een krachtige, veilige en efficiënte oplossing voor het implementeren van paywalls op Discord-servers. De directe integratie met Stripe, het geautomatiseerde verificatiesysteem en de uitgebreide beheerderscontroles maken het een ideale keuze voor servereigenaren die hun gemeenschappen willen monetariseren.

U kunt de broncode verkrijgen via deze link.

Klaar om van je passie winst te maken?

Sluit je aan bij duizenden makers die al geld verdienen met Sublyna.
Gratis beginnen Geen creditcard nodig. Geen gedoe met instellen.
Cta afbeelding vrouwen