andersfylling / disgord

Go module for interacting with the documented Discord's bot interface; Gateway, REST requests and voice
BSD 3-Clause "New" or "Revised" License
502 stars 71 forks source link

An equivalent to discordgo's ChannelVoiceJoinManual #384

Closed lukasl-dev closed 3 years ago

lukasl-dev commented 3 years ago

Is your feature request related to a problem? Please describe. I would like to use a third party voice solution called Lavalink, but this is not possible without this implementation.

Describe the solution you'd like This discordgo issue already explains it quite well. Long story short: I want a method that performs the OP4 voice handshake and intercepts the VOICE_SERVER_UPDATE event to enable third party voice solutions

Describe alternatives you've considered - optional Discordgo has already implemented this method. See issue.

DasPoet commented 3 years ago

Great idea, would love to see this as well.

andersfylling commented 3 years ago

Yo, I added a commit for this. Can you check if this works for you?

Client.Guild(..).VoiceChannel(..).JoinManual(..)

andersfylling commented 3 years ago

There are no tests for this, so i would consider this experimental.

You can also inject a context using Client.Guild(..).VoiceChannel(..).WithContext(ctx).JoinManual(..)

lukasl-dev commented 3 years ago

It works, thank you :)