Skip to content

DreamXBotz/Auto_Filter_Bot

Repository files navigation

DreamxBotz Auto Filter Bot

Powerful Telegram auto-filter, file indexing, verification, premium, and streaming bot.

DreamxBotz Logo

Python 3.12+ Docker Ready Telegram Bot

Demo Bot Support Group License

Auto Filter MongoDB Streaming Premium Verification

DreamxBotz is a Telegram auto-filter bot for indexing files from channels/groups, searching them quickly, and sharing files through bot commands. It supports MongoDB storage, group settings, force subscription, verification, premium users, streaming links, and admin tools.

This project is intended for educational use. Use it responsibly and follow Telegram rules, hosting provider rules, and copyright laws.

Table Of Contents

Features

Search & Indexing Access Control Admin Tools
Fast auto-filter search Force subscription Broadcast tools
Auto file indexing Request-to-join FSub User ban/unban
Caption-based filtering Three-step verification Chat enable/disable
Trending search list Premium user support Maintenance mode
Movie/series search PM search toggle Logs and stats
Media & Streaming Database Customization
Online streaming links MongoDB support Group settings menu
Fast download links Multiple DB support Custom captions
Telegraph media info User/chat database IMDb templates
TMDB movie metadata Referral and premium data Shortener settings
Auto-delete tools Search analytics Tutorial links

Requirements

  • Python 3.12+
  • MongoDB database URI
  • Telegram bot token from @BotFather
  • Telegram API_ID and API_HASH from my.telegram.org
  • A log channel where the bot is added as admin

Quick Links

Link URL
Demo Bot Open on Telegram
Support Group Join Support
Telegram API my.telegram.org
BotFather Create Bot
MongoDB Atlas Create Database

Required Environment Variables

Variable Required Description
BOT_TOKEN Yes Telegram bot token from BotFather
API_ID Yes Telegram API ID from my.telegram.org
API_HASH Yes Telegram API hash from my.telegram.org
DATABASE_URI Yes MongoDB connection URI
LOG_CHANNEL Yes Telegram log channel ID, usually starts with -100
ADMINS Yes Space-separated Telegram user IDs or usernames
CHANNELS Recommended Space-separated channel/group IDs for indexing

Common Optional Variables

Variable Default Description
DATABASE_NAME Cluster0 MongoDB database name
COLLECTION_NAME dreamcinezone_files MongoDB collection name
BIN_CHANNEL -100 Channel used for file/bin logs
PREMIUM_LOGS -100 Premium activity log channel
AUTH_CHANNELS -100 Force subscription channel IDs
AUTH_REQ_CHANNELS -100 Request-to-join force subscription channel IDs
REQST_CHANNEL_ID -100 Request channel ID
SUPPORT_CHAT_ID -100 Support group ID
SUPPORT_CHAT https://t.me/ Support group link
FQDN Web bind address Public domain for stream links
PORT 8080 Web server port
HAS_SSL True Use HTTPS in generated stream URLs
NO_PORT False Hide port in generated HTTP stream URLs
STREAM_MODE True Enable stream mode
PREMIUM_STREAM_MODE False Restrict stream mode to premium users
MAINTENANCE False Enable maintenance mode
IS_VERIFY False Enable verification system
SHORTENER_API Empty Shortener API key for verification links
SHORTENER_WEBSITE Empty Shortener domain
TMDB_API_KEY Empty TMDB API key for movie metadata
TMDB_BEARER_TOKEN Empty Optional TMDB bearer token
TELEGRAPH_ACCESS_TOKEN Empty Optional Telegraph access token

Example .env

Copy .env.example to .env and fill your real values:

cp .env.example .env
BOT_TOKEN=123456:your_bot_token
API_ID=123456
API_HASH=your_api_hash
DATABASE_URI=mongodb+srv://username:db-password@cluster.mongodb.net/
DATABASE_NAME=Cluster0
COLLECTION_NAME=dreamcinezone_files
ADMINS=123456789
CHANNELS=-1001234567890
LOG_CHANNEL=-1001234567890
BIN_CHANNEL=-1001234567890
FQDN=your-app-name.onrender.com
HAS_SSL=True
NO_PORT=True

Deploy On Render

Render Deploy

  1. Fork or upload this repository to GitHub.
  2. Create a new Render Web Service.
  3. Select Docker as the runtime.
  4. Add the required environment variables from the table above.
  5. Deploy the service.

Render must receive a valid PORT environment variable or use the default 8080. If stream links use your Render domain, set:

FQDN=your-app-name.onrender.com
HAS_SSL=True
NO_PORT=True

Deploy On Heroku

Heroku Supported

This repository includes app.json, Procfile, and heroku.yml, so it can also run on Heroku-style deployments.

  1. Create a Heroku app.
  2. Add the required environment variables.
  3. Deploy this repository.
  4. Ensure the worker or web process is enabled according to your hosting setup.

Deploy With Docker

Docker Build

Build the image:

docker build -t dreamxbotz .

Run the container:

docker run --env-file .env -p 8080:8080 dreamxbotz

For Docker Compose, .env is optional at compose-load time, but the bot still needs required variables from .env or your shell environment.

Local Setup

Create and activate a virtual environment:

python -m venv .venv
.venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

Create a .env file from the example and add your configuration:

cp .env.example .env

Then run:

python bot.py

Commands

User Commands Admin Commands

User Commands

Command Description
/start Start the bot
/settings Open group settings
/id Get Telegram ID
/info Get user information
/imdb Search IMDb/movie details
/search Search IMDb/movie details
/movies Search movie titles in private chat
/series Search series titles in private chat
/plan View premium plans
/myplan Check active premium plan
/redeem Redeem a premium code
/font Generate styled text in private chat
/img Upload replied media to Telegraph
/cup Upload replied media to Telegraph
/telegraph Upload replied media to Telegraph
/stickerid Get sticker file ID
/alive Check bot status
/ping Check bot response time
/system Show system information
/request Send a group request report
#request Send a group request report

Admin Commands

Command Description
/stats Show database stats
/logs Get bot logs
/commands Set bot command menu
/movie_update Toggle movie update notifications
/pm_search Toggle private message search
/verify Manage verification status
/delete Delete a specific file from database
/deleteall Delete all files from database
/deletefiles Delete PreDVD/CamRip files
/save Save replied file to the bot
/send Send a message to a user
/post Create a formatted post from a replied file
/setskip Set skip count for indexing forwarded links
/broadcast Broadcast to users
/grp_broadcast Broadcast to groups
/clear_junk Clean junk users
/junk_group Clean junk groups
/clear_junk_group Clean junk groups
/clean_groups Clean invalid or inactive groups
/ban Ban a user
/unban Unban a user
/banned List banned users
/users List saved users
/chats List saved chats
/invite Create invite link for a chat
/enable Enable a disabled group
/disable Disable a group
/leave Make bot leave a group
/add_premium Add premium access
/get_premium Generate premium payment link
/remove_premium Remove premium access
/premium_users List premium users
/add_redeem Create redeem code
/restart Restart the bot
/reload Reload group settings
/del_msg Delete bot messages
/maintenance Toggle maintenance mode
/group_cmd Show group command list
/admin_cmd Show admin command list
/top_search Show top searched items
/trendlist Show trending searches
/set_template Set IMDb template
/set_caption Set custom file caption
/set_tutorial Set first verification tutorial link
/set_tutorial_2 Set second verification tutorial link
/set_tutorial_3 Set third verification tutorial link
/set_shortner Set first shortener
/set_shortner_2 Set second shortener
/set_shortner_3 Set third shortener
/set_log_channel Set group log channel
/set_time Set second verification gap
/set_time_2 Set third verification gap
/details Show group verification settings
/set_fsub Set force subscription channels
/resetallgroup Reset all group settings
/trial_reset Reset user trial
/remove_fsub Remove force subscription from a group
/delreq Delete saved join requests

Indexing is handled by forwarding channel messages or sending supported Telegram message links to the bot in private chat.

Public Repo Safety

Security

  • Do not commit .env, session files, logs, or virtual environments.
  • Rotate any token or API key that was previously committed publicly.
  • Keep real values only in your hosting provider environment variables.
  • For public forks, avoid hardcoding shortener, TMDB, Telegraph, MongoDB, or Telegram credentials.

Troubleshooting

Bot does not start

Check that BOT_TOKEN, API_ID, API_HASH, DATABASE_URI, LOG_CHANNEL, and ADMINS are set correctly.

MongoDB connection error

Check that DATABASE_URI is valid, the database user has access, and your hosting provider IP is allowed in MongoDB Atlas.

Stream links are wrong

Set FQDN, HAS_SSL, and NO_PORT according to your hosting provider domain.

License

This project is licensed under the MIT License.

Credits

Special thanks to:

Thanks to the DreamXBotz community and all contributors who worked on the original project and related modules.

About

Advance Autofilter Bot With Some Exclusive Features

Topics

Resources

License

Stars

123 stars

Watchers

3 watching

Forks

Packages

 
 
 

Contributors

Languages