From f3b268caa580dbf74ce2f4196a74f4eaad1036e3 Mon Sep 17 00:00:00 2001 From: Alexander Sergeev Date: Mon, 30 Sep 2024 18:54:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D1=91=D1=81=20?= =?UTF-8?q?=D1=87=D0=B0=D1=81=D1=82=D1=8C=20=D1=84=D1=83=D0=BD=D0=BA=D1=86?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=BD=D0=B0=20=D1=81=D0=B5=D1=82=D0=B5=D0=B2?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bot_Funcs.cs | 74 +++++----------------------------------------------- 1 file changed, 6 insertions(+), 68 deletions(-) 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; } }