Made IVoiceChannel.UserLimit nullable

This commit is contained in:
RogueException
2017-01-24 11:37:39 -04:00
parent 69bd4b4ea6
commit ea0044cb87
6 changed files with 13 additions and 16 deletions

View File

@@ -8,8 +8,8 @@ namespace Discord
{ {
/// <summary> Gets the bitrate, in bits per second, clients in this voice channel are requested to use. </summary> /// <summary> Gets the bitrate, in bits per second, clients in this voice channel are requested to use. </summary>
int Bitrate { get; } int Bitrate { get; }
/// <summary> Gets the max amount of users allowed to be connected to this channel at one time. A value of 0 represents no limit. </summary> /// <summary> Gets the max amount of users allowed to be connected to this channel at one time. </summary>
int UserLimit { get; } int? UserLimit { get; }
/// <summary> Modifies this voice channel. </summary> /// <summary> Modifies this voice channel. </summary>
Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null); Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null);

View File

@@ -10,6 +10,6 @@
/// <summary> /// <summary>
/// The maximum number of users that can be present in a channel. /// The maximum number of users that can be present in a channel.
/// </summary> /// </summary>
public Optional<int> UserLimit { get; set; } public Optional<int?> UserLimit { get; set; }
} }
} }

View File

@@ -56,7 +56,7 @@ namespace Discord.Rest
Bitrate = args.Bitrate, Bitrate = args.Bitrate,
Name = args.Name, Name = args.Name,
Position = args.Position, Position = args.Position,
UserLimit = args.UserLimit UserLimit = args.UserLimit.IsSpecified ? (args.UserLimit.Value ?? 0) : Optional.Create<int>()
}; };
return await client.ApiClient.ModifyGuildChannelAsync(channel.Id, apiArgs, options).ConfigureAwait(false); return await client.ApiClient.ModifyGuildChannelAsync(channel.Id, apiArgs, options).ConfigureAwait(false);
} }

View File

@@ -1,5 +1,4 @@
using Discord.API.Rest; using Discord.Audio;
using Discord.Audio;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
@@ -13,7 +12,7 @@ namespace Discord.Rest
public class RestVoiceChannel : RestGuildChannel, IVoiceChannel, IRestAudioChannel public class RestVoiceChannel : RestGuildChannel, IVoiceChannel, IRestAudioChannel
{ {
public int Bitrate { get; private set; } 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) internal RestVoiceChannel(BaseDiscordClient discord, IGuild guild, ulong id)
: base(discord, guild, id) : base(discord, guild, id)
@@ -30,7 +29,7 @@ namespace Discord.Rest
base.Update(model); base.Update(model);
Bitrate = model.Bitrate.Value; Bitrate = model.Bitrate.Value;
UserLimit = model.UserLimit.Value; UserLimit = model.UserLimit.Value != 0 ? model.UserLimit.Value : (int?)null;
} }
public async Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null) public async Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null)

View File

@@ -1,5 +1,4 @@
using Discord.API.Rest; using Discord.Audio;
using Discord.Audio;
using Discord.Rest; using Discord.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@@ -14,8 +13,8 @@ namespace Discord.Rpc
[DebuggerDisplay(@"{DebuggerDisplay,nq}")] [DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public class RpcVoiceChannel : RpcGuildChannel, IRpcAudioChannel, IVoiceChannel public class RpcVoiceChannel : RpcGuildChannel, IRpcAudioChannel, IVoiceChannel
{ {
public int UserLimit { get; private set; }
public int Bitrate { get; private set; } public int Bitrate { get; private set; }
public int? UserLimit { get; private set; }
public IReadOnlyCollection<RpcVoiceState> VoiceStates { get; private set; } public IReadOnlyCollection<RpcVoiceState> VoiceStates { get; private set; }
internal RpcVoiceChannel(DiscordRpcClient discord, ulong id, ulong guildId) internal RpcVoiceChannel(DiscordRpcClient discord, ulong id, ulong guildId)
@@ -32,7 +31,7 @@ namespace Discord.Rpc
{ {
base.Update(model); base.Update(model);
if (model.UserLimit.IsSpecified) if (model.UserLimit.IsSpecified)
UserLimit = model.UserLimit.Value; UserLimit = model.UserLimit.Value != 0 ? model.UserLimit.Value : (int?)null;
if (model.Bitrate.IsSpecified) if (model.Bitrate.IsSpecified)
Bitrate = model.Bitrate.Value; Bitrate = model.Bitrate.Value;
VoiceStates = model.VoiceStates.Select(x => RpcVoiceState.Create(Discord, x)).ToImmutableArray(); VoiceStates = model.VoiceStates.Select(x => RpcVoiceState.Create(Discord, x)).ToImmutableArray();

View File

@@ -1,5 +1,4 @@
using Discord.API.Rest; using Discord.Audio;
using Discord.Audio;
using Discord.Rest; using Discord.Rest;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@@ -15,7 +14,7 @@ namespace Discord.WebSocket
public class SocketVoiceChannel : SocketGuildChannel, IVoiceChannel, ISocketAudioChannel public class SocketVoiceChannel : SocketGuildChannel, IVoiceChannel, ISocketAudioChannel
{ {
public int Bitrate { get; private set; } public int Bitrate { get; private set; }
public int UserLimit { get; private set; } public int? UserLimit { get; private set; }
public override IReadOnlyCollection<SocketGuildUser> Users public override IReadOnlyCollection<SocketGuildUser> Users
=> Guild.Users.Where(x => x.VoiceChannel?.Id == Id).ToImmutableArray(); => Guild.Users.Where(x => x.VoiceChannel?.Id == Id).ToImmutableArray();
@@ -35,7 +34,7 @@ namespace Discord.WebSocket
base.Update(state, model); base.Update(state, model);
Bitrate = model.Bitrate.Value; Bitrate = model.Bitrate.Value;
UserLimit = model.UserLimit.Value; UserLimit = model.UserLimit.Value != 0 ? model.UserLimit.Value : (int?)null;
} }
public Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null) public Task ModifyAsync(Action<VoiceChannelProperties> func, RequestOptions options = null)