Pincer icon indicating copy to clipboard operation
Pincer copied to clipboard

:sparkles: Add voice states for the client

Open zunda-arrow opened this issue 4 years ago • 0 comments

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

zunda-arrow avatar Jan 07 '22 21:01 zunda-arrow