{% extends "main.html" %} {% block content %}
From zero to streaming music in your Discord bot with just a few lines of code.
# 1. Connect your Lavalink node
import revvlink
async def setup_hook(self) -> None:
nodes = [revvlink.Node(uri="http://localhost:2333", password="youshallnotpass")]
await revvlink.Pool.connect(nodes=nodes, client=self)
# 2. Search and play a track
async def play(ctx, *, query: str) -> None:
player: revvlink.Player = await ctx.author.voice.channel.connect(cls=revvlink.Player)
tracks: revvlink.Search = await revvlink.Playable.search(query)
await player.queue.put_wait(tracks[0])
if not player.playing:
await player.play(player.queue.get())
Every feature is designed with production workloads in mind.
Fully async architecture handles thousands of concurrent players with minimal overhead using efficient
asyncio patterns.
Automatic node failover and session recovery. If a node drops, your music keeps playing seamlessly on another node.
Intelligent penalty-based node selection routes players to the best Lavalink node based on latency and load.
Professional-grade audio manipulation — Bass Boost, Nightcore, Timescale, 15-band EQ with millisecond precision.
Recommendation engine fetches related tracks automatically, keeping queues flowing without any user input.
Full Pyright strict compliance. Every class, method, and parameter is typed — your IDE will always guide you correctly.
Built-in support for Context 7 means AI can read our docs perfectly, helping you build bots faster and smoother than ever.
RevvLink sits between your Discord bot and one or more Lavalink servers, managing connections, players, and audio routing automatically.
Join developers building the next generation of Discord music bots with RevvLink.
pip install revvlink