Anti-spam & anti-flood
Fenêtre glissante de 10 secondes : plus de 5 messages, messages strictement identiques répétés, invitations et liens non whitelistés — le message part à la poubelle et l'auteur reçoit un avertissement.
Chaque message entrant traverse une chaîne de filtres. Chaque arrivée déclenche une vérification. Chaque action est journalisée.
Fenêtre glissante de 10 secondes : plus de 5 messages, messages strictement identiques répétés, invitations et liens non whitelistés — le message part à la poubelle et l'auteur reçoit un avertissement.
Message privé avec un calcul et 4 boutons. 3 minutes au compteur, 3 essais maximum, puis expulsion ou bannissement de 24 h.
Plus de 10 arrivées en une minute ? Le slow mode s'active tout seul pendant 5 minutes et le canal de logs reçoit l'alerte.
Les vrais bots sont bannis à l'entrée. Les comptes au nom douteux déclenchent une alerte — ou un kick immédiat selon la configuration.
Date, admin responsable, cible, raison : chaque sanction part dans le canal dédié, formatée et emoji selon le type d'action.
Warns, bans, listes noires, whitelist et configuration par groupe sont stockés en SQLite asynchrone. Un bot, autant de groupes que nécessaire.
Warn, mute, ban, kick, purge, slow mode, listes, statistiques — réservées aux admins
du groupe, avec durées libres (30m, 1h, 2d) et
système d'avertissements à 3 paliers.
Ce mini-module reprend exactement le comportement du bot : 4 réponses possibles, une seule correcte, 3 essais, et un chrono de 3 minutes.
Chaque nouvel arrivant reçoit ce message en privé. S'il bloque les MP du bot, la question est republiée dans le groupe — la vérification n'est jamais bloquée.
Le bot reçoit la mise à jour chat_member, compte l'arrivée dans la fenêtre
anti-raid et dédoublonne le flux.
Un vrai bot est banni sur-le-champ. Un profil à heuristique douteuse déclenche une alerte dans les logs. Un admin exempté passe son chemin.
is_bot + heuristiquesQuestion mathématique, 4 boutons mélangés, chrono de 180 secondes. Repli automatique dans le groupe si le MP est bloqué.
3 essais maximumTimeout = kick. Trois mauvaises réponses = ban 24 h. L'événement est écrit dans la base et poussé dans le canal de logs.
kick / ban 24 hRéponse correcte : le captcha disparaît, le message d'accueil personnalisé part dans le groupe et l'accès est ouvert.
/setwelcome pour personnaliserToutes réservées aux administrateurs du groupe. Une cible se désigne en répondant au
message, par @username ou par ID.
1h, 2d)off)Python 3.11+ suffit. Aucune clé d'API tierce, aucune dépendance externe — seule l'API Telegram est appelée.
$ git clone https://github.com/salabertenzo36-glitch/guardbot.git $ cd guardbot && pip install -r bot/requirements.txt $ cp bot/.env.example bot/.env # BOT_TOKEN, ADMIN_IDS $ python bot/main.py
/newbot, copiez le token dans bot/.env.
BOT_TOKEN=123456:ABC-DEF…
ADMIN_IDS pour les super-admins, /setlogchannel pour le journal.
le bot tourne en polling : aucun port à exposer
python-telegram-bot v20 (Application builder), aiosqlite, python-dotenv. Quatre dossiers, aucune dépendance cachée.
Ajoutez @VaultOfficer_bot à votre groupe : il prend la main sur le captcha, le spam et les raids immédiatement. Aucune configuration minimale requise.