more cringe (#2919)

This commit is contained in:
Mihail Gribkov
2024-04-28 17:42:38 +03:00
committed by GitHub
parent f85bf9ac48
commit f9086d3a2c
12 changed files with 87 additions and 4 deletions

View File

@@ -1,7 +1,45 @@
namespace Discord;
/// <summary>
/// Represents the type of entitlement.
/// </summary>
public enum EntitlementType
{
/// <summary>
/// The entitlement was purchased by user.
/// </summary>
Purchase = 1,
/// <summary>
/// Entitlement for Discord Nitro subscription.
/// </summary>
PremiumSubscription = 2,
/// <summary>
/// Entitlement was gifted by developer.
/// </summary>
DeveloperGift = 3,
/// <summary>
/// Entitlement was purchased by a dev in application test mode.
/// </summary>
TestModePurchase = 4,
/// <summary>
/// Entitlement was granted when the SKU was free.
/// </summary>
FreePurchase = 5,
/// <summary>
/// Entitlement was gifted by another user.
/// </summary>
UserGift = 6,
/// <summary>
/// Entitlement was claimed by user for free as a Nitro Subscriber.
/// </summary>
PremiumPurchase = 7,
/// <summary>
/// The entitlement was purchased as an app subscription.
/// </summary>

View File

@@ -2,10 +2,19 @@ using System;
namespace Discord;
/// <summary>
/// SKU flags for subscriptions.
/// </summary>
[Flags]
public enum SKUFlags
{
/// <summary>
/// The SKU is a guild subscription.
/// </summary>
GuildSubscription = 1 << 7,
/// <summary>
/// The SKU is a user subscription.
/// </summary>
UserSubscription = 1 << 8
}

View File

@@ -2,13 +2,23 @@ namespace Discord;
public enum SKUType
{
/// <summary>
/// Durable one-time purchase.
/// </summary>
Durable = 2,
/// <summary>
/// Consumable one-time purchase.
/// </summary>
Consumable = 3,
/// <summary>
/// Represents a recurring subscription.
/// </summary>
Subscription = 5,
/// <summary>
/// System-generated group for each <see cref="SKUType.Subscription"/> SKU created.
/// System-generated group for each <see cref="Subscription"/> SKU created.
/// </summary>
SubscriptionGroup = 6,
}

View File

@@ -349,5 +349,12 @@ namespace Discord
/// Returns all SKUs for a given application.
/// </summary>
Task<IReadOnlyCollection<SKU>> GetSKUsAsync(RequestOptions options = null);
/// <summary>
/// Marks a given one-time purchase entitlement for the user as consumed.
/// </summary>
/// <param name="entitlementId">The id of the entitlement.</param>
/// <param name="options">The options to be used when sending the request.</param>
Task ConsumeEntitlementAsync(ulong entitlementId, RequestOptions options = null);
}
}