Anibot es un bot de discordia que notifica al usuario sobre los últimos lanzamientos de sus animes favoritos. Este bot utiliza discord.js y los datos se obtienen de la fuente RSS de Subs Please.
Realizado con TypeScript, MongoDB y NodeJS.
Visita el Portal para desarrolladores de Discord y crea un bot. Elija permisos básicos, al menos enviar mensajes. Active todas las opciones de Intents de puerta de enlace privilegiada dentro de la sección "Bot".
Clona este repositorio en tu máquina y ejecuta npm i
para instalar las dependencias.
Crea un archivo .env y coloca tus tokens de discordia allí. Ejemplo:
DISCORD_TOKEN= ""
CLIENT_ID= ""
GUILD_ID= ""
RELEASE_CHANNEL_ID= ""
DEV_CHANNEL_ID= ""
LOGS_CHANNEL_ID= ""
DB_CONNECTION_STRING= "" // mongodb connection, see below
Cree una cuenta de MongoDB Atlas y cree un clúster que tenga una base de datos series
y una recopilación data
allí. Presione conectar, seleccione los controladores y copie el valor uri
. Asegúrese de modificar la <password>
para que sea la contraseña de su clúster.
Puede enumerar sus programas favoritos que desea rastrear en la recopilación data
. Aquí hay una lista de programas al aire. Recomiendo conectarse con MongoDB compass a la base de datos. El esquema es el siguiente:
{
"_id": {
"$oid": "64396564a26ce63fc6fc90ca"
},
"name": "Vinland Saga S2",
"latestEpisode": ""
}
donde id
se generará automáticamente. Debe crear name
y las claves latestEpisode
, puede dejar latestEpisode
vacío. Ambos son hilos.
Construya los archivos con el comando tsc
. Los archivos JavaScript se crearán en la carpeta /dist
.
Ejecute node dist/index.js
dentro del repositorio.
¡Hecho!
¡Nota! Asegúrese de escribir los nombres correctamente, utilice la versión rōmaji de los nombres. Las temporadas en el título están acortadas, como "Temporada 2" a "T2".
Bot enviando notificación de un nuevo lanzamiento. Se ejecuta cada cinco minutos automáticamente en segundo plano.
/latest
comando que responde con diez versiones más recientes
Modifique estas variables en functions/fetchAPI.ts
a su gusto:
const timezone = "Europe/Helsinki";
const timeFormat = "en-FI";
¿Se ha asegurado de que:
.env
¡Crea un problema! Siéntete libre de bifurcarlo y mejorarlo o modificarlo a tu gusto.