DexKeeper is a high-performance, privacy-focused telegram bot designed to manage communities with minimal friction. It combines automated moderation, engagement tools, and security features into a single containerized application that you own 100%.
Unlike cloud bots, you host this yourself. Your data, your rules, your hardware.
- "I Am Human" Captcha: Automatically restricts new members until they verify they are human, stopping bot spam instantly.
- Lockdown Mode: Instantly reject all new join requests during raid attacks.
- Bad Word Filter: define a custom list of prohibited words; messages containing them are auto-deleted.
- Flood Gate: Auto-mutes users who spam messages too quickly (5 messages in < 2 seconds).
- Welcome Messages: Customizable greeting for verified members.
- Polls: Create and post native Telegram polls directly from the admin panel.
- Broadcast: Send a message to all users who have DM'd the bot (great for announcements).
- Scheduled Messages: Set a message to be sent to a group after X minutes.
- Forum Topics: Create new topics in forum-enabled groups.
- Zoom Enforcer: Detects raw Zoom links and converts them into beautiful, clickable cards (Professional, Mascot, or Minimal styles). prevents messy link clutter.
- User Management: View, Ban, Unban, and Promote users from a GUI.
- CSV Export: Download a full list of your user database as a CSV file.
Before you start, you need two things:
- A Computer: Any PC (Windows, Mac, or Linux) that can run Docker.
- A Telegram Account: To create the bot and be its admin.
You need to tell Telegram "I am making a bot" and get a key to control it.
- Open Telegram and search for @BotFather.
- Click Start.
- Type
/newbotand press Enter. - Name your bot (e.g., "My Super Group Manager").
- Choose a username (must end in
bot, e.g.,MySuperManager_bot). - BotFather will reply with a long string of text under "Use this token to access the HTTP API:".
- COPY THIS TOKEN. It looks like:
123456789:ABCdefGHIjklMNOpqrsTUVwxyz. - Treat this like a password. Do not share it.
- COPY THIS TOKEN. It looks like:
These are the fastest, recommended installs. No command line required.
Windows (Easiest)
- Download DexKeeper-Setup.exe.
- Run it. If SmartScreen appears, click More info → Run anyway.
- A setup window asks for
BOT_TOKENand optionalADMIN_ID. - DexKeeper stores data in
%APPDATA%\DexKeeper.
macOS (Easiest)
- Download DexKeeper.dmg.
- If the DMG is blocked or unavailable, download DexKeeper-macos.zip instead.
- Open the DMG and drag DexKeeper.app to Applications.
- On first run, macOS may block it. Go to System Settings → Privacy & Security and allow it.
- DexKeeper stores data in
~/Library/Application Support/DexKeeper.
Linux (Easiest)
- Download DexKeeper.AppImage.
- Run:
chmod +x DexKeeper.AppImage ./DexKeeper.AppImage
- DexKeeper stores data in
~/.local/share/DexKeeper(or$XDG_DATA_HOME/DexKeeper).
Notes:
- Linux may require
libfuse2for AppImage support. - All installers prompt for your bot token on first run.
- A tray icon appears while DexKeeper is running; right-click it to:
- Open Logs
- Open Data Folder
- Open Admin Panel
- View Status (Online/Offline + last heartbeat)
- Start on Login (toggle)
- Pause Bot (toggle)
- Silent Mode (toggle)
- Schedule Daily Restart (toggle)
- Restart DexKeeper
- Hide Tray Icon
- Stop DexKeeper
If you prefer no installer on Windows:
- Download DexKeeper.exe.
- Double‑click to run. First run prompts for
BOT_TOKEN. - Data is stored in
%APPDATA%\DexKeeper. - A tray icon appears while DexKeeper is running; right-click it to Open Logs, Open Data Folder, Hide Tray Icon, or Stop DexKeeper.
📥 Download the latest release (.zip)
- Download Source code (zip) from Releases.
- Extract the ZIP file.
- Continue to "Configure the Bot" below.
We use Docker to make this easy. If you don't know what Docker is, think of it as a "program player". We give you the cartridge (this code), and Docker plays it exactly the same on every computer.
- Windows: Download Docker Desktop.
- Mac: Download OrbStack (Recommended, faster) or Docker Desktop.
- Linux: Run
curl -fsSL https://get.docker.com | sh.
- Click the Code button (green) on this page -> Download ZIP.
- Unzip the folder somewhere easy to find (like your Desktop).
- Open the
DexKeeper_Botfolder. - Copy
.env.exampleto.env:cp .env.example .env
- Open
.envwith Notepad or TextEdit. - Replace the placeholder with your actual bot token:
BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz - (Optional) Add your Telegram User ID to become admin:
ADMIN_ID=123456789 - Save and close.
- Note: On packaged desktop installs, the app will prompt for
BOT_TOKENon first run and store config in your per-user app data folder.
- Open Terminal (Mac/Linux) or PowerShell (Windows).
- Type
cd(with a space) and drag theDexKeeper_Botfolder into the window. Press Enter.- It should look like:
cd /Users/you/Desktop/DexKeeper_Bot
- It should look like:
- Run this command to start:
cd scripts && docker-compose up -d --build
- Wait for
StartedorRunning. Your bot is now online!
If you prefer to run Python directly:
- Install Python 3.11+.
- Install Requirements:
pip install -r requirements.txt
- Configure: Create
.envas shown above.- Optional: set
DEXKEEPER_DATA_DIRorDB_PATHif you want a custom data location.
- Optional: set
- Run:
python3 Sources/DexKeeper_Bot/dexkeeper_bot.py
- Find your bot: Search for your bot's username in Telegram.
- Start it: Click Start in the DM.
- Note: Since you are the owner, this registers you as Admin.
- Add to Group:
- Go to your Group Info -> Add Members.
- Search for your bot and add it.
- Promote to Admin:
- In Group Info -> Edit -> Administrators -> Add Admin.
- Select your bot.
- CRITICAL: Give it all permissions (Delete Messages, Ban Users, Invite Users, Pin Messages).
- Save.
Everything is controlled via the Admin Panel.
- Go to the Direct Message (DM) with your bot.
- Type
/admin. - A menu will appear with buttons:
- 👥 User Management: Ban/Unban tools, Export CSV.
- 📢 Engagement: Create Polls, Schedule Messages, Broadcasts.
- 🔧 Group Config: Configure Zoom style (Professional/Mascot/Minimal).
- 🛡️ Security: Lockdown mode, Word filters.
Example: Creating a Poll
- Click 📢 Engagement, then 📊 Create Poll.
- The bot will ask for the Question. Type it in chat.
- The bot will ask for Options (comma separated). Type:
Yes, No, Maybe. - Done! The poll posts to the group.
Run tests:
python3 -m pytest -qRun dependency security scan:
python3 -m pip install --user -r requirements-dev.txt
python3 -m pip_audit -r requirements.txtRemain ungovernable so Dexter approves.
This project is dedicated to the public domain. You are free and encouraged to use, modify and distribute this software without any attribution required. You could even sell it... if you're a capitalist pig.
Dexter is a small, tricolor Phalène dog with floppy ears and a perpetually unimpressed expression... ungovernable, sharp-nosed and convinced he’s the quality bar. Alert, picky, dependable and devoted to doing things exactly his way: if he’s staring at you, assume you’ve made a mistake. If he approves, it means it works.
