diff --git a/src/Discord.Net.Core/Entities/Channels/IVoiceChannel.cs b/src/Discord.Net.Core/Entities/Channels/IVoiceChannel.cs index d25576c65..80c90e4bd 100644 --- a/src/Discord.Net.Core/Entities/Channels/IVoiceChannel.cs +++ b/src/Discord.Net.Core/Entities/Channels/IVoiceChannel.cs @@ -8,8 +8,8 @@ namespace Discord { /// Gets the bitrate, in bits per second, clients in this voice channel are requested to use. int Bitrate { get; } - /// Gets the max amount of users allowed to be connected to this channel at one time. A value of 0 represents no limit. - int UserLimit { get; } + /// Gets the max amount of users allowed to be connected to this channel at one time. + int? UserLimit { get; } /// Modifies this voice channel. Task ModifyAsync(Action func, RequestOptions options = null); diff --git a/src/Discord.Net.Core/Entities/Channels/VoiceChannelProperties.cs b/src/Discord.Net.Core/Entities/Channels/VoiceChannelProperties.cs index 3294ad146..81dd8063e 100644 --- a/src/Discord.Net.Core/Entities/Channels/VoiceChannelProperties.cs +++ b/src/Discord.Net.Core/Entities/Channels/VoiceChannelProperties.cs @@ -10,6 +10,6 @@ /// /// The maximum number of users that can be present in a channel. /// - public Optional UserLimit { get; set; } + public Optional UserLimit { get; set; } } } diff --git a/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs b/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs index 5ddf044c6..b7d81c579 100644 --- a/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs +++ b/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs @@ -56,7 +56,7 @@ namespace Discord.Rest Bitrate = args.Bitrate, Name = args.Name, Position = args.Position, - UserLimit = args.UserLimit + UserLimit = args.UserLimit.IsSpecified ? (args.UserLimit.Value ?? 0) : Optional.Create() }; return await client.ApiClient.ModifyGuildChannelAsync(channel.Id, apiArgs, options).ConfigureAwait(false); } diff --git a/src/Discord.Net.Rest/Entities/Channels/RestVoiceChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestVoiceChannel.cs index dd4f59deb..e5330f29e 100644 --- a/src/Discord.Net.Rest/Entities/Channels/RestVoiceChannel.cs +++ b/src/Discord.Net.Rest/Entities/Channels/RestVoiceChannel.cs @@ -1,5 +1,4 @@ -using Discord.API.Rest; -using Discord.Audio; +using Discord.Audio; using System; using System.Collections.Generic; using System.Diagnostics; @@ -13,7 +12,7 @@ namespace Discord.Rest public class RestVoiceChannel : RestGuildChannel, IVoiceChannel, IRestAudioChannel { public int Bitrate { get; private set; } - public int UserLimit { get; private set; } + public int? UserLimit { get; private set; } internal RestVoiceChannel(BaseDiscordClient discord, IGuild guild, ulong id) : base(discord, guild, id) @@ -30,7 +29,7 @@ namespace Discord.Rest base.Update(model); Bitrate = model.Bitrate.Value; - UserLimit = model.UserLimit.Value; + UserLimit = model.UserLimit.Value != 0 ? model.UserLimit.Value : (int?)null; } public async Task ModifyAsync(Action func, RequestOptions options = null) diff --git a/src/Discord.Net.Rpc/Entities/Channels/RpcVoiceChannel.cs b/src/Discord.Net.Rpc/Entities/Channels/RpcVoiceChannel.cs index ed05e2f57..3d5acfda9 100644 --- a/src/Discord.Net.Rpc/Entities/Channels/RpcVoiceChannel.cs +++ b/src/Discord.Net.Rpc/Entities/Channels/RpcVoiceChannel.cs @@ -1,5 +1,4 @@ -using Discord.API.Rest; -using Discord.Audio; +using Discord.Audio; using Discord.Rest; using System; using System.Collections.Generic; @@ -14,8 +13,8 @@ namespace Discord.Rpc [DebuggerDisplay(@"{DebuggerDisplay,nq}")] public class RpcVoiceChannel : RpcGuildChannel, IRpcAudioChannel, IVoiceChannel { - public int UserLimit { get; private set; } public int Bitrate { get; private set; } + public int? UserLimit { get; private set; } public IReadOnlyCollection VoiceStates { get; private set; } internal RpcVoiceChannel(DiscordRpcClient discord, ulong id, ulong guildId) @@ -32,7 +31,7 @@ namespace Discord.Rpc { base.Update(model); if (model.UserLimit.IsSpecified) - UserLimit = model.UserLimit.Value; + UserLimit = model.UserLimit.Value != 0 ? model.UserLimit.Value : (int?)null; if (model.Bitrate.IsSpecified) Bitrate = model.Bitrate.Value; VoiceStates = model.VoiceStates.Select(x => RpcVoiceState.Create(Discord, x)).ToImmutableArray(); diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketVoiceChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketVoiceChannel.cs index 072ccc787..71017a7c8 100644 --- a/src/Discord.Net.WebSocket/Entities/Channels/SocketVoiceChannel.cs +++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketVoiceChannel.cs @@ -1,5 +1,4 @@ -using Discord.API.Rest; -using Discord.Audio; +using Discord.Audio; using Discord.Rest; using System; using System.Collections.Generic; @@ -15,7 +14,7 @@ namespace Discord.WebSocket public class SocketVoiceChannel : SocketGuildChannel, IVoiceChannel, ISocketAudioChannel { public int Bitrate { get; private set; } - public int UserLimit { get; private set; } + public int? UserLimit { get; private set; } public override IReadOnlyCollection Users => Guild.Users.Where(x => x.VoiceChannel?.Id == Id).ToImmutableArray(); @@ -35,7 +34,7 @@ namespace Discord.WebSocket base.Update(state, model); Bitrate = model.Bitrate.Value; - UserLimit = model.UserLimit.Value; + UserLimit = model.UserLimit.Value != 0 ? model.UserLimit.Value : (int?)null; } public Task ModifyAsync(Action func, RequestOptions options = null)