feat: secrets-guardian refonte, supervisor + scripts brain-watch/notify, monitoring Telegram
This commit is contained in:
42
scripts/get-telegram-chatid.sh
Executable file
42
scripts/get-telegram-chatid.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
# get-telegram-chatid.sh — Récupère le chat_id Telegram et l'écrit dans MYSECRETS
|
||||
# NE JAMAIS afficher la valeur dans le terminal — écriture directe dans MYSECRETS
|
||||
#
|
||||
# Prérequis : avoir envoyé /start au bot sur Telegram
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
MYSECRETS="${BRAIN_ROOT:-$HOME/Dev/Docs}/MYSECRETS"
|
||||
|
||||
TOKEN=$(grep '^BRAIN_TELEGRAM_TOKEN=' "$MYSECRETS" | cut -d= -f2-)
|
||||
|
||||
if [[ -z "$TOKEN" ]]; then
|
||||
echo "ERREUR : BRAIN_TELEGRAM_TOKEN vide dans MYSECRETS" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Récupérer le chat_id sans l'afficher
|
||||
RESPONSE=$(curl -s "https://api.telegram.org/bot${TOKEN}/getUpdates")
|
||||
CHAT_ID=$(echo "$RESPONSE" | python3 -c "
|
||||
import sys, json
|
||||
data = json.load(sys.stdin)
|
||||
results = data.get('result', [])
|
||||
if not results:
|
||||
print('NONE')
|
||||
else:
|
||||
print(results[-1].get('message', {}).get('chat', {}).get('id', 'NONE'))
|
||||
" 2>/dev/null)
|
||||
|
||||
if [[ "$CHAT_ID" == "NONE" || -z "$CHAT_ID" ]]; then
|
||||
echo "Aucun message reçu. Envoie /start au bot sur Telegram puis relance ce script." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Écrire dans MYSECRETS sans afficher la valeur
|
||||
if grep -q '^BRAIN_TELEGRAM_CHAT_ID=' "$MYSECRETS"; then
|
||||
sed -i "s/^BRAIN_TELEGRAM_CHAT_ID=.*/BRAIN_TELEGRAM_CHAT_ID=${CHAT_ID}/" "$MYSECRETS"
|
||||
else
|
||||
echo "BRAIN_TELEGRAM_CHAT_ID=${CHAT_ID}" >> "$MYSECRETS"
|
||||
fi
|
||||
|
||||
echo "✅ BRAIN_TELEGRAM_CHAT_ID enregistré dans MYSECRETS — valeur non affichée"
|
||||
Reference in New Issue
Block a user