Add generic [AutocompleteAttribute] (#2611)
* add generic AutocompleteAttribute * fancy syntax * it didn't work -_- --------- Co-authored-by: Misha133 <mihagribkov133@gmail.com>
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
using System;
|
||||
|
||||
namespace Discord.Interactions
|
||||
namespace Discord.Interactions;
|
||||
|
||||
/// <summary>
|
||||
/// Set the <see cref="ApplicationCommandOptionProperties.IsAutocomplete"/> to <see langword="true"/>.
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
|
||||
public class AutocompleteAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Set the <see cref="ApplicationCommandOptionProperties.IsAutocomplete"/> to <see langword="true"/>.
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
|
||||
public class AutocompleteAttribute : Attribute
|
||||
{
|
||||
/// <summary>
|
||||
/// Type of the <see cref="AutocompleteHandler"/>.
|
||||
/// </summary>
|
||||
@@ -32,5 +32,15 @@ namespace Discord.Interactions
|
||||
/// Set the <see cref="ApplicationCommandOptionProperties.IsAutocomplete"/> to <see langword="true"/> without specifying a <see cref="AutocompleteHandler"/>.
|
||||
/// </summary>
|
||||
public AutocompleteAttribute() { }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the <see cref="ApplicationCommandOptionProperties.IsAutocomplete"/> to <see langword="true"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Type of the <see cref="AutocompleteHandler"/> that will be used to handle Autocomplete interactions targeting the parameter.</typeparam>
|
||||
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
|
||||
public class AutocompleteAttribute<T> : AutocompleteAttribute
|
||||
where T : class, IAutocompleteHandler
|
||||
{
|
||||
public AutocompleteAttribute() : base(typeof(T)) { }
|
||||
}
|
||||
|
||||
@@ -3,12 +3,14 @@
|
||||
<Import Project="../../StyleAnalyzer.targets" />
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks Condition=" '$(OS)' == 'Windows_NT' ">net6.0;net5.0;net461;netstandard2.0;netstandard2.1</TargetFrameworks>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">net6.0;net5.0;netstandard2.0;netstandard2.1</TargetFrameworks>
|
||||
<RootNamespace>Discord.Interactions</RootNamespace>
|
||||
<AssemblyName>Discord.Net.Interactions</AssemblyName>
|
||||
<Description>A Discord.Net extension adding support for Application Commands.</Description>
|
||||
<WarningLevel>5</WarningLevel>
|
||||
<TreatWarningsAsErrors>True</TreatWarningsAsErrors>
|
||||
<EnablePreviewFeatures>true</EnablePreviewFeatures>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user