Skip to main content

A library for the lavalink like audio provider called andesite

Project description

granitepy

A library for the Lavalink like audio provider called Andesite for use with discord.py

For support join here and here for the Official Documentation

Installing

The library is on Pypi and is installed with pip install granitepy but a more updated version is on github and can be installed with git

pip install git+https://github.com/twitch0001/granitepy

Example

import discord
from discord.ext import commands

import andesite # import the lib

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


@bot.event
async def on_ready():
    await bot.andesite.start_node(
            "127.0.0.1",
            5000,
            rest_uri = "http://127.0.0.1:5000/",
            password = None, # set as None if andesite password in application.conf is null :smh:
            identifier = "hello-there", # identifier is only for internal use.
    )

@bot.command()
async def connect(ctx):
    player = bot.andesite.get_player(ctx.guild.id) # fetches the player

    if not ctx.author.voice:
        return await ctx.send("Must be connected to a voice channel")

    await player.connect(ctx.author.voice.channel.id) # connects to the channel the command invoker is in

    await ctx.send(f"Connected to {ctx.author.voice.channel.name}!")

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

    tracks = await player.node.get_tracks(f"ytsearch: {search}") # returns a list andesite.Track objects 
    if not tracks: # andesite returned no tracks.
        return await ctx.send("Nothing found.")


    await player.play(tracks[0]) # plays the first track from the list.


bot.run("token")

This lib is heavily based on Wavelink made by EvieePy Huge thanks for making wavelink, would be stuck on a few connection things if it weren't for wavelink.

Project details


Download files

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

Files for granitepy, version 0.0.20a0
Filename, size File type Python version Upload date Hashes
Filename, size granitepy-0.0.20a0-py3.7.egg (26.2 kB) File type Egg Python version 3.7 Upload date Hashes View hashes
Filename, size granitepy-0.0.20a0-py3-none-any.whl (13.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size granitepy-0.0.20a0.tar.gz (10.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page