El cron job se ejecuta cada 10 minutos
- Instalaciones:
- Instalar dependencias:
yarn
- Ejecutar desarrollo:
yarn run start:dev
- Producción:
yarn build
Crear archivo .env
en la raíz del proyecto con las siguientes variables:
- PORT: puerto del servidor
- LOGGER: si quieren mandar los logs a la consola: true
- DISCORD_WEBHOOK: link del webhook en Discrod
- MINUTES: define cada cuantos minutos se ejecutara el cron. Valor predeterminado: 30
- LAST_MINUTES: define los minutos para filtrar las noticias, por ejemplo: 60 minutos antes de la fecha actual. Valor predeterminado: 60
- CRONOFF: si no se quiere utilizar el cron: true
{domain}/version
{domain}/crunchyroll/news
: en caso de querer ejecutar la consulta al RSS de Crunchyroll
- Al iniciar el servidor se genera una base de datos con sqlite (en caso de que no exista) para registrar las noticias ya enviadas
- Se inicializa el cronjob para que se repita cada
MINUTES
minutos - Al ejecutarse el servicio se realiza una consulta al RSS de Crunchyroll (siempre devuelve los últimos 100 registros)
- Se filtra la información que se haya publicado en los últimos
LAST_MINUTES
minutos - Se hace una consulta para traer las noticias que están registradas como enviadas
- Se borran las que ya no entran en el rango de fechas (para evitar la acumulación de información)
- Se vuelve a filtrar para solo obtener las que aún no se han enviado
- Se formatea el objeto para enviar hasta 10 noticias (embeds) por mensaje
- Se envían los mensajes a Discord (
DISCORD_WEBHOOK
) y se guardan los ids enviados (los ids solo se guardan si la respuesta de Discord no provoca un error)