Git Product home page Git Product logo

tg-mediainfobot's Introduction

Telegram MediaInfoBot


This Telegram Bot can perform various tasks with media files, such as :-

  • Generating Mediainfo from Google Drive links, direct download links, and Telegram files, and displaying the information on a custom-designed website.
  • Creating screenshots from Google Drive links, direct download links, and Telegram files, and posting them on slow.pics
  • Generating custom-duration video samples from video files.
  • Creating spectrograms of Telegram audio files and displaying them as images.
  • pasting the text in the katb.in website.

Note: This Bot is made on top of this repository -> https://github.com/sanjit-sinha/TelegramBot-Boilerplate


Screenshots

Exmaple Links
( MediainfoScreenshotAudiograph )


Bot Commands and Usage

  • /m or /mediainfo - Type link after command or Reply to telegram file to generate Mediainfo.
  • /ss or /screenshot - Type link after command or Reply to telegram video file to generate screenshots.
  • /sample or /trim - Type link after command or Reply to telegram video file to generate sample video.
  • /spek or /sox - Reply to Telegram file to generate audio spectogram.
  • /paste - paste your text in katb.in website.

Additional Flags for screenshot and mediainfo command :-

--count=10 [ Number of screenshots. Default 10, Max 20 ], --fps=10 [ Difference between two consecutive screenshots in seconds. Default 5, Max 15 ]. --time=01:20:10 [ Time from where the screenshots should be taken in HH:MM:SS format ], --hdr [ For HDR Videos.]

--r [ For raw Mediainfo in document format. ]

(Few more commands /start /help /ping /update /logs)


Bot Deployment

Install and update Dependencies

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y python3-pip
sudo pip3 install -U pip
sudo apt-get install -y --no-install-recommends mediainfo ffmpeg
sudo apt-get install libsox-fmt-mp3
sudo apt-get install sox 

clone the repository and install the requirements

git clone https://github.com/sanjit-sinha/Tg-MediaInfoBot
cd Tg-MediaInfoBot
pip3 install -U -r requirements.txt

Now edit the config vars by typing nano config.env and save it by pressing ctrl+o and ctrl+x.

Getting Google OAuth API credential.json file and token.json (important)
  • NOTES

    • You need credentials.json and token.json in root folder for bot to work.
    • Old authentication changed, now we can't use bot or replit to generate token.json. You need OS with a local browser. For example Termux.
    • You can ONLY open the generated link from token_generator.py in local browser.

    STEPS

    • Visit the Google Cloud Console
    • Go to the OAuth Consent tab, fill it, and save.
    • Go to the Credentials tab and click Create Credentials -> OAuth Client ID
    • Choose Desktop and Create.
    • Publish your OAuth consent screen App to prevent token.json from expire
    • Use the download button to download your credentials.
    • Rename that file into credentials.json and move that file to the root of repo.
    • Visit Google API page
    • Search for Google Drive Api and enable it in Google Cloud Console
    • Finally, run the script from inside of repository

    pip3 install google-api-python-client google-auth-httplib2 google-auth-oauthlib
    python3 token_generator.py

Now you can start the bot by simply typing bash start or python3 -m TelegramBot

The bot will stop working once you logout from the server. You can run the bot 24*7 in the server by using tmux.

sudo apt install tmux -y
tmux
bash start

Now the bot will run 24*7 even if you logout from the server. Click here to know about tmux and screen advance commands.

Note You can also Deploy Bot using Docker

docker build . -t mediainfobot 
docker run mediainfobot

Copyright and License



Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.