Nuclear weapon of boop to boop others on barq
- Python 99.6%
- Dockerfile 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Silent non-admin handling routes alerts/auto-collect into Telegram forum topics, and the README + .gitignore document setup while keeping secrets out of git. Made-with: Cursor |
||
| deploy | ||
| docs | ||
| src/barq_boops | ||
| .env.example | ||
| .gitignore | ||
| config.example.yaml | ||
| Dockerfile | ||
| pyproject.toml | ||
| README.md | ||
Barq Boops Bot (Telegram)
Bot Telegram qui orchestre des actions côté Barq :
- recherche de profils par pseudo (commande
/boop), puis nuke/boop via une mutation GraphQL - collecte automatique quotidienne des boops des workers vers le stockeur (
/collect+ job journalier) - alerting “intrusion” : si quelqu’un d’autre que les admins contacte le bot, aucune réponse n’est envoyée à l’expéditeur, mais une notification est postée dans un sujet dédié d’un supergroupe Telegram
Sécurité (important)
- Ne commit jamais de secrets dans git.
- Le bot lit :
TELEGRAM_BOT_TOKENdepuis./.env(ouenv:...dansconfig.yaml)- les jetons Barq (OAuth/ID token) depuis
secrets/*.json
- Ces fichiers contiennent des tokens (JWT) : ils doivent rester en local (ignorés par
.gitignore).
Prérequis
- Python 3.11+
- un bot Telegram (token via BotFather)
- un supergroupe Telegram “forum” activant les topics
Installation locale
- Cloner / copier le projet sur ta machine
- Créer un environnement virtuel :
python3 -m venv .venv
. .venv/bin/activate
pip install -U pip
pip install -e .
- Préparer la configuration :
cp config.example.yaml config.yaml
cp .env.example .env
- Remplir
.env:
# dans .env
TELEGRAM_BOT_TOKEN=xxxxxxxx:yyyyyyyy
Config Telegram (intrusion + auto-collect dans des topics)
Si tu veux que les alertes et l’auto-collect apparaissent dans des topics :
- Récupère le
forum_chat_idet lestopic idsdepuis les liens :
- Exemple alertes :
https://t.me/c/3833851867/2forum_chat_id = -1003833851867intrusion_topic_id = 2
- Exemple auto-collect :
https://t.me/c/3833851867/3auto_collect_topic_id = 3
- Dans
config.yaml, renseigne :
telegram.admin_user_idstelegram.forum_chat_idtelegram.intrusion_topic_idtelegram.auto_collect_topic_id
Notes :
- si
forum_chat_id+intrusion_topic_idsont définis, les alertes non-admins partent dans le topic “intrusion” - idem pour l’auto-collect
- sinon, les alertes partent en MP aux admins (
telegram.admin_user_ids)
Config Barq (sessions OAuth dans secrets/*.json)
Ton config.yaml définit barq.accounts (un id par compte) et, pour chaque compte, un session_file (ex: secrets/worker1.json).
Pour générer les fichiers de session :
Login via OAuth web (méthode interactive)
barq-boop-login --config config.yaml --account storer
barq-boop-login --config config.yaml --account worker1
...
Login headless OTP email (méthode interactive email)
barq-boop-reauth --config config.yaml --account burner --email you@example.com
barq-boop-code --config config.yaml --account burner <OTP_CODE>
Démarrer le bot
barq-boop-bot --config ./config.yaml
Commandes Telegram
/boop <pseudo> [count]- recherche + choix d’un profil + boop/nuke si mutual
/collect- collecte les boops des workers vers le stockeur
/balance- affiche le solde du stockeur
/reauth <id> <email>+/code <id> <otp_code>- reconnexion via OTP email
/retoken <id> <bearer_token>- mise à jour manuelle du token (le bot essaie de supprimer le message contenant le token)
Déploiement systemd (sur Linux)
Le dépôt fournit un template dans deploy/barq-boop-bot.service.
Étapes :
- Copier le service :
sudo cp deploy/barq-boop-bot.service /etc/systemd/system/
- Adapter les chemins :
WorkingDirectory=...(doit contenirconfig.yaml+.env)ExecStart=...(doit pointer vers ton.venv/bin/barq-boop-bot)User=/Group=(optionnel)
- Puis activer :
sudo systemctl daemon-reload
sudo systemctl enable --now barq-boop-bot.service
sudo systemctl status barq-boop-bot.service
sudo journalctl -u barq-boop-bot.service -f
Référence
docs/API.md: note reverse-engineering Barq (mutations et OAuth)