/VCPlayerBot

Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live steams, YouTube videos and telegram media. Supports scheduling streams, recording and many more.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

VCPlayerBot

GitHub Repo stars GitHub issues GitHub pull requests GitHub contributors GitHub forks

Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live streams, YouTube videos and telegram media. With record stream support, Schedule streams, and many more.

Config Vars:

Mandatory Vars

  1. API_ID : Get From my.telegram.org
  2. API_HASH : Get from my.telegram.org
  3. BOT_TOKEN : @Botfather
  4. SESSION_STRING : Generate From here GenerateStringName
  5. CHAT : ID of Channel/Group where the bot plays Music.

Recommended Optional Vars

  1. 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.
  2. HEROKU_API_KEY: Your heroku api key. Get one from here
  3. HEROKU_APP_NAME: Your heroku apps name.

Optional Vars

  1. LOG_GROUP : Group to send Playlist, if CHAT is a Group()
  2. ADMINS : ID of users who can use admin commands.
  3. 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 Dumb or get a PlayList from PlayList Extract. The PlayList link should in form https://t.me/DumpPlaylist/xxx.
  4. 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.)
  5. ADMIN_ONLY : Pass True If you want to make /play command only for admins of CHAT. By default /play is available for all.(Configurable through bot if mongodb added.)
  6. DATABASE_NAME: Database name for your mongodb database.
  7. SHUFFLE : Make it False if you dont want to shuffle playlists. (Configurable through bot if mongodb added.)
  8. EDIT_TITLE : Make it False if you do not want the bot to edit video chat title according to playing song. (Configurable through bot if mongodb added.)
  9. RECORDING_DUMP : A Channel ID with the USER account as admin, to dump video chat recordings.
  10. RECORDING_TITLE: A custom title for your videochat recordings.
  11. TIME_ZONE : Time Zone of your country, by default IST
  12. IS_VIDEO_RECORD : Make it False if you do not want to record video, and only audio will be recorded.(Configurable through bot if mongodb added.)
  13. IS_LOOP ; Make it False if you do not want 24 / 7 Video Chat. (Configurable through bot if mongodb added.)
  14. IS_VIDEO : Make it False if you want to use the player as a musicplayer without video. (Configurable through bot if mongodb added.)
  15. PORTRAIT: Make it True if you want the video recording in portrait mode. (Configurable through bot if mongodb added.)
  16. DELAY : Choose the time limit for commands deletion. 10 sec by default.
  17. QUALITY : Customize the quality of video chat, use one of high, medium, low .
  18. BITRATE : Bitrate of audio (Not recommended to change).
  19. FPS : Fps of video to be played (Not recommended to change.)

Requirements

  • Python 3.8 or Higher.
  • FFMpeg.

Deploy to Heroku

Deploy

Deploy to Railway

Deploy to VPS

git clone https://github.com/subinps/VCPlayerBot
cd VCPlayerBot
pip3 install -r requirements.txt
# <Create Variables appropriately>
python3 main.py

Features

  • Playlist, queue.
  • 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.

Note

Note To A So Called Dev:

Kanging this codes and and editing a few lines and releasing a V.x or an alpha, beta , gama branches of your repo wont make you a Developer. Fork the repo and edit as per your needs.

LICENSE

CREDITS