Skip to main content

A python client for the audio provider Andesite for use with discord.py.

Project description

granitepy

granitepy is a python wrapper for the Lavalink like audio provider called Andesite for use with discord.py.

Links

Installation

From Pypi

pip install -U granitepy

From Github

pip install -U git+https://github.com/iDevision/granitepy

Example

from discord.ext import commands
import granitepy

bot = commands.Bot(command_prefix = "!")
bot.granitepy = granitepy.Client(bot)

@bot.event
async def on_ready():
    await bot.granitepy.create_node(
        host="node-ip",
        port=12345,
        password="node-password",
        identifier="node-name"
    )

@bot.command()
async def connect(ctx):
    # Create or fetch a player.
    player = bot.granitepy.get_player(guild=ctx.guild)

    # Check is the author is in a voice channel.
    if not ctx.author.voice:
        return await ctx.send("You must be connected to a voice channel")

    # Connect to the authors voice channel.
    await player.connect(ctx.author.voice.channel)
    return await ctx.send(f"Connected to {ctx.author.voice.channel.name}!")

@bot.command()
async def play(ctx, *, search):
    player = bot.granitepy.get_player(guild=ctx.guild)

    # Search for whatever the user has inputted.
    result = await player.get_tracks(search)

    # The users search returned nothing.
    if not result:
        return await ctx.send("No tracks were found.")

    # Check if the result is a playlist.
    if isinstance(result, granitepy.Playlist):
        # Play the first track in the playlist.
        return await player.play(result.tracks[0])
    else:
        # Play the first track in the list of results.
        return await player.play(result[0])

bot.run("token")

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

granitepy-0.4.2.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

granitepy-0.4.2-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file granitepy-0.4.2.tar.gz.

File metadata

  • Download URL: granitepy-0.4.2.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for granitepy-0.4.2.tar.gz
Algorithm Hash digest
SHA256 27758c990a5f82d4dd4d25169799510001401794d28ad4f0fc511470428aa05c
MD5 46ac0881632a3f279a523b69735e1b4a
BLAKE2b-256 af5aaa6fde9fd531a220169e32bf3e260b6caa03ff18cbcbbd889790b65fb273

See more details on using hashes here.

File details

Details for the file granitepy-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: granitepy-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for granitepy-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 84a6133d6d8a14cf813dc3bc9752ad306986db1fd2897d8861947af1db5a78b2
MD5 b77fd6d8950e893ba27690ebe383138e
BLAKE2b-256 64332c77081dccca2645c74894d90ca753c236d69cc1e81bd02b21acef126f99

See more details on using hashes here.

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