/RadioPlayerV3

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 Mentioned in Awesome Telegram Calls

GitHub Repo stars GitHub forks GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests GitHub contributors GitHub repo size GitHub commit activity GitHub Bot Updates Bot Support

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:

  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