Tutorial

Come creare un bot paywall per Discord con Stripe

Josselin Liebe profile Josselin Liebe
Pubblicato il 19 mar 2025 Aggiornato il 12 ago 2025

I server Discord sono diventati più che semplici piattaforme di comunicazione: sono community fiorenti che spesso offrono contenuti e servizi preziosi. Mentre i proprietari dei server cercano di monetizzare le loro community, l’implementazione di un sistema paywall affidabile diventa cruciale. È qui che entra in gioco il nostro bot Discord Stripe. È gratuito e open source.

A differenza delle soluzioni tradizionali come Donatebot.io, il nostro bot comunica direttamente con Stripe, eliminando le commissioni intermedie e fornendo un’esperienza più snella sia per i proprietari dei server che per gli utenti.

Lo 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" }
]

Funzionalità

Il nostro bot gratuito implementa un robusto sistema di abbonamento che gestisce tutto, dalla registrazione dell’utente alla gestione dell’abbonamento:

  • Assegnazione istantanea del ruolo all’abbonamento
  • Sistema di verifica e-mail con convalida regex
  • Supporto per abbonamenti ricorrenti e a vita
  • Controlli automatizzati dello stato dell’abbonamento
  • Sistema di promemoria progressivo per gli abbonamenti in scadenza

Il bot Discord esegue controlli giornalieri per garantire la validità dell’abbonamento e gestisce automaticamente i ruoli degli utenti in base al loro stato di abbonamento.

Comandi user-friendly

Abbiamo progettato un sistema di comandi intuitivo che rende facile per gli utenti gestire i loro abbonamenti. Il bot supporta sia i comandi slash che i tradizionali comandi messaggio:

// Esempio dell'implementazione del comando subscribe
export const commands = [
    {
        name: "subscribe",
        description: "Abbonati o riscatta il tuo abbonamento attivo!",
        options: [
            {
                name: "email",
                description: "Il tuo indirizzo email",
                type: ApplicationCommandOptionType.String,
                required: false
            }
        ]
    }
];

Il sistema di comandi include:

  • /subscribe - Collega il tuo account Discord con un abbonamento Stripe
  • /status - Controlla lo stato del tuo abbonamento
  • /cancel - Annulla il tuo abbonamento
  • /admin-access - Gestisci l’accesso amministratore (solo admin)

Tutti i comandi sono limitati al canale per mantenere l’organizzazione del server. Ad esempio, i comandi di abbonamento possono essere utilizzati solo nei canali designati.

Sistema di verifica

Il bot include un sofisticato sistema di verifica che esegue controlli giornalieri:

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

const getExpiredEmbed = (daysLeft: 0 | 1 | 2): EmbedBuilder => {
    const title = daysLeft > 0 ? 'Il tuo abbonamento sta per scadere' : 'Il tuo abbonamento è scaduto';
    const embed = new EmbedBuilder()
        .setTitle(title)
        .setURL(process.env.STRIPE_PAYMENT_LINK)
        .setColor(process.env.EMBED_COLOR)
        .setDescription(`Visita ${process.env.STRIPE_PAYMENT_LINK} per mantenere il tuo accesso esclusivo! ${daysLeft > 0 ? `Il tuo abbonamento scade tra ${daysLeft * 24} ore.` : ''}`);
    return embed;
}

Caratteristiche:

  • Verifica giornaliera dello stato dell’abbonamento
  • Sistema di promemoria progressivo (3 giorni, 2 giorni, 1 giorno prima della scadenza)
  • Gestione automatica dei ruoli
  • Registrazione dettagliata per gli amministratori
  • Supporto per abbonamenti a vita

Integrazione Stripe

La nostra integrazione diretta con Stripe garantisce un’elaborazione affidabile dei pagamenti:

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)
    );
}

Installazione

Configurare il bot è semplice:

  1. Installa Node.js e PostgreSQL
  2. Crea e configura il tuo database
  3. Installa le dipendenze
  4. Compila il progetto
  5. Configura le tue variabili d’ambiente
  6. Distribuisci usando PM2 o il tuo gestore di processi preferito

Conclusione

Il nostro bot Discord Stripe offre una soluzione potente, sicura ed efficiente per implementare paywall sui server Discord. La sua integrazione diretta con Stripe, il sistema di verifica automatizzato e i controlli amministrativi completi lo rendono una scelta ideale per i proprietari di server che desiderano monetizzare le loro community.

Puoi ottenere il codice sorgente a questo link.

Pronto a trasformare la tua passione in profitto?

Unisciti a migliaia di creatori che guadagnano già con Sublyna.
Inizia gratuitamente Nessuna carta di credito richiesta. Nessuna configurazione complicata.
Immagine Cta donne