v1.0.0 — Now Available on PyPI

RevvLink

v4 Lavalink
410 Tests Passing
3.10+ Python
MIT License

Music in 30 Seconds

From zero to streaming music in your Discord bot with just a few lines of code.

bot.py
Python
# 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())

Built for Scale

Every feature is designed with production workloads in mind.

Elite Performance

Fully async architecture handles thousands of concurrent players with minimal overhead using efficient asyncio patterns.

Self-Healing Pool

Automatic node failover and session recovery. If a node drops, your music keeps playing seamlessly on another node.

Regional Load Balancing

Intelligent penalty-based node selection routes players to the best Lavalink node based on latency and load.

Precision Filters

Professional-grade audio manipulation — Bass Boost, Nightcore, Timescale, 15-band EQ with millisecond precision.

Intelligent AutoPlay

Recommendation engine fetches related tracks automatically, keeping queues flowing without any user input.

Strictly Typed

Full Pyright strict compliance. Every class, method, and parameter is typed — your IDE will always guide you correctly.

How It Works

RevvLink sits between your Discord bot and one or more Lavalink servers, managing connections, players, and audio routing automatically.

Voice ChannelLavaLink Node 1LavaLink Node 3RevvLink WrapperMusic BotHandshake on initialization LavaLink PoolAsia RegionUS RegionS-America Region Africa RegionLavaLink Node 2LavaLink Node 4Handshakeonstartup join / play command Createsa PlayerinstancePlayerLFU CacheYouTubeYT MusicSpotifyApple MusicSoundCloud DeezerTwitchBandcampDirect URL Yandex MusicVK MusicMusic Sources- Queue System- Filters System- DAVE Protocol- State Management- Penalty Based Node Balancing- Auto Node Shifter- Silent Node ReconnectingEvent Driven Handshake

Ready to Build?

Join developers building the next generation of Discord music bots with RevvLink.

pip install revvlink