Files
BotPages/BotPages.Core/Messaging/ReplyButton.cs
FrigaT 4fa140d91f
Some checks failed
CI / build-test (push) Successful in 29s
Release / pack-and-publish (release) Failing after 1m58s
Добавлена поддержка цветов кнопок телеграмма
2026-02-11 00:40:31 +03:00

57 lines
1.4 KiB
C#

namespace BotPages.Core.Messaging;
/// <summary>
/// Кнопки снизу чата
/// </summary>
public class ReplyButton
{
/// <summary>
/// Подпись на кнопке
/// </summary>
public string Label { get; private set; }
/// <inheritdoc/>
public ReplyButton(string label)
{
this.Label = label;
}
/// <inheritdoc/>
public ReplyButton(Enum value)
{
this.Label = value.GetButtonLabel();
}
/// <summary>
/// Стиль кнопки.
/// </summary>
public ButtonStyle Style { get; set; } = ButtonStyle.Default;
/// <summary>
/// Преобразование строки к кнопке.
/// </summary>
/// <param name="str"></param>
public static implicit operator ReplyButton(string str) => new ReplyButton(str);
/// <summary>
/// Преобразование enum к кнопке.
/// </summary>
/// <param name="en"></param>
public static implicit operator ReplyButton(Enum en) => new ReplyButton(en);
}
/// <summary>
/// Стиль оформления сообщения.
/// </summary>
public enum ButtonStyle
{
/// <summary>Обычный стиль.</summary>
Default,
/// <summary>Стиль информационого сообщения.</summary>
Info,
/// <summary>Стиль успеха.</summary>
Success,
/// <summary>Стиль ошибки.</summary>
Error,
}