discord-bot/CompatBot/Utils/Extensions/DiscordComponentsExtensions.cs
2025-03-08 07:01:22 +05:00

19 lines
811 B
C#

using System.Reflection;
namespace CompatBot.Utils.Extensions;
public static class DiscordComponentsExtensions
{
public static DiscordButtonComponent SetEnabled(this DiscordButtonComponent button, bool isEnabled)
=> isEnabled ? button.Enable() : button.Disable();
public static DiscordButtonComponent SetDisabled(this DiscordButtonComponent button, bool isDisabled)
=> isDisabled ? button.Disable() : button.Enable();
public static DiscordButtonComponent SetEmoji(this DiscordButtonComponent button, DiscordComponentEmoji emoji)
{
var property = button.GetType().GetProperty(nameof(button.Emoji));
property?.SetValue(button, emoji, BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.SetProperty, null, null, null);
return button;
}
}