66 lines
2.1 KiB
Markdown
66 lines
2.1 KiB
Markdown
# Notifications Telegram
|
|
|
|
L'application peut envoyer des notifications sur les résultats des tâches planifiées et des opérations manuelles importantes.
|
|
|
|
## Configuration
|
|
|
|
La configuration vit dans `data/auth.yaml` (section dédiée) ou via variables d'environnement :
|
|
|
|
```yaml
|
|
telegram:
|
|
bot_token: "1234567890:AABBCC..."
|
|
chat_id: "-4992234358"
|
|
```
|
|
|
|
`bot_token` s'obtient en parlant à [@BotFather](https://t.me/BotFather) sur Telegram :
|
|
1. `/newbot`
|
|
2. Choisir un nom et un identifiant
|
|
3. Récupérer le token
|
|
|
|
`chat_id` se récupère :
|
|
- **Pour un chat 1-1** : envoyer un message au bot puis appeler l'API `https://api.telegram.org/bot<TOKEN>/getUpdates`. L'ID est dans `result[].message.chat.id`.
|
|
- **Pour un groupe** : ajouter le bot au groupe, envoyer un message, puis même API. L'ID des groupes commence par `-`.
|
|
|
|
## Niveaux de notification
|
|
|
|
### Normal
|
|
|
|
Message court, une ligne :
|
|
|
|
```
|
|
✅ Sync nocturne — terminée
|
|
12 classes, 247 nouvelles absences, 0 erreur
|
|
```
|
|
|
|
### Détaillé
|
|
|
|
Avec breakdown par classe et détails des orphelines :
|
|
|
|
```
|
|
✅ Sync nocturne — terminée
|
|
|
|
Absences :
|
|
• 1MAB1: 23 nouv / 5 modif / 2 pending / 1 suppr
|
|
• 2EM1: 18 nouv / 12 modif / 0 pending / 0 suppr
|
|
...
|
|
|
|
Orphelines supprimées :
|
|
• Dupont Marc — 12.03.2026 P3
|
|
...
|
|
|
|
Pendings ignorés (sans force) : 4
|
|
```
|
|
|
|
## Chat ID par tâche
|
|
|
|
Chaque tâche cron peut surcharger le `chat_id` global avec son propre `notify_chat_id`. Utile pour router certaines notifs vers un canal admin et d'autres vers un canal utilisateurs.
|
|
|
|
## Ce qui est notifié manuellement
|
|
|
|
Pas grand-chose pour l'instant — Telegram est principalement réservé aux **résultats des tâches cron**. Les opérations manuelles (sync, push) émettent uniquement des **toasts** dans l'app.
|
|
|
|
## Diagnostic
|
|
|
|
- **"Bouton Tester Telegram" répond une erreur 401** : token invalide ou révoqué.
|
|
- **"Erreur 400 Bad Request"** : `chat_id` incorrect ou bot pas membre du groupe.
|
|
- **Notification jamais reçue** : vérifier que le bot a bien été ajouté au groupe et qu'il y a au moins un message envoyé (sinon Telegram bloque).
|