- Index channel or group files for inline search.
- When you post file on telegram channel or group this bot will save that file in database, so you can search easily in inline mode.
- Supports document, video and audio file formats with caption support.
Watch this video to create bot - https://youtu.be/dsuTn4qV2GA
# 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.pyCheck sample_info.py before editing info.py file
docker run -d \ -e BOT_TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" \ -e API_ID='12345' \ -e API_HASH='0123456789abcdef0123456789abcdef' \ -e CHANNELS='-10012345678' \ -e ADMINS='123456789' \ -e DATABASE_URI="mongodb+srv://...mongodb.net/Database?retryWrites=true&w=majority" \ -e DATABASE_NAME=databasename \ --restart on-failure \ --name mediasearchbot botxtg/media-search-bot You can also run with env file like below,
docker run -d \ --env-file .env \ --restart on-failure \ --name mediasearchbot botxtg/media-search-bot BOT_TOKEN: Create a bot using @BotFather, and get the Telegram API token.API_ID: Get this value from telegram.orgAPI_HASH: Get this value from telegram.orgCHANNELS: Username or ID of channel or group. Separate multiple IDs by spaceADMINS: Username or ID of Admin. Separate multiple Admins by spaceDATABASE_URI: mongoDB URI. Get this value from mongoDB. For more help watch this videoDATABASE_NAME: Name of the database in mongoDB. For more help watch this video
COLLECTION_NAME: Name of the collections. Defaults to Telegram_files. If you going to use same database, then use different collection name for each botCACHE_TIME: The maximum amount of time in seconds that the result of the inline query may be cached on the serverUSE_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: Username or ID of channel. Without subscribing this channel users cannot use bot.START_MSG: Welcome message for start command.INVITE_MSG: Auth channel invitation message.USERBOT_STRING_SESSION: User bot string session.
channel - Get basic infomation about channels total - Show total of saved files delete - Delete file from database index - Index all files from channel or group logger - Get log file - Use
indexcommand or run one_time_indexer.py file to save old files in the database that are not indexed yet. - 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.
Contributions are welcome.
Thanks to Pyrogram
Update Channel and Support Group
Code released under The GNU General Public License.