def start_messaging(message): user_id = message.from_user.id add_user(user_id) set_user_state(user_id, 'start', db) bot.send_message( message.chat.id, "Здравствуйте! Наш бот может работать для вас в качестве вашего личного словаря, а также поможет запомнить трудно дающиеся вам слова." ) end_any_operation(message)
def show_commands(message): reply = '' reply += '/add - Добавить карточку слово - перевод\n' reply += '/training - Начать тренировку\n' reply += '/show_all_cards - Список всех ваших карточек\n' reply += '/delete_card - Удалить карточку\n' reply += '/delete_all_cards - Удалить все карточки\n' reply += '/help - Cписок доступных команд\n' bot.send_message(message.chat.id, reply) set_user_state(message.from_user.id, 'start', db)
def training_cmd_handler(message): user_id = message.from_user.id words = get_words_for_training(user_id) if len(words) > 0: set_user_state(user_id, "training", db) trainings[user_id] = words bot.send_message(message.chat.id, 'Введите перевод слова: ' + trainings[user_id][0][0]) else: bot.send_message(message.chat.id, 'Список слов пуст. Сначала добавьте слова')
def user_training_handler(message): user_id = message.from_user.id card = trainings[user_id].pop(0) word, translation = card[0], card[1] user_answer = message.text.lower().strip() success = user_answer == translation change_score(user_id, word, success) reply = 'Верно!\n' if success else 'Неверно!\nПравильный ответ: ' + translation + '.\n' if len(trainings[user_id]) == 0: set_user_state(user_id, "start", db) reply += 'Тренировка окончена' else: reply += 'Введите перевод слова: ' + trainings[user_id][0][0] bot.send_message(message.chat.id, reply)
def delete_word_state(message): set_user_state(message.from_user.id, 'card_deleting', db) bot.send_message( message.chat.id, 'Введите либо слово либо перевод, которые хотите удалить: ')
def add_word_handler(message): user_id = message.from_user.id set_user_state(user_id, "adding_word", db) bot.send_message( message.chat.id, 'Вводите карточки в формате слово - перевод. /end - закончить: ')
def end_any_operation(message): set_user_state(message.from_user.id, 'start', db) help_show_main_message(message)
def delete_all_cards_state(message): set_user_state(message.from_user.id, 'deleting_all_cards', db) bot.send_message( message.chat.id, 'Вы действительно хотите удалить все ваши карточки? (yes).')