twitch0001 / granitepy

A library for the lavalink like audio provider called andesite NOTE: This project will no longer be updated.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

granitepy

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

For support join here and click here for the Official Documentation

Installing

The library is on Pypi and is installed with pip install granitepy however 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 of 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 library 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.

About

A library for the lavalink like audio provider called andesite NOTE: This project will no longer be updated.

License:Other


Languages

Language:Python 95.2%Language:Batchfile 2.6%Language:Makefile 2.2%