Discord. net бот присоединяется и немедленно покидает голосовой чат - PullRequest
1 голос
/ 29 апреля 2020

Я создал бота, который по большей части работает так, как задумано, но при попытке подключить его к голосовому каналу, если кто-то еще в голосовом чате, к которому я попросил его присоединиться, немедленно отключается тем не менее, если в голосовом чате больше никого нет, он присоединяется и подключается без проблем, тогда пользователь может присоединиться к каналу, и он останется подключенным. можно ли это исправить?

Это код, который я использую:

public async Task Join(IAudioChannel channel = null) //SocketUser user, SocketVoiceState state1, SocketVoiceState state2)
{

    //  IAudioClient audioClient = await (Context.User as IVoiceState).VoiceChannel.ConnectAsync();

    var UserCheck = Context.Guild.GetUser(Context.User.Id);
    channel ? ?=(Context.Message.Author as IGuildUser) ? .VoiceChannel;
    var roleCheck = Context.Guild.Roles.FirstOrDefault(x = >x.Name == "DJ");

    if (UserCheck.Roles.Contains(roleCheck)) {
        if (channel == null) {
            await Context.Message.DeleteAsync();
            await ReplyAsync("You need to be in a voice channel, or pass one as an argument.");
            return;
        }
        else {

            // IAudioClient audioClient = await channel.ConnectAsync();
            IAudioClient audioClient = await channel.ConnectAsync();

        }
    }
    else {
        await Context.Message.DeleteAsync();
        await ReplyAsync("Insufficient Permissions");
    }
}

Эта функция работает любым другим способом НО функция присоединения, когда кто-то еще находится в чате. Кто-нибудь может помочь?

...