using System;
using JetBrains.Annotations;
using Newtonsoft.Json;
using VkNet.Enums.StringEnums;
namespace VkNet.Model;
///
/// Информация о кнопке клавиатуры.
///
[Serializable]
[JsonObject(MemberSerialization.OptOut)]
public class MessageKeyboardButtonAction
{
///
/// Содержит 'text'
///
[JsonProperty("type")]
public KeyboardButtonActionType? Type { get; set; }
///
/// Дополнительная информация.
///
/// JSON строка с payload, до 255 символов
[CanBeNull]
[JsonProperty("payload", NullValueHandling = NullValueHandling.Ignore)]
public string Payload { get; set; }
///
/// Текст на кнопке, до 40 символов
///
[JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)]
public string Label { get; set; }
///
/// Ссылка, которую необходимо открыть по нажатию на кнопку.
///
[JsonProperty("link", NullValueHandling = NullValueHandling.Ignore)]
public Uri Link { get; set; }
///
/// Хэш
///
///
/// Значение параметра
/// description
///
/// -
///
/// хэш для навигации в приложении, будет передан в строке параметров запуска после символа #
///
/// -
///
/// строка, содержащая параметры платежа VK Pay и идентификатор приложения в параметре aid, разделенные &.
///
/// -
///
/// По нажатию отправляет местоположение в диалог с ботом/беседу.
///
/// -
///
/// Открывает указанную ссылку.
///
///
///
///
/// Пример: action=transfer-to-group&group_id=1&aid=10.
///
[JsonProperty("hash", NullValueHandling = NullValueHandling.Ignore)]
public string Hash { get; set; }
///
/// Идентификатор вызываемого приложения с типом .
///
///
/// Пока может использоваться только приложение, которому мы выдали под это доступ.
/// Получить доступ для Вашего приложения Вы можете здесь ;
///
[JsonProperty("app_id", NullValueHandling = NullValueHandling.Ignore)]
public ulong? AppId { get; set; }
///
/// Идентификатор сообщества, в котором установлено приложение, если требуется открыть в контексте сообщества.
///
///
/// Для со значением
///
[JsonProperty("owner_id", NullValueHandling = NullValueHandling.Ignore)]
public long? OwnerId { get; set; }
///
/// user_id: 1-2e9
///
[JsonProperty("peer_id", NullValueHandling = NullValueHandling.Ignore)]
public long? PeerId { get; set; }
///
/// Любой из интентов, требующий подписки.
///
[JsonProperty("intent", NullValueHandling = NullValueHandling.Ignore)]
public Intent? Intent { get; set; }
///
/// Дополнительное поле для confirmed_notification.
///
[JsonProperty("subscribe_id", NullValueHandling = NullValueHandling.Ignore)]
public byte? SubscribeId { get; set; }
}