Telegram Radio Player V3
An Advanced Telegram Bot to Play Nonstop Radio/Music/YouTube Live in Channel or Group Voice Chats.
This is also the source code of the bot which is being used for playing Radio in AsmSafone Channel & Music in AsmSupport Group.
Special Features
- Playlist, queue, 24x7 radio stream
- Supports Live streaming from youtube
- Starts Radio after if no songs in playlist
- Automatic playback even if heroku restarts
- Show current playing position of the audio
- Control with buttons and commands
- Download songs from youtube as audio
- Change Voice chat title to current playing song name
- Automatically downloads audio for the first two tracks in the playlist to ensure smooth playing
Deploy to Heroku
NOTE: Change the app region to Europe (it will help to make the bot stable)
Deploy to Railway
NOTE: Make Sure You Have Started A Voice Chat In Your Channel/Group Before Deploying!
Config Vars:
API_ID
: Get it from https://my.telegram.org/appsAPI_HASH
: Get it from https://my.telegram.org/appsBOT_TOKEN
: Get it from @Botfather XDSESSION_STRING
: Generate from @genStr robot orCHAT_ID
: ID of Channel/Group where the bot plays Music/Radio.LOG_GROUP
: ID of Group to send Playlist, if CHAT_ID is a Group.AUTH_USERS
: ID of Auth Users who can use Admin commands. (for multiple users seperated by space)STREAM_URL
: Stream URL of radio station or a youtube live video to stream when the bot starts or with /radio command. Here is Some Live Streaming Links.MAXIMUM_DURATION
: Maximum duration of song to play.(Optional)REPLY_MESSAGE
: A reply to those who message the USER account in PM. Leave it blank if you do not need this feature.ADMIN_ONLY
: Pass 'True' If you want to make /play commands only for admins of CHAT. By default /play is available for all.HEROKU_API_KEY
: Your Heroku api key. Get it from hereHEROKU_APP_NAME
: Name of your Heroku app if deploying to heroku.
- Enable the worker after deploy the project to Heroku.
- Bot will starts radio automatically in given
CHAT_ID
with givenSTREAM_URL
after deploy. - 24x7 Music even if heroku restarts, radio stream restarts automatically.
- To play a song use /play as a reply to audio file or a youtube link or use /play [song name].
- To download audio you can use @SafoneMusicBot or
/song
command to the bot. - Use
/help
to know about other commands & their usage.
Requirements
- Python 3.6 or higher.
- Telegram API Key
- FFmpeg Python
- Telegram String Session of the account.
- User Accounts Needs To Be An Admin In The Channel or Group.
- Must Start A Voice Chat In Channel/Group Before Running The Bot.
Run On VPS
$ git clone https://github.com/AsmSafone/RadioPlayerV3
$ cd RadioPlayerV3
$ sudo apt install git curl python3-pip ffmpeg -y
$ pip3 install -U pip
$ pip3 install -r requirements.txt
# <create .env variables appropriately>
$ python3 main.py
License
RadioPlayerV3, Telegram Voice Chat Bot
Copyright (c) 2021 Asm Safone <https://github.com/AsmSafone>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>