diff --git a/Bot_Funcs.cs b/Bot_Funcs.cs index c1cd877..1d60741 100644 --- a/Bot_Funcs.cs +++ b/Bot_Funcs.cs @@ -1,6 +1,5 @@ using FirehoseFinder.Properties; using System; -using System.Collections.Generic; using System.Resources; using System.Threading; using System.Threading.Tasks; @@ -10,13 +9,13 @@ using Telegram.Bot.Polling; using Telegram.Bot.Types; using Telegram.Bot.Types.Enums; -using Telegram.Bot.Types.ReplyMarkups; namespace FirehoseFinder { class Bot_Funcs { internal readonly long channel = -1001227261414; // канал Firehose-Finder issues + internal static ChatId admin_mess = 1008578121; //Сообщение администратору internal static ITelegramBotClient _botClient = new TelegramBotClient(Resources.bot); private static ReceiverOptions _receiverOptions; //Подтянули перевод на другие языки @@ -83,10 +82,9 @@ await botClient.SendTextMessageAsync( if (string.IsNullOrEmpty(user.Username)) Settings.Default.userN = string.Empty; else Settings.Default.userN = user.Username; //Сообщаем администратору о новом участнике рейтинга await botClient.SendTextMessageAsync( - 1008578121, + admin_mess, $"Новый участник рейтинга: {user.FirstName} {user.LastName} ({user.Username}) - {user.Id}", - replyToMessageId: message.MessageId - ); + replyToMessageId: message.MessageId); //Авторизация прошла удачно. Перегружаемся. Application.Restart(); } @@ -95,30 +93,10 @@ await botClient.SendTextMessageAsync( await botClient.SendTextMessageAsync( chat.Id, "Авторизация прошла неудачно. Попробуйте ещё раз, используя приложение FhF.", - replyToMessageId: message.MessageId - ); + replyToMessageId: message.MessageId); } } } - else //Команда /start без параметров. Поднимаем клавиатуру, просим ввести код авторизации и пр. - { - // Создаём клавиатуру - var inlineKeyboard = new InlineKeyboardMarkup( - new List() // Создаём лист (массив), который содрежит в себе массив из класса кнопок - { - // Каждый новый массив - это дополнительные строки, а каждая дополнительная кнопка в массиве - это добавление ряда - new InlineKeyboardButton[] // Создаём массив кнопок - { - InlineKeyboardButton.WithCallbackData("Авторизация", "button_auth"), - InlineKeyboardButton.WithCallbackData("Рейтинг", "button_rate"), - }, - }); - await botClient.SendTextMessageAsync( - chat.Id, - "Пожалуйста, выберите \"Авторизация\", если готовы ввести код из программы FhF или \"Рейтинг\", если хотите посмотреть текущий \"Рейтинг неравнодушных пользователей\"", - replyMarkup: inlineKeyboard); // Все клавиатуры передаются в параметр replyMarkup - return; - } } else { @@ -134,7 +112,7 @@ await botClient.SendTextMessageAsync( "Авторизация прошла успешно. Приложение FhF перезапущено."); //Сообщаем администратору о новом участнике рейтинга await botClient.SendTextMessageAsync( - 1008578121, + admin_mess, $"Новый участник рейтинга: {user.FirstName} {user.LastName} ({user.Username}) - {user.Id}", replyToMessageId: message.MessageId ); @@ -152,46 +130,6 @@ await botClient.SendTextMessageAsync( } return; } - case UpdateType.CallbackQuery: - { - var callbackQuery = update.CallbackQuery; - //var user = callbackQuery.From; //Пока заремарим, т.к. не используется. Думаю о дубликатах! - var chat = callbackQuery.Message.Chat; - switch (callbackQuery.Data) - { - case "button_auth": - { - await botClient.AnswerCallbackQueryAsync( // Всплывающее сообщение - callbackQuery.Id, - "При успешной авторизации FhF перезагрузится автоматически!"); - await botClient.SendTextMessageAsync( - chat.Id, - "Отправьте 4 цифры кода авторизации из приложения FhF в формате ХХ-ХХ"); - return; - } - case "button_rate": - { - await botClient.AnswerCallbackQueryAsync( // Всплывающее сообщение - callbackQuery.Id, - "Готовлю рейтинг..."); - string rate_str = string.Empty; - int count_str = 1; - Guide guide = new Guide(); - Func funcs = new Func(); - foreach (Users_Rating users_Rating in funcs.SortingRate(guide.users_rate)) - { - rate_str += $"{count_str}. {users_Rating.User_fullname} - {users_Rating.User_mess + users_Rating.User_reactions}" + Environment.NewLine; - count_str++; - } - await botClient.SendTextMessageAsync( - chat.Id, - rate_str); - return; - } - default: - return; - } - } default: return; } @@ -207,7 +145,7 @@ private static Task ErrorHandler(ITelegramBotClient botClient, Exception error, // Тут создадим переменную, в которую поместим код ошибки и её сообщение ApiRequestException apiRequestException = new ApiRequestException("Telegram API Error:", error); string ErrorMessage = $"Telegram API Error:\n[{apiRequestException.ErrorCode}]\n{apiRequestException.Message}"; - MessageBox.Show(ErrorMessage); + //MessageBox.Show(ErrorMessage); return Task.CompletedTask; } }