40 lines
1.2 KiB
C#
40 lines
1.2 KiB
C#
namespace BotPages.Core
|
|
{
|
|
/// <summary>
|
|
/// Универсальное действие (кнопка), которое может быть отображено в разных клиентах.
|
|
/// </summary>
|
|
public sealed class PageAction
|
|
{
|
|
/// <summary>
|
|
/// Текст кнопки, отображаемый пользователю.
|
|
/// </summary>
|
|
public string Label { get; init; } = "";
|
|
|
|
/// <summary>
|
|
/// Значение (payload), которое будет передано в <see cref="UpdateContext.Text"/> при нажатии.
|
|
/// </summary>
|
|
public string Value { get; init; } = "";
|
|
|
|
/// <summary>
|
|
/// Тип кнопки: inline или reply.
|
|
/// </summary>
|
|
public ActionPlacement Placement { get; init; } = ActionPlacement.Reply;
|
|
|
|
/// <summary>
|
|
/// Номер ряда для макета (0 — первая строка).
|
|
/// </summary>
|
|
public int Row { get; init; } = 0;
|
|
|
|
public PageAction()
|
|
{
|
|
|
|
}
|
|
|
|
|
|
public PageAction(Enum en)
|
|
{
|
|
Label = en.GetActionLabel();
|
|
Value = en.ToString();
|
|
}
|
|
}
|
|
} |