Skip to content

cyraxxPy/Heroku-Lavalink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Lavalink for Heroku

Modified lavalink for Heroku

Made with Python 3.7 discord.py

Deployment

Deploy

Easy way

  • Click the button "Deploy to Heroku" above to install

Alternative way

  • Create an application on Heroku
  • Add Java to buildpacks
  • Fork this repo and deploy it to Heroku

Features

  • Uses latest release of Lavalink on (re)start
  • Free to use
  • Easy setup in 3 clicks

Requirements

  • Some knowledge of python
  • Library to connect with Lavalink server Lavalink.py or Wavelink.py (you can also use other wrappers)
  • Your time and mind!

Notes:

  • To run this 24/7, you need to make an account on UptimeRobot service, and make HTTP request to your app every 5 minutes. For example, if your app is named test-lavalink then make HTTP request to http://test-lavalink.herokuapp.com

  • Do not forget to edit config file (application.yml)

  • Do not forget to set your password (PASSWORD environment variable)

  • Do not change address and port in (application.yml)

  • This repo means for students who cant pay and want to work or test lavalink. You might face music lags as heroku doesnt have high cpu specs.

Connecting

  • Lavalink's port will be always 80, DO NOT edit port in application.yml!
  • Password is in PASSWORD environment variable, if variable does not exist, it is youshallnotpass

Examples

Python

discord.py rewrite

    async def start_nodes(self):
        await self.bot.wait_until_ready()

        await self.bot.wavelink.initiate_node(host='test-lavalink.herokuapp.com',
                                              port=80,
                                              rest_uri='http://test-lavalink.herokuapp.com:80',
                                              password='youshallnotpass',
                                              identifier='MAIN',
                                              region='us')

        # ...
        if not hasattr(bot, 'lavalink'):  # This ensures the client isn't overwritten during cog reloads.
            bot.lavalink = lavalink.Client(bot.user.id)
            bot.lavalink.add_node('test-lavalink.herokuapp.com', 80, 'youshallnotpass', 'us', 'default-node')  # Host, Port, Password, Region, Name
            bot.add_listener(bot.lavalink.voice_update_handler, 'on_socket_response')

        bot.lavalink.add_event_hook(self.track_hook)

Proper Examples:

Advanced

If you don't like default Heroku options for Java:

  • You can set custom Java flags in ADDITIONAL_JAVA_OPTIONS variable. They override default config. Do not do this if you don't know what you're doing

Credits

Contact

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages