Este es un worker de Cloudflare que se ejecuta diariamente a las 0:10 UTC-0. Su función es obtener el reto diario de LeetCode utilizando la API de GraphQL de LeetCode. Luego, procesa los datos y los envía en formato Markdown a un punto final definido en la variable de entorno ENDPOINT
. En nuestro caso, este punto final corresponde a un bot de Discord que crea un hilo de discusión donde los usuarios pueden debatir soluciones y enfoques para resolver el reto diario.
- El worker se activa automáticamente a las 0:10 UTC-0 gracias a un disparador de programación (schedule trigger) en Cloudflare.
- Se realiza una llamada a la API de GraphQL de LeetCode para obtener los detalles del reto diario.
- Los datos del reto se procesan y se convierten a formato Markdown.
- Se envía una solicitud POST a la API definido en la variable de entorno
ENDPOINT
con los datos del reto en formato Markdown. - En nuestro caso, el
ENDPOINT
corresponde a un bot de Discord que crea un hilo de discusión con los detalles del reto.
Para construir y desplegar este proyecto, necesitarás lo siguiente:
ENDPOINT
: URL del punto final al que se enviarán los datos del reto diario.BOT_APIKEY
: Solo es necesario para nuestro caso que tenemos limitado nuestro endpoint para usuarios permitidos
Para probar el worker localmente, solo necesitas configurar la variable de entorno ENDPOINT
en el archivo wrangler.toml
. Esto es necesario solo si quieres usar un punto final diferente al que ya está configurado.
Este proyecto está configurado para desplegar automáticamente utilizando los flujos de trabajo de GitHub Actions. Para que funcione correctamente, debes configurar los siguientes secretos en GitHub:
CLOUDFLARE_ACCOUNT_ID
: ID de tu cuenta de Cloudflare.CLOUDFLARE_API_TOKEN
: Token de API de Cloudflare.ENDPOINT
: URL de la API a la que se enviarán los datos del reto diario.BOT_APIKEY
: Solo es necesario para nuestro caso que tenemos limitado nuestro endpoint para usuarios permitidos