Files
BotPages/BotPages.Core/Pages/PageAction.cs
FrigaT 4aff8edbcd
All checks were successful
CI / build-test (push) Successful in 31s
Release / pack-and-publish (release) Successful in 1m12s
Доработан менеджер состояний.
2025-12-03 07:15:46 +03:00

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();
}
}
}