internal BotException(BotError error) : base($"Erro {(int)error}.") { }
private void BotErrorHandler(BotError error, string server) { AddToBuffer(server, null, string.Format("[{0}] \u0002{1} Error\u0002: {2}", DateTime.Now.ToString("HH:mm:ss"), error.Type, error.Message)); }
public static async Task Execute(CallbackData data) { //отправить подтверждение var receiver = data.Sender.Id; if (client.Settings.DataReadingPeriod != null) { //проверка даты var day = DateTime.Now.Date.Day; if (day < client.Settings.DataReadingPeriod.From || day > client.Settings.DataReadingPeriod.To) { await client.SendTextMessage(receiver, BotError.Period(client.Settings.DataReadingPeriod.From.ToString(), client.Settings.DataReadingPeriod.To.ToString())); return; } } //достать данные из таблицы var flats = Handlers.GoogleSheetsHandler.CheckFlatData(data.Sender.Id); if (flats.Count == 0) { var message = new KeyboardMessage { Receiver = receiver, Sender = client.BotUserData, Text = $"У вас не привязана ни одна квартира.", TrackingData = ViberBotTrackingData.Empty(), Keyboard = KeyboardHandler.MainMenu }; await client.SendMessage(receiver, message); } else if (flats.Count == 1) { var flatNumber = flats.FirstOrDefault().ToString(); var lastData = Handlers.GoogleSheetsHandler.GetFlatData(flatNumber); var trackingData = JsonConvert.DeserializeObject <ViberBotTrackingData>(data.Message.TrackingData); trackingData.Add(DataField.FlatNumber.ToString(), flatNumber); var message = new KeyboardMessage { Receiver = receiver, Sender = client.BotUserData, Text = $"Квартира - { flatNumber}. Предыдущие показания счетчика - {lastData}. Введите текущие показания.", TrackingData = ViberBotTrackingData.Build("EnterSendDataAction", "СonfirmSendDataAction", trackingData.Data), Keyboard = KeyboardHandler.Cancel }; await client.SendMessage(receiver, message); } else if (flats.Count > 1) { var flatButtonsData = new List <string[]>(); foreach (var flat in flats) { flatButtonsData.Add(new string[] { flat.ToString(), flat.ToString() }); } flatButtonsData.Add(new string[] { "Отмена", "Cancel" }); var message = new KeyboardMessage { Receiver = receiver, Sender = client.BotUserData, Text = $"У вас указано несколько квартир. Выберите нужную.", TrackingData = ViberBotTrackingData.Build("StartSendDataAction", "EnterSendDataAction"), Keyboard = KeyboardHandler.CustomButtons(flatButtonsData.ToArray()) }; await client.SendMessage(receiver, message); } }
private static void BotErrorHandler(BotError error, string server) { string message = string.Format("[{0}] [{1}] \u0002{2} Error\u0002: {3}", DateTime.Now.ToString("HH:mm:ss"), server, error.Type, error.Message); Console.WriteLine(message); }