Powerful Telegram auto-filter, file indexing, verification, premium, and streaming bot.
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.
- Features
- Requirements
- Environment Variables
- Deploy On Render
- Deploy On Heroku
- Deploy With Docker
- Local Setup
- Commands
- Troubleshooting
- Credits
| 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 |
- Python 3.12+
- MongoDB database URI
- Telegram bot token from @BotFather
- Telegram
API_IDandAPI_HASHfrom my.telegram.org - A log channel where the bot is added as admin
| Link | URL |
|---|---|
| Demo Bot | Open on Telegram |
| Support Group | Join Support |
| Telegram API | my.telegram.org |
| BotFather | Create Bot |
| MongoDB Atlas | Create Database |
| 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 |
| 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 |
Copy .env.example to .env and fill your real values:
cp .env.example .envBOT_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- Fork or upload this repository to GitHub.
- Create a new Render Web Service.
- Select Docker as the runtime.
- Add the required environment variables from the table above.
- 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=TrueThis repository includes app.json, Procfile, and heroku.yml, so it can also run on Heroku-style deployments.
- Create a Heroku app.
- Add the required environment variables.
- Deploy this repository.
- Ensure the worker or web process is enabled according to your hosting setup.
Build the image:
docker build -t dreamxbotz .Run the container:
docker run --env-file .env -p 8080:8080 dreamxbotzFor Docker Compose, .env is optional at compose-load time, but the bot still needs required variables from .env or your shell environment.
Create and activate a virtual environment:
python -m venv .venv
.venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtCreate a .env file from the example and add your configuration:
cp .env.example .envThen run:
python bot.py| 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 |
| 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.
- 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.
Check that BOT_TOKEN, API_ID, API_HASH, DATABASE_URI, LOG_CHANNEL, and ADMINS are set correctly.
Check that DATABASE_URI is valid, the database user has access, and your hosting provider IP is allowed in MongoDB Atlas.
Set FQDN, HAS_SSL, and NO_PORT according to your hosting provider domain.
This project is licensed under the MIT License.
Special thanks to:
Thanks to the DreamXBotz community and all contributors who worked on the original project and related modules.
