This is a simple hobby project which I was really curious about to implement. This is a Telegram bot which uses Youtube Data API v3 to upload videos to Youtube.
❗ This project requires Python3.6 or higher
Clone and setup virtual environment
$ git clone https://github.com/meaall-com/meaa.git $ cd utube $ virtualenv venv $ source venv/bin/activate
BOT_TOKEN(Required) - Get your bot token from Bot Father.
SESSION_NAME(optional) - Your bot's username.
API_ID(Required) - Your telegram api id, get from Manage Apps.
API_HASH(Required) - Your telegram api hash, get from Manage Apps.
CLIENT_ID(Required) - Your google client id.
CLIENT_SECRET(Required) - Your google client secret.
BOT_OWNER(Required) - Telegram id of bot owner.
AUTH_USERS(optional) - Telegram id's of authorised users, separated by
VIDEO_DESCRIPTION(optional) - Any default description to be aded to the video.
VIDEO_CATEGORY(optional) - YouTube's video category id. If not specified or specified id is invalid, category id will be selected randomly.
VIDEO_TITLE_PREFIX(optional) - Any prefix to be added to the video's title.
VIDEO_TITLE_SUFFIX(optional) - Any suffix to be added to the video's title.
UPLOAD_MODE(optional) - The video's privacy status. Valid values for this property are:
DEBUG(optional) - Whether to set logging level to DEBUG. If set logging will be set to DEBUG level, else INFO level.
Youtube Uploaderand enable
API'S AND SERVISES. Search for
YOUTUBE DATA API v3and enable the API. Go to Credentials page, select your project
Youtube Uploadercreate a new credential with
desktopas type. Copy the
$ pip3 install -r requirements.txt
Lets run our bot for the first time!
$ python3 -m bot
If you did everything correctly, the bot should be running. Go do
/start to see if the bot is live or not. Follow the instructions provided by bot to setup authorisation and to start uploading.
Or the easy way of directly deploying to heroku
This project is actively maintained and will continue so until I'm tired of it.
With the Youtube Data API you are awarded with 10,000 points of requests. For one video upload it costs 1605 points, regardless of file size, which calculates to about 6 uploads daily. Once you have exhausted your daily points, you have to wait till daily reset. Resets happens at 0:00 PST, i.e. 12:30 IST. So make your uploads count.
Uploading copyright contents will leads to immediate blocking of the video.
By default, all the videos are uploaded as private with random category id unless you provide
VIDEO_CATEGORY. You may change it after youtube processes the video.
You can contact me مع الله.
Code released under GNU General Public License v3.0.