Bot de Discord que consulta un endpoint de eventos cada 12 horas (configurable), detecta cambios y cuando hay actualizacion:
- Borra todos los mensajes del canal configurado.
- Publica un embed con color, logo y miniatura configurables.
- Python 3.10+
- Un bot de Discord agregado a tu servidor con permisos:
- Ver canal
- Leer historial de mensajes
- Administrar mensajes
- Enviar mensajes
- Insertar enlaces
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt- Copiar
.env.examplea.env - Completar en el archivo
.envel token del bot:DISCORD_TOKEN: token del bot.
- Copiar
config.example.jsonaconfig.json - Configurar las opciones en
config.json. Algunas variables importantes:CHANNEL_ID: id del canal de texto donde se publicara.ENDPOINT_URL: URL del endpoint GET.POLL_INTERVAL_HOURS: cada cuantas horas consultar (default12).EMBED_COLOR_HEX: color del embed en formato#RRGGBB.
Comportamiento de publicacion:
- Al iniciar, el bot siempre borra el canal configurado y publica el estado actual del endpoint.
- Luego, vuelve a publicar solo cuando detecta cambios en el endpoint.
Si el endpoint corre en local (por ejemplo localhost:5173), usa http:// y no https:// para evitar errores SSL como WRONG_VERSION_NUMBER.
python bot.py- El bot guarda un hash SHA-256 de la respuesta JSON en
STATE_FILE(defaultbot_state.json). - Si el hash cambia respecto del ultimo guardado, considera que hubo actualizacion y publica nuevamente.
Tu endpoint acepta limit entre 1 y 20. El bot envia ?limit=ENDPOINT_LIMIT en cada consulta.