/MusicPlayerV3

An Advanced Telegram Bot to Play Radio & Music in Voice Chat. This is Also The Source Code of The Bot Which is Being Used For Playing Radio in @AsmSafone Channel ❤️

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

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

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:

  1. API_ID : Get it from https://my.telegram.org/apps
  2. API_HASH : Get it from https://my.telegram.org/apps
  3. BOT_TOKEN : Get it from @Botfather XD
  4. SESSION_STRING : Generate from @genStr robot or genStr
  5. CHAT_ID : ID of Channel/Group where the bot plays Music/Radio.
  6. LOG_GROUP : ID of Group to send Playlist, if CHAT_ID is a Group.
  7. AUTH_USERS : ID of Auth Users who can use Admin commands. (for multiple users seperated by space)
  8. 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.
  9. MAXIMUM_DURATION : Maximum duration of song to play.(Optional)
  10. REPLY_MESSAGE : A reply to those who message the USER account in PM. Leave it blank if you do not need this feature.
  11. ADMIN_ONLY : Pass 'True' If you want to make /play commands only for admins of CHAT. By default /play is available for all.
  12. HEROKU_API_KEY: Your Heroku api key. Get it from here
  13. HEROKU_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 given STREAM_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/>

Credits