A Telegram bot that gates access to Superteam community groups by requiring new members to introduce themselves before they can participate.
- 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
/intro [message]— Submit your introduction/help— Show help message/status— Check your verification status
/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
npm install
cp .env.example .env
# Add your BOT_TOKEN from @BotFather
npm startBOT_TOKEN=your_telegram_bot_token
ADMIN_IDS=comma,separated,admin,ids
MIN_INTRO_LENGTH=50
TIMEOUT_HOURS=24
DEFAULT_LANGUAGE=en
- Node.js + TypeScript
- grammy (Telegram Bot Framework)
- SQLite (via better-sqlite3) for persistence
- Docker support
MIT