[Bug] Telegram album debounce exceeds the maximum wait

Abierto Apto para principiantes
#11,123 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@123XieC ya está trabajando en esto.

Desde el 14/11/2026.

  • #11124 de @123XieC — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
backend

Línea de trabajo

Empieza en TelegramPlatformAdapter.handle_media_group_message, donde se programa el job de recopilación a partir de telegram_media_group_timeout y telegram_media_group_max_wait. Comprueba cómo se calcula el run_date del job de reemplazo cuando llega una nueva actualización para el mismo álbum. Está terminado cuando una actualización tardía se programa como máximo para el plazo original (de inmediato si ya lo ha superado), con una prueba que lee el run_date programado tras una actualización sintética a los 9 segundos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug description

Telegram media-group collection can schedule processing after the configured maximum wait. An album whose last part arrives shortly before the deadline is given a new full debounce delay.

Reproduction
  1. Use telegram_media_group_timeout = 2.5 and telegram_media_group_max_wait = 10.0, the defaults.
  2. Deliver an album update at elapsed time zero to TelegramPlatformAdapter.handle_media_group_message. This schedules its collection job for 2.5 seconds.
  3. On a busy event loop where that job has not run, deliver another update for the same album at elapsed time 9 seconds. Continuous updates in smaller gaps can also keep rescheduling the job until this point.
  4. Read the scheduled run_date of the replacement job.
Actual result

The new run time is 11.5 seconds after the first update, beyond the configured 10-second cap.

Expected result

The new run time is the earlier of the debounce time and the original deadline. An album received after its deadline should be scheduled for immediate processing.

Environment

AstrBot source at 23db1ad08064a8330a09077138ce8ecc05362219 on macOS, Python 3.12. Reproduced with synthetic Telegram updates and the actual adapter handler. No Telegram bot token or network call is needed.

Lenguaje dominante
Python
Estrellas
46.4k
Forks
3.4k
Merge medio
1 d 10 h
PR fusionados (30 d)
111

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de AstrBotDevs/AstrBot

Todos los issues de AstrBotDevs/AstrBot

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.