using Newtonsoft.Json; namespace TelegramBotBase.Form; /// /// Base class for serializing buttons and data /// public class CallbackData { public CallbackData() { } public CallbackData(string method, string value) { Method = method; Value = value; } [JsonProperty("m")] public string Method { get; set; } [JsonProperty("v")] public string Value { get; set; } public static string Create(string method, string value) { return new CallbackData(method, value).Serialize(); } /// /// Serializes data to json string /// /// public string Serialize() { var s = ""; try { s = JsonConvert.SerializeObject(this); } catch { } return s; } /// /// Deserializes data from json string /// /// /// public static CallbackData Deserialize(string data) { CallbackData cd = null; try { cd = JsonConvert.DeserializeObject(data); return cd; } catch { } return null; } public static implicit operator string(CallbackData callbackData) => callbackData.Serialize(); }