diff --git a/VpSharp.Commands/Attributes/ExecutionChecks/RequireAvatarNameAttribute.cs b/VpSharp.Commands/Attributes/ExecutionChecks/RequireAvatarNameAttribute.cs
index 5b851a6..c395675 100644
--- a/VpSharp.Commands/Attributes/ExecutionChecks/RequireAvatarNameAttribute.cs
+++ b/VpSharp.Commands/Attributes/ExecutionChecks/RequireAvatarNameAttribute.cs
@@ -1,15 +1,29 @@
namespace VpSharp.Commands.Attributes.ExecutionChecks;
+#pragma warning disable CA1019 // Define accessors for attribute arguments
+
///
/// Specifies that this command can only be run by bots.
///
public sealed class RequireAvatarNameAttribute : PreExecutionCheckAttribute
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// An enumerable collection of allowed user names.
+ /// is .
+ public RequireAvatarNameAttribute(IEnumerable names)
+ {
+ ArgumentNullException.ThrowIfNull(names);
+ Names = names.ToArray();
+ }
+
///
/// Initializes a new instance of the class.
///
/// An array of allowed user names.
/// is .
+ [CLSCompliant(false)]
public RequireAvatarNameAttribute(params string[] names)
{
ArgumentNullException.ThrowIfNull(names);
diff --git a/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserIdAttribute.cs b/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserIdAttribute.cs
index 57541b1..cfeefd6 100644
--- a/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserIdAttribute.cs
+++ b/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserIdAttribute.cs
@@ -1,15 +1,29 @@
namespace VpSharp.Commands.Attributes.ExecutionChecks;
+#pragma warning disable CA1019 // Define accessors for attribute arguments
+
///
/// Specifies that this command can only be run by bots.
///
public sealed class RequireUserIdAttribute : PreExecutionCheckAttribute
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// An enumerable collection of allowed user IDs.
+ /// is .
+ public RequireUserIdAttribute(IEnumerable userIds)
+ {
+ ArgumentNullException.ThrowIfNull(userIds);
+ UserIds = userIds.ToArray();
+ }
+
///
/// Initializes a new instance of the class.
///
/// An array of allowed user IDs.
/// is .
+ [CLSCompliant(false)]
public RequireUserIdAttribute(params int[] userIds)
{
ArgumentNullException.ThrowIfNull(userIds);
diff --git a/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserNameAttribute.cs b/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserNameAttribute.cs
index 5ccb619..7847a1f 100644
--- a/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserNameAttribute.cs
+++ b/VpSharp.Commands/Attributes/ExecutionChecks/RequireUserNameAttribute.cs
@@ -1,15 +1,29 @@
namespace VpSharp.Commands.Attributes.ExecutionChecks;
+#pragma warning disable CA1019 // Define accessors for attribute arguments
+
///
/// Specifies that this command can only be run by bots.
///
public sealed class RequireUserNameAttribute : PreExecutionCheckAttribute
{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// An enumerable collection of allowed user names.
+ /// is .
+ public RequireUserNameAttribute(IEnumerable names)
+ {
+ ArgumentNullException.ThrowIfNull(names);
+ Names = names.ToArray();
+ }
+
///
/// Initializes a new instance of the class.
///
/// An array of allowed user names.
/// is .
+ [CLSCompliant(false)]
public RequireUserNameAttribute(params string[] names)
{
ArgumentNullException.ThrowIfNull(names);