/tools

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

Modified Version Of Media Search bot

FEATURES

⬜ Auto Filter ⬜ Manual Filter ⬜ IMDB ⬜ Admin Commands ⬜ Broadcast ⬜ Index ⬜ IMDB search ⬜ Inline Search ⬜ Random pics ⬜ ids and User info ⬜ Stats, Users, Chats, Ban, Unban, Leave, Disable, Channel ⬜ Spelling Check Feature

Added Features

  • Imdb posters for autofilter.
  • Custom captions for your files.
  • Index command to index all the files in a given channel (No USER_SESSION Required).
  • Ability to Index Public Channels without being admin.
  • Support Auto-Filter (Both in PM and in Groups)
  • Once files saved in Database , exists until you manually deletes. (No Worry if post gets deleted from source channel.)
  • Added Force subscribe (Only channel subscribes can use the bot)
  • Ability to restrict groups(AUTH_GROUPS)

Installation

Easy Way

Deploy

Hard Way

# Create virtual environment
python3 -m venv env

# Activate virtual environment
env\Scripts\activate.bat # For Windows
source env/bin/activate # For Linux or MacOS

# Install Packages
pip3 install -r requirements.txt

# Edit info.py with variables as given below then run bot
python3 bot.py

Check sample_info.py before editing info.py file

Variables

Required Variables

  • BOT_TOKEN: Create a bot using @BotFather, and get the Telegram API token.
  • API_ID: Get this value from telegram.org
  • API_HASH: Get this value from telegram.org
  • CHANNELS: Username or ID of channel or group. Separate multiple IDs by space
  • ADMINS: Username or ID of Admin. Separate multiple Admins by space
  • DATABASE_URI: mongoDB URI. Get this value from mongoDB. For more help watch this video
  • DATABASE_NAME: Name of the database in mongoDB. For more help watch this video
  • LOG_CHANNEL : A channel to log the activities of bot. Make sure bot is an admin in the channel.

Optional Variables

  • OMDB_API_KEY: OMBD_API_KEY to generate imdb poster for filter results.Get it from omdbapi.com
  • CUSTOM_FILE_CAPTION : A custom caption for your files. You can format it with file_name, file_size, file_caption.(supports html formating). Don't use '\n' for now. Example: <b>Join [XTZ Bots](https://t.me/subin_works) for more useful bots</b> <code>{file_name}</code> Size{file_size} {file_caption}.
  • AUTH_GROUPS : ID of groups which bot should work as autofilter, bot can only work in thease groups. If not given , bot can be used in any group.
  • COLLECTION_NAME: Name of the collections. Defaults to Telegram_files. If you going to use same database, then use different collection name for each bot
  • CACHE_TIME: The maximum amount of time in seconds that the result of the inline query may be cached on the server
  • USE_CAPTION_FILTER: Whether bot should use captions to improve search results. (True/False)
  • AUTH_USERS: Username or ID of users to give access of inline search. Separate multiple users by space. Leave it empty if you don't want to restrict bot usage.
  • AUTH_CHANNEL: ID of channel. Without subscribing this channel users cannot use bot.
  • START_MSG: Welcome message for start command.
  • BUTTON : Set this to True only if you want close button.

Note

Admin commands

• /logs - to get the rescent errors
• /stats - to get status of files in db.
* /filter - add manual filters
* /filters - view filters
* /connect - connect to PM.
* /disconnect - disconnect from PM
* /del - delete a filter
* /delall - delete all filters
* /deleteall - delete all index(autofilter)
* /delete - delete a specific file from index.
* /info - get user info
* /id - get tg ids.
* /imdb - fetch info from imdb.
• /users - to get list of my users and ids.
• /chats - to get list of the my chats and ids 
• /index  - to add files from a channel
• /leave  - to leave from a chat.
• /disable  -  do disable a chat.
* /enable - re-enable chat.
• /ban  - to ban a user.
• /unban  - to unban a user.
• /channel - to get list of total connected channels
• /broadcast - to broadcast a message to all Eva Maria users

● channel - Get basic infomation about channels
● total - Show total of saved files
● delete - Delete file from database
● index - Index all files from channel.
● logger - Get log file

Tips

  • You can use | to separate query and file type while searching for specific type of file. For example: Avengers | video
  • If you don't want to create a channel or group, use your chat ID / username as the channel ID. When you send a file to a bot, it will be saved in the database.

Thanks to

Support

Contact Me On Telegram

Update Channel

License

Code released under The GNU General Public License.