Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }