VCPlayerBot
Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live steams, YouTube videos and telegram media.
Variables
See Variables
Pre Requisites
API_ID: Get from my.telegram.orgAPI_HASH: Get from my.telegram.orgBOT_TOKEN: Get From @BotfatherSESSION_STRING: Generate From hereChat: ID of Channel/Group where the bot plays Music.
Recommended Optional Vars
DATABASE_URI: MongoDB database Url, get from mongodb. This is an optional var, but it is recomonded to use this to experiance the full features.HEROKU_API_KEY: Your heroku api key. Get one from hereHEROKU_APP_NAME: Your heroku apps name.FILTERS: Filter the search for channel play. Channel play means you can play all the files in a purticular channel using /cplay command. Current filters arevideo document. For searching audio files usevideo document audio. for video only search , usevideoand so on.
Optional Vars
LOG_GROUP: Group to send Playlist, if CHAT is a Group()ADMINS: ID of users who can use admin commands.STARTUP_STREAM: This will be streamed on startups and restarts of bot. You can use either any STREAM_URL or a direct link of any video or a Youtube Live link. You can also use YouTube Playlist.Find a Telegram Link for your playlist from PlayList Extract. The PlayList link should in formhttps://t.me/DumpPlaylist/xxx.REPLY_MESSAGE: A reply to those who message the USER account in PM. Leave it blank if you do not need this feature. (Configurable through bot if mongodb added.)ADMIN_ONLY: PassTrueIf you want to make /play command only for admins ofCHAT. By default /play is available for all.(Configurable through bot if mongodb added.)DATABASE_NAME: Database name for your mongodb database.SHUFFLE: Make itFalseif you dont want to shuffle playlists. (Configurable through bot if mongodb added.)EDIT_TITLE: Make itFalseif you do not want the bot to edit video chat title according to playing song. (Configurable through bot if mongodb added.)RECORDING_DUMP: A Channel ID with the USER account as admin, to dump video chat recordings.RECORDING_TITLE: A custom title for your videochat recordings.TIME_ZONE: Time Zone of your country, by default ISTIS_VIDEO_RECORD: Make itFalseif you do not want to record video, and only audio will be recorded.(Configurable through bot if mongodb added.)IS_LOOP; Make itFalseif you do not want 24 / 7 Video Chat. (Configurable through bot if mongodb added.)IS_VIDEO: Make itFalseif you want to use the player as a musicplayer without video. (Configurable through bot if mongodb added.)PORTRAIT: Make itTrueif you want the video recording in portrait mode. (Configurable through bot if mongodb added.)DELAY: Choose the time limit for commands deletion. 10 sec by default.QUALITY: Customize the quality of video chat, use one ofhigh,medium,low.BITRATE: Bitrate of audio (Not recommended to change).FPS: Fps of video to be played (Not recommended to change.)
Requirements
- Python 3.8 or Higher.
- FFMpeg.
Deploy to Heroku
Deploy to VPS
git clone https://github.com/Wahyu213/VCPlayerBot
cd VCPlayerBot
pip3 install -r requirements.txt
# <Create Variables appropriately (.env [optional])>
python3 main.py
Features
- Playlist, queue.
- Zero downtime in playing.
- Supports Video Recording.
- Supports Scheduling voicechats.
- Cool UI for controling the player.
- Customizabe to audio or video.
- Custom quality for video chats.
- Supports Play from Youtube Playlist.
- Change VoiceChat title to current playing song name.
- Supports Live streaming from youtube
- Play from telegram file supported.
- Starts Radio after if no songs in playlist.
- Automatic restart even if heroku restarts. (Configurable)
- Support exporting and importing playlist.
LICENSE
CREDITS
- Laky for py-tgcalls
- Dan for Pyrogram