11 lines
663 B
C#
11 lines
663 B
C#
// The command's Run Mode MUST be set to RunMode.Async, otherwise, being connected to a voice channel will block the gateway thread.
|
|
[Command("join", RunMode = RunMode.Async)]
|
|
public async Task JoinChannel(IVoiceChannel channel = null)
|
|
{
|
|
// Get the audio channel
|
|
channel = channel ?? (Context.User as IGuildUser)?.VoiceChannel;
|
|
if (channel == null) { await Context.Channel.SendMessageAsync("User must be in a voice channel, or a voice channel must be passed as an argument."); return; }
|
|
|
|
// For the next step with transmitting audio, you would want to pass this Audio Client in to a service.
|
|
var audioClient = await channel.ConnectAsync();
|
|
}
|