/FalloutRadio

Discord.py Rewrite Music Bot

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

Fallout Radio (A discord.py Music Bot)

A Fallout Radio themed discord bot to bring the wasteland to your server! This music bot aims to bring those long hours listening to your favourite radio staions across all fallout games right to your discord call! This bot also doubles as a music bot with the ability to stream off a youtube url so if the fallout radios arent for you then you have other options! Written with discord.py rewrite this bot is open source so that making a music bot has never been easier!

Prerequisites

  • Have python and discord installed. Go here for the latest release of python and go here for the latest version of Discord.

Getting Started & Installtion

To Install on your system check the wiki. For Windows installtion go here and for linux installtion go here

Test Server

An Extensive Help Menu and List of Stations

Hosting

  • I dont know how to host this on heroku (yet) but will attempt to learn. As of now i have it deployed on a windows machine on AWS free 1 year trial.

Code For Playing a Staion

  • An example code of a staion
@client.command()
async def diamondcity(ctx):
   guild = ctx.guild
   channel = ctx.author.voice.channel
   await channel.connect()
   await ctx.send("Tuning in to Diamond City Radio!")
   voice = discord.utils.get(client.voice_clients, guild=ctx.guild)
   mp3_path = "D:\\Bot\\4.DiamondCity"
   exc_path = "D:\\Bot\\ffmpeg\\bin\\ffmpeg.exe"
   path = "D:\\Bot\\4.DiamondCity"
   files=os.listdir(path)

   for _ in os.listdir(path):
       d = random.choice(files)

       if not voice.is_playing():
           print(f"Playing \"{d}\"")
           voice.play(
               discord.FFmpegPCMAudio(
                   executable=exc_path,
                   source=os.path.join(mp3_path, d)
               )
           )

       while voice.is_playing():
           await asyncio.sleep(0.25)

Built With

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Authors

Acknowledgments

  • Special Thanks to Xhiro for helping (a lot) with this project
  • The People in the python Discord
  • & Zxcer who helped a little