Pincer
Pincer copied to clipboard
:sparkles: Add voice states for the client
The should be a function to request a VoiceState and VoiceServer object from the gateway.
The function should look like this (this is inspired by Hikari)
@command
async def something(self: Client):
self.voice.connect_to(GUILD_ID, channel_id, connection_type=InheritsFromVoiceABC)
There should also be a leave function that can be run when the bot is shut down. We can make that run automatically later.
A VoiceABC object will be added so that people can make their own voice systems that work with Pincer easily.
Some Technical Notes: A system to save a reference to each shard needs to be added. There then needs to be a way to retrieve them using a guild id. https://discord.com/developers/docs/topics/gateway#sharding-sharding-formula May be a good idea to implement that in a PR before touching this.
This supersedes #217