Class ClientExtensions
Interactivity extension methods for DiscordClient and DiscordShardedClient.
Inheritance
Namespace: DisCatSharp.Interactivity.Extensions
Assembly: DisCatSharp.Interactivity.dll
Syntax
public static class ClientExtensions
Methods
| Improve this Doc View SourceGetInteractivity(DiscordClient)
Retrieves the registered InteractivityExtension instance for this client.
Declaration
public static InteractivityExtension GetInteractivity(this DiscordClient client)
Parameters
Type | Name | Description |
---|---|---|
DiscordClient | client | The client to retrieve an InteractivityExtension instance from. |
Returns
Type | Description |
---|---|
InteractivityExtension | An existing InteractivityExtension instance, or null if interactivity is not enabled for the DiscordClient instance. |
GetInteractivityAsync(DiscordShardedClient)
Retrieves a InteractivityExtension instance for each shard.
Declaration
public static async Task<ReadOnlyDictionary<int, InteractivityExtension>> GetInteractivityAsync(this DiscordShardedClient client)
Parameters
Type | Name | Description |
---|---|---|
DiscordShardedClient | client | The shard client to retrieve interactivity instances from. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.Collections.ObjectModel.ReadOnlyDictionary<System.Int32, InteractivityExtension>> | A dictionary containing InteractivityExtension instances for each shard. |
UseInteractivity(DiscordClient, InteractivityConfiguration)
Enables interactivity for this DiscordClient instance.
Declaration
public static InteractivityExtension UseInteractivity(this DiscordClient client, InteractivityConfiguration configuration = null)
Parameters
Type | Name | Description |
---|---|---|
DiscordClient | client | The client to enable interactivity for. |
InteractivityConfiguration | configuration | A configuration instance. Default configuration values will be used if none is provided. |
Returns
Type | Description |
---|---|
InteractivityExtension | A brand new InteractivityExtension instance. |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | Thrown if interactivity has already been enabled for the client instance. |
UseInteractivityAsync(DiscordShardedClient, InteractivityConfiguration)
Enables interactivity for each shard.
Declaration
public static async Task<IReadOnlyDictionary<int, InteractivityExtension>> UseInteractivityAsync(this DiscordShardedClient client, InteractivityConfiguration configuration = null)
Parameters
Type | Name | Description |
---|---|---|
DiscordShardedClient | client | The shard client to enable interactivity for. |
InteractivityConfiguration | configuration | Configuration to use for all shards. If one isn't provided, default configuration values will be used. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.Collections.Generic.IReadOnlyDictionary<System.Int32, InteractivityExtension>> | A dictionary containing new InteractivityExtension instances for each shard. |