SmartVCPlayer bot streams videos & audio in Telegram voice chats for both groups and channels, supporting live streams, YouTube videos, Telegram media, scheduling, recording, and more.
- Playlist and Queue Management: Smooth transitions with zero downtime.
- Video Recording: Capture moments directly from voice chats.
- Voicechat Scheduling: Plan and automate your streams.
- Flexible UI: Easy control over the player with an intuitive interface.
- Customizable Settings: Toggle between audio or video modes, adjust quality, and more.
- YouTube Playlist Support: Stream directly from YouTube playlists.
- Live Streaming: Support for YouTube live streams.
- Telegram File Playback: Play media files shared within Telegram.
- Auto-Restart: Reliable operation through automatic restarts, even after platform reboots.
- Playlist Import/Export: Easily manage your playlists.
- Rich Customization: Change the voice chat title to the currently playing song, and much more.
API_ID
- Obtain from my.telegram.orgAPI_HASH
- Obtain from my.telegram.orgBOT_TOKEN
- Create a bot via @BotfatherSESSION_STRING
- Generate usingCHAT
- Channel/Group ID where the bot plays music.
DATABASE_URI
- MongoDB database Url, recommended for full feature access, obtain from mongodb.HEROKU_API_KEY
- Your Heroku API key, generate here.HEROKU_APP_NAME
- Your Heroku app's name.FILTERS
- Customize search filters for channel play (e.g.,video document
,video document audio
,video
).
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.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
: PassTrue
If 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 itFalse
if you dont want to shuffle playlists. (Configurable through bot if mongodb added.)EDIT_TITLE
: Make itFalse
if 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 itFalse
if you do not want to record video, and only audio will be recorded.(Configurable through bot if mongodb added.)IS_LOOP
; Make itFalse
if you do not want 24 / 7 Video Chat. (Configurable through bot if mongodb added.)IS_VIDEO
: Make itFalse
if you want to use the player as a musicplayer without video. (Configurable through bot if mongodb added.)PORTRAIT
: Make itTrue
if 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.)
To avoid errors related to YouTube sign-in requirements, using a cookie file is effective. Here's how to set it up:
-
Create a Dedicated Chrome Profile:
- It's recommended to create a new Chrome profile for managing your bot's cookies.
-
Install a Cookie Management Extension:
- Use "Cookie Editor" or similar extensions to manage your cookies.
-
Export Cookies from YouTube:
- Log into YouTube in your new browser profile and export cookies in Netscape format via the cookie extension.
-
Save the Cookies File:
- Update your
cookies.txt
in theSmartVCPlayer/ytcookies
directory of your project.
- Update your
-
Cookie Expiry:
- Refresh your cookies by exporting new ones if you encounter download issues.
-
Cookie Depletion:
- Avoid frequent bot restarts and excessive YouTube requests to prevent early cookie expiry.
This setup should help manage YouTube content access efficiently without encountering sign-in or bot protection errors.
- Python 3.8 or higher.
- NodeJS 15.0.0 or higher.
- FFMpeg
git clone https://github.com/bisnuray/SmartVCPlayer
cd SmartVCPlayer
pip3 install -r requirements.txt
# install node js
sudo bash install_node.sh
# <Create Variables appropriately (.env [optional])> Or Directly Edit Config.py
python3 main.py
- Name: Subin
- Telegram: @subin_works
- Name: Bisnu Ray
- Telegram: @SmartBisnuBio
Editing a few lines of code and claiming authorship does not make you a developer. Fork responsibly and credit original sources.
Huge thanks to the following individuals and their projects for making SmartVCPlayer possible:
- Laky-64 for py-tgcalls, enabling advanced voice chat capabilities.
- Dan for Pyrogram, a robust framework for Telegram bot development.
Their contributions are pivotal to the functionality and success of SmartVCPlayer.