private async void OnChannelExpiredReceived(OnChannelExpiredEvent args) { var channel = DefaultServer.VoiceChannels.FirstOrDefault(v => string.Equals(args.ChannelName, v.Name, StringComparison.OrdinalIgnoreCase)); if (channel != null) { foreach (var user in channel.Users.ToList()) { await user.ModifyAsync(x => x.ChannelId = WaitingRoomVoiceChannelId); } await channel.DeleteAsync(); await LogsTextChannel.SendMessageAsync($"Channel '{args.ChannelName}' has been deleted due to expiry"); } }
private async void OnJoinedGameEventReceived(OnJoinedGameEvent args) { await LogsTextChannel.SendMessageAsync($"Received join game '{args.ChannelName}' for player '{args.VoiceUserId}'"); ulong channelId = 0; lock (_getChannelLock) { channelId = DefaultServer.VoiceChannels.FirstOrDefault(v => string.Equals(v.Name, args.ChannelName, StringComparison.OrdinalIgnoreCase))?.Id ?? DefaultServer.CreateVoiceChannelAsync(args.ChannelName).GetAwaiter().GetResult().Id; } var user = DefaultServer.GetUser(args.VoiceUserId); if (user != null) { await user.ModifyAsync(x => x.ChannelId = channelId); await LogsTextChannel.SendMessageAsync($"User '{user.Username}' has been moved to '{args.ChannelName}' with id '{channelId}'"); } }