Skip to content

fix: handle warned and unvalidated group states on re-addition - #103

Merged
rozen03 merged 5 commits into
masterfrom
swordtail
Sep 23, 2026
Merged

rozen03 merged 5 commits into
masterfrom
swordtail

Conversation

@rozen03

@rozen03 rozen03 commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Descripción de los cambios

Este PR corrige y robustece la lógica de la función agregar en handlers/groups.py cuando un grupo de Telegram que ya existe en la base de datos se intenta re-agregar o reactivar (corriendo el comando /agregar...):

  1. Grupos advertidos de inactividad pero no archivados aún: Antes se caía en la rama else donde no se limpiaba el campo warned_at ni se actualizaba last_activity. Esto causaba que, a pesar de que los usuarios corrieran el comando /agregaroptativa para mantenerlo activo (como les advertía el bot), el grupo se terminara archivando de todas formas después de 24 horas. Ahora, se limpia la advertencia, se actualiza la actividad al momento actual, y se les notifica que el aviso fue cancelado con éxito.
  2. Grupos desactivados/muertos (validated = False): Si un grupo perdía validez debido a que su enlace de invitación moría (por ejemplo, bot expulsado temporalmente), su estado quedaba en validated = False. Al correr /agregar... nuevamente, el bot actualizaba el link en base de datos pero lo dejaba con validated = False de forma permanente y sin re-enviar la solicitud a Rozen. Ahora, cuando se re-agrega, se vuelve a mandar una solicitud interactiva a Rozen para su aprobación rápida.
  3. Grupos archivados (GrupoArchivado): Mantiene el comportamiento existente de reactivación directa.

Tests Unitarios Añadidos

Se agregaron nuevos tests robustos en test_archiving.py:

  • test_agregar_warned_group_reactivates_successfully: Verifica que correr /agregar... sobre un grupo que tiene una advertencia activa de archivado limpie warned_at, actualice last_activity y responda con éxito.
  • test_agregar_unvalidated_group_resends_to_rozen: Verifica que correr /agregar... sobre un grupo de-validado re-envíe exitosamente la notificación con botones interactivos a Rozen.

Todos los tests unitarios pasaron exitosamente.

@rozen03
rozen03 merged commit ed00cec into master Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant