Skip to content

Mint-Claw/telegram-gatekeeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Superteam Telegram Intro Gatekeeper Bot

A Telegram bot that gates access to Superteam community groups by requiring new members to introduce themselves before they can participate.

Features

  • Automatic Detection: Detects new members joining the group
  • Mute on Join: New members are restricted until they introduce themselves
  • Introduction Validation: Verifies intro messages meet minimum quality (length, content)
  • Auto-Unmute: Removes restrictions after valid introduction
  • Welcome Messages: Customizable welcome messages in multiple languages
  • Admin Controls: Admin commands for configuration, manual approve/kick
  • Anti-Spam: Rate limiting and duplicate detection
  • Logging: All events logged for moderation transparency

Commands

User Commands

  • /intro [message] — Submit your introduction
  • /help — Show help message
  • /status — Check your verification status

Admin Commands

  • /approve @user — Manually approve a user
  • /kick @user — Remove an unapproved user
  • /config — View current bot configuration
  • /setlang [en|pt|ms|zh] — Set group language
  • /setminlength [n] — Set minimum intro length
  • /settimeout [hours] — Set timeout before auto-kick

Setup

npm install
cp .env.example .env
# Add your BOT_TOKEN from @BotFather
npm start

Environment Variables

BOT_TOKEN=your_telegram_bot_token
ADMIN_IDS=comma,separated,admin,ids
MIN_INTRO_LENGTH=50
TIMEOUT_HOURS=24
DEFAULT_LANGUAGE=en

Tech Stack

  • Node.js + TypeScript
  • grammy (Telegram Bot Framework)
  • SQLite (via better-sqlite3) for persistence
  • Docker support

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors