Browse Source

add perms-v2 fields to Rest/SocketApplicationCommand entities and IApplicationCommand

pull/2222/head
Cenngo 3 years ago
parent
commit
647530b456
3 changed files with 33 additions and 0 deletions
  1. +13
    -0
      src/Discord.Net.Core/Entities/Interactions/IApplicationCommand.cs
  2. +10
    -0
      src/Discord.Net.Rest/Entities/Interactions/RestApplicationCommand.cs
  3. +10
    -0
      src/Discord.Net.WebSocket/Entities/Interaction/SocketBaseCommand/SocketApplicationCommand.cs

+ 13
- 0
src/Discord.Net.Core/Entities/Interactions/IApplicationCommand.cs View File

@@ -34,6 +34,19 @@ namespace Discord
/// </summary>
bool IsDefaultPermission { get; }

/// <summary>
/// Indicates whether the command is available in DMs with the app.
/// </summary>
/// <remarks>
/// Only for globally-scoped commands.
/// </remarks>
bool IsEnabledInDm { get; }

/// <summary>
/// Set of default <see cref="GuildPermission"/> required to invoke the command.
/// </summary>
GuildPermissions DefaultMemberPermissions { get; }

/// <summary>
/// Gets a collection of options for this application command.
/// </summary>


+ 10
- 0
src/Discord.Net.Rest/Entities/Interactions/RestApplicationCommand.cs View File

@@ -27,6 +27,12 @@ namespace Discord.Rest
/// <inheritdoc/>
public bool IsDefaultPermission { get; private set; }

/// <inheritdoc/>
public bool IsEnabledInDm { get; private set; }

/// <inheritdoc/>
public GuildPermissions DefaultMemberPermissions { get; private set; }

/// <summary>
/// Gets a collection of options for this command.
/// </summary>
@@ -57,6 +63,10 @@ namespace Discord.Rest
Options = model.Options.IsSpecified
? model.Options.Value.Select(RestApplicationCommandOption.Create).ToImmutableArray()
: ImmutableArray.Create<RestApplicationCommandOption>();

IsEnabledInDm = model.DmPermission.GetValueOrDefault(true).GetValueOrDefault(true);
DefaultMemberPermissions = model.DefaultMemberPermission.IsSpecified
? new GuildPermissions((ulong)model.DefaultMemberPermission.Value) : GuildPermissions.None;
}

/// <inheritdoc/>


+ 10
- 0
src/Discord.Net.WebSocket/Entities/Interaction/SocketBaseCommand/SocketApplicationCommand.cs View File

@@ -36,6 +36,12 @@ namespace Discord.WebSocket
/// <inheritdoc/>
public bool IsDefaultPermission { get; private set; }

/// <inheritdoc/>
public bool IsEnabledInDm { get; private set; }

/// <inheritdoc/>
public GuildPermissions DefaultMemberPermissions { get; private set; }

/// <summary>
/// Gets a collection of <see cref="SocketApplicationCommandOption"/>s for this command.
/// </summary>
@@ -86,6 +92,10 @@ namespace Discord.WebSocket
Options = model.Options.IsSpecified
? model.Options.Value.Select(SocketApplicationCommandOption.Create).ToImmutableArray()
: ImmutableArray.Create<SocketApplicationCommandOption>();

IsEnabledInDm = model.DmPermission.GetValueOrDefault(true).GetValueOrDefault(true);
DefaultMemberPermissions = model.DefaultMemberPermission.IsSpecified
? new GuildPermissions((ulong)model.DefaultMemberPermission.Value) : GuildPermissions.None;
}

/// <inheritdoc/>


Loading…
Cancel
Save