Skip to main content

Lavalink client library for Red-DiscordBot

Project description

Travis CI status Documentation Status Code style: black

A Lavalink client library written for Python 3.8 using the AsyncIO framework. This library may be used for other projects as it contains no Red specific code or logic.

However, it is important to note that this library only supports projects using discord.py.

To install:

pip install red-lavalink

Usage

import lavalink
from discord.ext.commands import Bot


class MyBot(Bot):
    async def setup_hook(self):
        await lavalink.initialize(
            self, host='localhost', password='password', port=2333
        )


async def search_and_play(voice_channel, search_terms):
    player = await lavalink.connect(voice_channel)
    tracks = await player.search_yt(search_terms)
    player.add(tracks[0])
    await player.play()

Shuffling

def shuffle_queue(player_id, forced=True):
    player = lavalink.get_player(player_id)
    if not forced:
        player.maybe_shuffle(sticky_songs=0)
        """
        `player.maybe_shuffle` respects `player.shuffle`
        And will only shuffle if `player.shuffle` is True.

        `player.maybe_shuffle` should be called every time
        you would expect the queue to be shuffled.

        `sticky_songs=0` will shuffle every song in the queue.
        """
    else:
        player.force_shuffle(sticky_songs=3)
        """
        `player.force_shuffle` does not respect `player.shuffle`
        And will always shuffle the queue.

        `sticky_songs=3` will shuffle every song after the first 3 songs in the queue.
        """

When shutting down, be sure to do the following:

await lavalink.close(bot)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Red-Lavalink-0.11.0.tar.gz (34.0 kB view details)

Uploaded Source

Built Distribution

Red_Lavalink-0.11.0-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page