public static async Task<Message> SendInlineGameKeyboard(ITelegramBotClient botClient, Message message) { if (!SqLiteHandlers.Users.ContainsKey(message.From.Id)) SqLiteHandlers.AddUserToDatabaseAsync(message.From.Id, message.From.Username); User currentUser = SqLiteHandlers.Users[message.From.Id]; currentUser.NumberOfAttempts = NumberOfAttempts; currentUser.ConceivedNumber = (byte)new Random().Next(10); SqLiteHandlers.UpdateUserDataAsync(message.From.Id, currentUser); return await botClient.SendTextMessageAsync(chatId: message.Chat.Id, text: "<b><i>Угадай загаданную цыфру от 0 до 9.</i></b>", replyMarkup: _inlineGameKeyboard, parseMode: ParseMode.Html); }
public static async Task BotOnCallbackQueryReceivedAsync(ITelegramBotClient botClient, CallbackQuery callbackQuery) { User currentUser = SqLiteHandlers.Users[callbackQuery.From.Id]; byte callbackQueryData = Convert.ToByte(callbackQuery.Data); if (--currentUser.NumberOfAttempts > 0) { if (callbackQueryData == currentUser.ConceivedNumber) { currentUser.NumberOfAttempts = 0; currentUser.NumberOfWins++; SqLiteHandlers.UpdateUserDataAsync(callbackQuery.From.Id ,currentUser); Console.WriteLine($"Игрок {callbackQuery.From.Id} выирал!"); await botClient.SendTextMessageAsync( chatId: callbackQuery.Message.Chat.Id, text: $"<b><i>Вы угадали! Загаданная цифра была {callbackQueryData}. \n" + $"Всего заработанных баллов: {currentUser.NumberOfWins} шт.</i></b>", ParseMode.Html); } else { await botClient.SendTextMessageAsync( chatId: callbackQuery.Message.Chat.Id, text: $"<b><i>Вы не угадали. Попробуйте еще раз!. Осталось попыток: {currentUser.NumberOfAttempts} шт.</i></b>", replyMarkup: _inlineGameKeyboard, parseMode: ParseMode.Html); } } else { await botClient.SendTextMessageAsync( chatId: callbackQuery.Message.Chat.Id, text: $"<b><i>Вы завершили текущую игру, начните заново!!!\n" + $"Команда: /game, удачи!</i></b>", ParseMode.Html); } }