En primer lugar, me gustaría decir que sé muy poco de codificación, así que tengan paciencia conmigo aquí.
Introducción
A pesar de no saber nada de codificación, decidí hacer un bot de discordia por diversión. Tampoco tengo dinero, así que no puedo comprar ningún servidor o software sofisticado, así que comencé a hacerlo en Replit. El bot ya está listo, y en realidad no hace mucho, solo envía una inserción al ver un comando, y configuré un controlador de comandos y todo.
Problema
El problema que estoy teniendo es que sigue desconectándose. Antes se desconectaba después de unas horas, pero lo probé recientemente y se apagó en unos 20 minutos. No hay ningún error ni nada, solo cuando abro, se apaga y tengo que ejecutarlo nuevamente.
Solución de problemas
Busqué en línea, pero todos decían obtener un servidor y conectarlo a uptimerobot, o tener keepAlive(), pero ya he tenido todo esto desde el principio. Incluso revisé uptimerobot y no ha perdido la conexión ni una vez en las últimas 2 semanas.
Para probar esto, hice otro bot de Discord rápido, con solo un comando ping, y después de 3 días más o menos, aún no se ha activado. Así que estoy pensando que el problema podría ser que tengo demasiados comandos (105 para ser exactos) para que los manejen los recursos básicos de repetición, pero no estoy seguro.
Nadie ha usado el bot cuando se desconecta, así que realmente no sé qué hacer.
Cualquier ayuda sería genial.
Gracias
No sugeriré repl.it si desea alojar su bot de discordia. Algunas buenas alternativas serían Heroku y Railway. Yo personalmente sugeriría Ferrocarril ( https://railway.app )
(Tenga en cuenta: debe aprender git y GitHub si va a utilizar cualquiera de estas plataformas y, por supuesto, debe aprenderlas de cualquier manera en una fecha posterior).
(También tenga en cuenta que realmente no sugiero usar estos hosters gratuitos, obtener un vps pagado o seguir usando esto).
El plan gratuito de Replit no permite alojamiento 24/7
¡Pero hay un truco!
Agrega esto a tu código
const express = require("express") const app = express() const server = app.listen(3000, () => { console.log(`Express running → PORT ${server.address().port}`) }) app.get("/", (req, res) => { res.send("Online!") })
Luego copie su enlace de repetición y use un servicio que haga ping periódicamente a su proyecto de repetición para hacer eso, aquí hay un video de cómo hacerlo https://youtu.be/wZbAinOmays
Cómo funciona
Express es un paquete que se utiliza para crear servidores HTTP y, si realiza una solicitud al servidor HTTP periódicamente, la repetición no detendrá su proyecto.
Todavía usaría un servicio pago, porque como otros señalaron, obtienes lo que pagas