Fix: Don't depend on WebSocket for Interaction service (#2912)

* unfuck interaction service to not depend on WS

* Add XML docs

* fix summary refs
This commit is contained in:
Quin Lynch
2024-04-16 00:57:10 -03:00
committed by GitHub
parent 13ea5664e1
commit a2f624e6de
11 changed files with 63 additions and 42 deletions

View File

@@ -15,7 +15,7 @@ namespace Discord.Rest
/// <summary>
/// Provides a client to send REST-based requests to Discord.
/// </summary>
public class DiscordRestClient : BaseDiscordClient, IDiscordClient
public class DiscordRestClient : BaseDiscordClient, IDiscordClient, IRestClientProvider
{
#region DiscordRestClient
private RestApplication _applicationInfo;
@@ -399,5 +399,7 @@ namespace Discord.Rest
async Task<IReadOnlyCollection<IApplicationCommand>> IDiscordClient.BulkOverwriteGlobalApplicationCommand(ApplicationCommandProperties[] properties, RequestOptions options)
=> await BulkOverwriteGlobalCommands(properties, options).ConfigureAwait(false);
#endregion
DiscordRestClient IRestClientProvider.RestClient => this;
}
}

View File

@@ -118,5 +118,9 @@ namespace Discord.Rest
//IAutocompleteInteraction
/// <inheritdoc/>
IAutocompleteInteractionData IAutocompleteInteraction.Data => Data;
/// <inheritdoc/>
Task IAutocompleteInteraction.RespondAsync(IEnumerable<AutocompleteResult> result, RequestOptions options)
=>Task.FromResult(Respond(result, options));
}
}

View File

@@ -0,0 +1,14 @@
using Discord.Rest;
namespace Discord.Rest;
/// <summary>
/// An interface that represents a client provider for Rest-based clients.
/// </summary>
public interface IRestClientProvider
{
/// <summary>
/// Gets the Rest client of this provider.
/// </summary>
DiscordRestClient RestClient { get; }
}