Metadata-Version: 2.1
Name: pomicenextcord
Version: 1.1.6.1
Summary: The modern Lavalink wrapper designed for Discord.py
Home-page: https://github.com/cloudwithax/pomice
Author: techpluscraft
License: GPL
Description: # Pomice
        
        ![](https://raw.githubusercontent.com/cloudwithax/pomice/main/banner.jpg)
        
        The modern [Lavalink](https://github.com/freyacodes/Lavalink) wrapper designed for [discord.py](https://github.com/Rapptz/discord.py)
        
        ![](https://img.shields.io/badge/license-GPL-2f2f2f) ![](https://img.shields.io/badge/python-3.8-2f2f2f) ![](https://img.shields.io/discord/899324069235810315) ![](https://readthedocs.org/projects/pomice/badge/?version=latest)
        
        
        This library is heavily based off of/uses code from the following libraries:
        - [Wavelink](https://github.com/PythonistaGuild/Wavelink)
        - [Slate](https://github.com/Axelancerr/slate)
        - [Granitepy](https://github.com/twitch0001/granitepy)
        
        
        # Install
        To install the library, you need the lastest version of pip and minimum Python 3.8
        
        > Stable version
        ```
        pip install pomice
        ```
        
        > Unstable version (this one gets more frequent changes)
        ```
        pip install git+https://github.com/cloudwithax/pomice
        ```
        
        # Support
        
        The official documentation is [here](https://pomice.readthedocs.io/en/latest/)
        
        You can join our support server [here](https://discord.gg/r64qjTSHG8)
        
        
        # Examples
        In-depth examples are located in the examples folder
        
        Here's a quick example:
        
        ```py
        import pomice
        import discord
        import re
        
        from discord.ext import commands
        
        URL_REG = re.compile(r'https?://(?:www\.)?.+')
        
        class MyBot(commands.Bot):
            
            def __init__(self) -> None:
                super().__init__(command_prefix='!', activity=discord.Activity(type=discord.ActivityType.listening, name='to music!'))
                
                self.add_cog(Music(self))
                
            async def on_ready(self) -> None:
                print("I'm online!")
                await self.cogs["Music"].start_nodes()
             
                
        class Music(commands.Cog):
            
            def __init__(self, bot) -> None:
                self.bot = bot
                
                self.pomice = pomice.NodePool()
            
            async def start_nodes(self):
                await self.pomice.create_node(bot=self.bot, host='127.0.0.1', port='3030', 
                                             password='youshallnotpass', identifier='MAIN')
                print(f"Node is ready!")
        
        
                
            @commands.command(name='join', aliases=['connect'])
            async def join(self, ctx: commands.Context, *, channel: discord.TextChannel = None) -> None:
                
                if not channel:
                    channel = getattr(ctx.author.voice, 'channel', None)
                    if not channel:
                        raise commands.CheckFailure('You must be in a voice channel to use this command'
                                                    'without specifying the channel argument.')
        
                
                await ctx.author.voice.channel.connect(cls=pomice.Player)
                await ctx.send(f'Joined the voice channel `{channel}`')
                
            @commands.command(name='play')
            async def play(self, ctx, *, search: str) -> None:
                
                if not ctx.voice_client:
                    await ctx.invoke(self.join) 
        
                player = ctx.voice_client        
        
                results = await player.get_tracks(query=f'{search}')
                
                if not results:
                    raise commands.CommandError('No results were found for that search term.')
                
                if isinstance(results, pomice.Playlist):
                    await player.play(track=results.tracks[0])
                else:
                    await player.play(track=results[0])
        
                    
        bot = MyBot()
        bot.run("token here")
         ```
        
        # FAQ
        Why is it saying "Cannot connect to host"?
        
        - You need to have a Lavalink node setup before you can use this library. Download it [here](https://github.com/freyacodes/Lavalink/releases/tag/3.3.2.5)
        
        What experience do I need?
        
        - This library requires that you have some experience with Python, asynchronous programming and the discord.py library.
        
        Why is it saying "No module named pomice found"?
        
        - You need to [install](#Install) the package before you can use it 
        
        # Contributors
        
        - Thanks to [vveeps](https://github.com/vveeps) for implementing some features I wasn't able to do myself
        
Keywords: pomice,lavalink,discord.py
Platform: UNKNOWN
Classifier: Framework :: AsyncIO
Classifier: Operating System :: OS Independent
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Internet
Requires-Python: >=3.8
Description-Content-Type: text/markdown
