Nextwave is a fork of the package Wavelink. Nextwave is a robust and powerful Lavalink wrapper for Nextcord.py. Nextwave features a fully asynchronous API that's intuitive and easy to use with built in Spotify Support and Node Pool Balancing.
Nextwave Official Documentation .
The following commands are currently the valid ways of installing WaveLink.
Nextwave requires Python 3.8+
Windows
py -3.9 -m pip install -U nextwave
Linux
python3.9 -m pip install -U nextwave
A quick and easy bot example:
import nextwave
from nextcord.ext import commands
class Bot(commands.Bot):
def __init__(self):
super().__init__(command_prefix='>?')
async def on_ready(self):
print('Bot is ready!')
class Music(commands.Cog):
"""Music cog to hold Wavelink related commands and listeners."""
def __init__(self, bot: commands.Bot):
self.bot = bot
bot.loop.create_task(self.connect_nodes())
async def connect_nodes(self):
"""Connect to our Lavalink nodes."""
await self.bot.wait_until_ready()
await nextwave.NodePool.create_node(bot=bot,
host='0.0.0.0',
port=2333,
password='YOUR_LAVALINK_PASSWORD')
@commands.Cog.listener()
async def on_nextwave_node_ready(self, node: nextwave.Node):
"""Event fired when a node has finished connecting."""
print(f'Node: <{node.identifier}> is ready!')
@commands.command()
async def play(self, ctx: commands.Context, *, search: nextwave.YouTubeTrack):
"""Play a song with the given search query.
If not connected, connect to our voice channel.
"""
if not ctx.voice_client:
vc: nextwave.Player = await ctx.author.voice.channel.connect(cls=wavelink.Player)
else:
vc: nextwave.Player = ctx.voice_client
await vc.play(search)
bot = Bot()
bot.add_cog(Music(bot))
bot.run('YOUR_BOT_TOKEN')
Head to the official Lavalink repo and give it a star!
- Create a folder for storing Lavalink.jar and related files/folders.
- Copy and paste the example application.yml to
application.yml
in the folder we created earlier. You can open the yml in Notepad or any simple text editor. - Change your password in the
application.yml
and store it in a config for your bot. - Set local to true in the
application.yml
if you wish to usenextwave.LocalTrack
for local machine search options... Otherwise ignore. - Save and exit.
- Install Java 17(Windows) or Java 13+ on the machine you are running.
- Download Lavalink.jar and place it in the folder created earlier.
- Open a cmd prompt or terminal and change directory
cd
into the folder we made earlier. - Run:
java -jar Lavalink.jar
If you are having any problems installing Lavalink, please join the official Discord Server listed above for help.