Tutorial

Cómo crear un bot paywall de Discord con Stripe

Josselin Liebe profile Josselin Liebe
Publicado el 19 mar 2025 Actualizado el 12 ago 2025

Los servidores de Discord se han convertido en más que solo plataformas de comunicación - son comunidades prósperas que a menudo proporcionan contenido y servicios valiosos. A medida que los propietarios de servidores buscan monetizar sus comunidades, implementar un sistema de paywall confiable se vuelve crucial. Aquí es donde entra nuestro bot Discord de Stripe. Es gratuito y open source.

A diferencia de soluciones tradicionales como Donatebot.io, nuestro bot se comunica directamente con Stripe, eliminando tarifas intermediarias y proporcionando una experiencia más fluida tanto para propietarios de servidores como para usuarios.

La 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' }
]

Características

Nuestro bot gratuito implementa un sistema de suscripción robusto que maneja todo desde el registro de usuarios hasta la gestión de suscripciones:

  • Asignación instantánea de roles al suscribirse
  • Sistema de verificación de email con validación regex
  • Soporte para suscripciones recurrentes y de por vida
  • Verificaciones automáticas del estado de suscripción
  • Sistema progresivo de recordatorios para suscripciones que expiran

El bot de Discord realiza verificaciones diarias para asegurar la validez de la suscripción y gestiona automáticamente los roles de usuario basándose en su estado de suscripción.

Comandos fáciles de usar

Hemos diseñado un sistema de comandos intuitivo que facilita a los usuarios gestionar sus suscripciones. El bot soporta tanto comandos slash como comandos de mensaje tradicionales:

// Ejemplo de la implementación del comando subscribe
export const commands = [
    {
        name: "subscribe",
        description: "¡Suscríbete o reclama tu suscripción activa!",
        options: [
            {
                name: "email",
                description: "Tu dirección de email",
                type: ApplicationCommandOptionType.String,
                required: false
            }
        ]
    }
];

El sistema de comandos incluye:

  • /subscribe - Vincula tu cuenta de Discord con una suscripción de Stripe
  • /status - Verifica el estado de tu suscripción
  • /cancel - Cancela tu suscripción
  • /admin-access - Gestiona acceso de administrador (solo admin)

Todos los comandos están restringidos por canal para mantener la organización del servidor. Por ejemplo, los comandos de suscripción solo pueden usarse en canales designados.

Sistema de verificación

El bot incluye un sistema de verificación sofisticado que ejecuta verificaciones diarias:

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

const getExpiredEmbed = (daysLeft: 0 | 1 | 2): EmbedBuilder => {
    const title = daysLeft > 0 ? 'Tu suscripción está por expirar' : 'Tu suscripción ha expirado';
    const embed = new EmbedBuilder()
        .setTitle(title)
        .setURL(process.env.STRIPE_PAYMENT_LINK)
        .setColor(process.env.EMBED_COLOR)
        .setDescription(`Por favor visita ${process.env.STRIPE_PAYMENT_LINK} para mantener tu acceso exclusivo! ${daysLeft > 0 ? `Tu suscripción expira en ${daysLeft * 24} horas.` : ''}`);
    return embed;
}

Características:

  • Verificación diaria del estado de suscripción
  • Sistema progresivo de recordatorios (3 días, 2 días, 1 día antes de la expiración)
  • Gestión automática de roles
  • Registro detallado de administrador
  • Soporte para suscripciones de por vida

Integración con Stripe

Nuestra integración directa con Stripe asegura un procesamiento de pagos confiable:

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

Instalación

Configurar el bot es simple:

  1. Instala Node.js y PostgreSQL
  2. Crea y configura tu base de datos
  3. Instala dependencias:
  4. Construye el proyecto:
  5. Configura tus variables de entorno:
  6. Despliega usando PM2 o tu gestor de procesos preferido

Conclusión

Nuestro bot Discord de Stripe proporciona una solución poderosa, segura y eficiente para implementar paywalls en servidores de Discord. Su integración directa con Stripe, sistema de verificación automatizado y controles administrativos completos lo convierten en una elección ideal para propietarios de servidores que buscan monetizar sus comunidades.

Puedes obtener el código fuente en este enlace.

¿Listo para convertir tu pasión en ganancias?

Únete a miles de creadores que ya están ganando dinero con Sublyna.
Comenzar gratis No se requiere tarjeta de crédito. Sin complicaciones de configuración.
Imagen CTA mujeres