def check_answer(message): #убрать клавиатуру keyboard_hider = types.ReplyKeyboardRemove() # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Как Вы помните, answer может быть либо текст, либо None # Если None: if not answer: bot.send_message(message.chat.id, 'Чтобы начать подготовку, набери команду /game') elif answer == '': bot.send_message(message.chat.id, 'Чтобы продолжить подготовку, набери команду /game') else: # Уберем клавиатуру с вариантами ответа. #keyboard_hider = types.ReplyKeyboardRemove() reply_markup=keyboard_hider # Если ответ правильный/неправильный if message.text == answer: bot.send_message(message.chat.id, 'Верно!') answer_game_1 = 1 answer_game_0 = 0 else: bot.send_message(message.chat.id, 'Увы, Вы ошиблись!') bot.send_message( message.chat.id, 'Пояснения:\n' + utils.finish_user_game_memorial(message.chat.id)) answer_game_1 = 0 answer_game_0 = 1 # Сохраняем счет пользователя в базу данных (игра закончена) utils.finish_user_game(message.chat.id, answer_game_1, answer_game_0) bot.send_message(message.chat.id, utils.finish_user_game_count(message.chat.id), reply_markup=keyboard_hider)
def check_answer(message): markup2 = types.ReplyKeyboardMarkup() markup2.add('/game') # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Как Вы помните, answer может быть либо текст, либо None # Если None: if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, выберите команду /game') else: # Уберем клавиатуру с вариантами ответа. keyboard_hider = types.ReplyKeyboardRemove() # Если ответ правильный/неправильный if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) bot.send_message(message.chat.id, 'Чтобы начать новую игру, выберите команду /game', reply_markup=markup2) # Удаляем юзера из хранилища (игра закончена) utils.finish_user_game(message.chat.id)
def check_answer(message): # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Как Вы помните, answer может быть либо текст, либо None # Если None: if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, выберите команду /start') else: # Уберем клавиатуру с вариантами ответа. keyboard_hider = types.ReplyKeyboardRemove() # Если ответ правильный/неправильный if message.text == '/stop': bot.send_message(message.chat.id, 'Спасибо за игру!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id) else: if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) print(message.from_user.username + ' угадал ' + answer) else: bot.send_message(message.chat.id, 'Увы, Вы не угадали. Это ' + answer + '. Попробуйте ещё раз!', reply_markup=keyboard_hider) print(message.from_user.username + ' не угадал ' + answer + '(' + message.text + ')') # Удаляем юзера из хранилища (игра закончена) utils.finish_user_game(message.chat.id) game(message)
def check_answer(message): username = message.from_user.first_name + ' ' + message.from_user.last_name # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Как Вы помните, answer может быть либо текст, либо None # Если None: if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, выберите команду /track') else: db_users_worker = SQLUsers(config.users_database_name) markup_keyboard = utils.generate_main_markup() # Если ответ правильный/неправильный if message.text == answer[0]: elapsed_time = time.time() - answer[1] bonus_score = 0 if elapsed_time < 21: bonus_score = (21 - elapsed_time) score = config.right_score + bonus_score bot.send_message( message.chat.id, 'Верно! Вы получили {} очков (бонус за скорость: {})'.format( str(round(score)), str(round(bonus_score))), reply_markup=markup_keyboard) db_users_worker.edit_winrate(username) db_users_worker.edit_score(username, score) else: db_users_worker.edit_loserate(username) bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=markup_keyboard) db_users_worker.close() utils.finish_user_game(message.chat.id)
def end_training(message): """End game, if user send /end command.""" keyboad = telebot.types.ReplyKeyboardRemove() bot.send_message(message.chat.id, 'Thanks for game! See you later', reply_markup=keyboad) finish_user_game(message.chat.id)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'for start game choose command /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Right!', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Wrong answer. Try it again!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def game(message): global test if (message.text == 'Dopeclvb') or (message.text == 'Погнали!'): if test: game.k = 1 test = False db_worker = SQLighter(config.database_name) row = db_worker.select_single(game.k) markup = utils.generate_markup(row[2], row[3]) bot.send_voice(message.chat.id, row[1], reply_markup=markup) utils.set_user_game(message.chat.id, row[2]) db_worker.close() elif (message.text == 'Pharaoh') or (message.text == 'Давай следующий!'): if test: game.k = 1 test = False db_worker = SQLighter(config.database_name) row = db_worker.select_single(game.k) markup = utils.generate_markup(row[2], row[3]) bot.send_voice(message.chat.id, row[1], reply_markup=markup) utils.set_user_game(message.chat.id, row[2]) db_worker.close() else: answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message( message.chat.id, 'Чтобы начать игру, наберите любую из команд /...') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Чертовски правильный ответ', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Эх, надо бы подучить треки, неверно', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id) markup_d = types.ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True) item1_d = types.KeyboardButton('Погнали!') item2_d = types.KeyboardButton('Выход:(') markup_d.add(item1_d, item2_d) if game.k < utils.get_rows_count(): game.k += 1 bot.send_message(message.chat.id, 'Готов к следующему треку?', reply_markup=markup_d) else: bot.send_message(message.chat.id, 'Больше треков нет, выхожу из игры') test = True
def check_answer(message): right_answer = utils.get_right_answer_for_user(message.chat.id) if not right_answer: bot.send_message(chat_id=message.chat.id, text="To start the game choose '/game' command!") else: keyboard_hider = telebot.types.ReplyKeyboardRemove() if message.text == right_answer: msg = "Congrats! Your answer is correct!" else: msg = "Incorrect! Try again!" bot.send_message(chat_id=message.chat.id, text=msg, reply_markup=keyboard_hider) utils.finish_user_game(chat_id=message.chat.id)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, выберите команду /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def validate_user_answer(self, message, answer): q_id = utils.get_q_id_for_user(message.chat.id) db_worker = SQLLighter(config.database_name) keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: self.bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) db_worker.update_question_result(message.chat.id,q_id,1) self.bot.send_message(message.chat.id, 'Поздравляем, тестирование завершено!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id) else: self.bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте еще раз!', reply_markup=keyboard_hider) db_worker.update_question_result(message.chat.id,q_id,0) utils.finish_user_game(message.chat.id) db_worker.close()
def send_question_from_db(self, message, step): db_worker = SQLLighter(config.database_name) utils.count_rows_for_step(step) row = db_worker.select_single_for_step(random.randint(1, utils.get_rows_count()), step) markup = utils.generate_markup(row[2], row[3]) utils.set_user_game(message.chat.id, row[0],row[2]) q_id = utils.get_q_id_for_user(message.chat.id) check_chat = db_worker.count_rows_question_for_chat(message.chat.id, q_id) if check_chat == 0: self.bot.send_message(message.chat.id, row[1], reply_markup=markup) db_worker.save_question_result(message.chat.id, row[0]) else: self.bot.send_message(message.chat.id, text='Вы уже отвечали на вопросы тестирования. Повторная попытка!') utils.finish_user_game(message.chat.id) db_worker.close()
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру выберите команду /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Конгратюлейшонс!!!', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Плак-плак-плак...', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def continue_game(message): if message.text[0] == '/': bot.send_message(message.chat.id, 'Такой команды не существует!\nКоманда /help - вывод описания доступных команд.') return answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, введите команду /play') else: keyboard_hider = telebot.types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) add_current_riddle_to_guessed(message.chat.id) add_user_score(message.chat.id) else: bot.send_message(message.chat.id, 'Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def check_answer(message): # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Как Вы помните, answer может быть либо текст, либо None # Если None: if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, выберите команду /game') else: # Уберем клавиатуру с вариантами ответа. keyboard_hider = types.ReplyKeyboardHide() # Если ответ правильный/неправильный if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) # Удаляем юзера из хранилища (игра закончена) utils.finish_user_game(message.chat.id)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Что бы начать игру введите /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: utils.set_ans(message.chat.username, 1, 0) bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) else: utils.set_ans(message.chat.username, 0, 1) bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) db_worker = SQLighter(config.database_name) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, введите команду /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: #f = open('images/correct.png', 'rb') bot.send_message(message.chat.id, 'Вы молодец! Попробуйте отгадать еще одну:', reply_markup=keyboard_hider) db_worker.add_score(message.chat.id) else: #f = open('images/wrong.png', 'rb') bot.send_message(message.chat.id, 'К сожалению вы не отгадали. Попробуйте следующую песню:)', reply_markup=keyboard_hider) db_worker.add_song_id(message.chat.id) utils.finish_user_game(message.chat.id) next_song(message)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'To start game type /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Correct!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id) else: bot.send_message(message.chat.id, 'Try again', reply_markup=keyboard_hider) game(message)
def check_answer(message): cid = message.chat.id uid = message.from_user.id if 'петрос' in message.text.lower(): # если встречается слово "петрос" anech = utils.petros() bot.send_message(cid, anech) else: pass if utils.check_user_in_game(uid): answer = utils.get_answer_for_user(uid) keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(cid, 'Верно!', reply_markup=keyboard_hider, reply_to_message_id=message.message_id) else: bot.send_message(cid, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider, reply_to_message_id=message.message_id) utils.finish_user_game(uid) else: pass
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, напиши команду /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Верно!, Продолжаем!', reply_markup=keyboard_hider) game(message) else: bot.send_message( message.chat.id, 'Увы, Ты не угадал. Попробуй ещё раз! Напиши команду /game', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def check_answer(message): # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру, выберите команду /game') else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Увы, Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) # Удаляем юзера из хранилища (игра закончена) utils.finish_user_game(message.chat.id)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Щоб почати діалог /dig') else: i = 0 for y in answer: i = i + 1 if message.text == y: bot.send_message(message.chat.id, 'Успішно!') db_worker = SQLighter(config.database_name) row = db_worker.select_single(i) db_worker.set_id(str(message.chat.id), i) db_worker.close() break else: bot.send_message(message.chat.id, 'Не вірно! Спробуйте ще раз!') utils.finish_user_game(message.chat.id) bot.send_message(message.chat.id, 'Щоб почати діалог /dig') time.sleep(30)
def check_answer(message): # Если функция возвращает None -> человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Answer может быть только текст или None if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру введите команду /game') else: # Убираем клавиатуру с вариантоми ответа keyboard_hider = telebot.types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Вы правильно ответили. Поздравляю!!!', reply_markup=keyboard_hider) bot.send_message(message.chat.id, 'Чтобы повторить игру нажмите /game', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Увы, Вы не угадалию Попробуйте ещё раз!', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def check_answer(message): logging.info("User {}, answer: ".format(message.chat.id, message.text)) answer = utils.get_answer_for_user(message.chat.id) if not answer: bot.send_message(message.chat.id, 'Чтобы начать игру: /game') else: keyboard_hider = telebot.types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Вы не угадали. Попробуйте ещё раз!', reply_markup=keyboard_hider) logging.info("User {} finished".format(message.chat.id)) utils.finish_user_game(message.chat.id)
def check_answer(message): # Если функция возвращает None -> Человек не в игре answer = utils.get_answer_for_user(message.chat.id) # Если None: if not answer: if message.text == "Начать игру": # Подключаемся к БД db_worker = SQLighter(config.database_name) # Получаем слачайную строку из БД row = db_worker.select_single(random.randint(1, utils.get_rows_count())) # Формируем разметку markup = utils.generate_markup(row[2], row[3]) # отправляем аудиофайл с вариантами ответа bot.send_voice(message.chat.id, row[1], reply_markup=markup) # Включаем "игровой режим" utils.set_user_game(message.chat.id, row[2]) # Отсоединяемся от БД db_worker.close() elif message.text == 'Cтатистика': Res = utils.return_res(message.chat.id) bot.send_message(message.chat.id, 'Ваш cчет: ' + str(Res)) else: bot.send_message(message.chat.id, 'Чтобы начать игру, напишите команду /game') else: # Уберём клавиатуру с вариантами ответа, и вернём предыдущую. markup = utils.menu() # Если ответ правильный/неправильный if message.text == answer: bot.send_message(message.chat.id, 'Верно', reply_markup=markup) res = True else: bot.send_message(message.chat.id, 'Не верно. Попробуйте еще раз!', reply_markup=markup) res = False utils.remove_res(message.chat.id, res) # Удаляем юзера из хранилища (игра закончена) utils.finish_user_game(message.chat.id)
def check_answer(message): answer = utils.get_aswer_for_user(message.chat.id) if not answer: """ try: file_info = bot.get_file(message.audio.file_id) print(file_info) except: pass """ bot.send_message(message.chat.id, "To start the game, choose /game") else: keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, "Correct", reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, "Not correct", reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id)
def check_answer(message): answer = utils.get_answer_for_user(message.chat.id) keyboard_hider = types.ReplyKeyboardRemove() if message.text == answer: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) start_keyboard = types.InlineKeyboardMarkup() start_service = types.InlineKeyboardButton(text='Еще?)', callback_data='game') start_keyboard.add(start_service) bot.send_message(message.chat.id, '☺', reply_markup=start_keyboard) else: bot.send_message(message.chat.id, 'Увы, Вы не угадали.', reply_markup=keyboard_hider) start_keyboard = types.InlineKeyboardMarkup() start_service = types.InlineKeyboardButton(text='Попытка - не пытка', callback_data='game') start_keyboard.add(start_service) bot.send_message(message.chat.id, 'Не расстраивайтесь, может еще получится :)', reply_markup=start_keyboard) utils.finish_user_game(message.chat.id)
import telebot
def check_answer(message): flag = 0 db = MySQLer(config.db_config) user_exists = db.select_one_rec('users', 'WHERE chat_id = %s' % message.chat.id) # если в базу текущий польльзователь еще не внесен if not user_exists: # вносим chat_id в таблицу users user_id = db.insert_data('users', 1, 0, message.chat.id) else: # получаем user_id user_id = user_exists[0] # считываем правильный ответ answer = utils.get_answer_for_user(message.chat.id) # если игрок в игре if answer: keyboard_hider = telebot.types.ReplyKeyboardRemove() # получаем id песни по названию song_id = db.select_one_rec('songs', 'WHERE song_name = "%s"' % answer)[0] track_status = db.select_one_rec( 'played_tracks', 'WHERE song_id = %s AND user_id = %s' % (song_id, user_id)) try: # слушал до этого и угадал if track_status[2] == 1: flag = 1 pass # слушал до этого и не угадал и не угадал сейчас elif track_status[2] == 0 and message.text != answer: pass # слушал до этого и не угадал, но угадал сейчас elif track_status[2] == 0 and message.text == answer: db.update_played_tracks(user_id, song_id, 1) flag = 1 except TypeError: # не слушал до этого, но угадал сейчас if message.text == answer: db.insert_data('played_tracks', 0, song_id, user_id, 1) flag = 1 # не слушал до этого, и не угадал сейчас else: db.insert_data('played_tracks', 0, song_id, user_id, 0) if flag == 1: bot.send_message(message.chat.id, 'Верно!', reply_markup=keyboard_hider) bot.send_message(message.chat.id, 'Сыграйте еще раз :) /game', reply_markup=keyboard_hider) else: bot.send_message(message.chat.id, 'Эх... Вы не угадали. Попробуйте еще раз! /game', reply_markup=keyboard_hider) utils.finish_user_game(message.chat.id) else: bot.send_message(message.chat.id, 'Чтобы начать игру, введите команду /game')