using System;
namespace axXez.TS3.Bot
{
/// Marks a class as a bot module and configures its display name, description, and namespace.
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public class ModuleAttribute : Attribute
{
/// Human-readable name shown in module listings. Falls back to the class name if not set.
public string DisplayName { get; set; } = string.Empty;
/// Short description of what the module does.
public string Description { get; set; } = string.Empty;
/// Namespace prefix used to construct the module's full name. Falls back to the type's CLR namespace if not set.
public string Namespace { get; set; } = null;
/// Server versions this module is compatible with. Modules are skipped on connect if the server version is not included.
public ModuleCompatibility Compatibility { get; set; } = ModuleCompatibility.Any;
/// Initializes the attribute with default values.
public ModuleAttribute()
{
}
}
}