Exemplo n.º 1
0
def word_state(message):
    user_id = str(message.from_user.id)
    ch_d.change_data('states', user_id, MAIN_STATE)

    if message.text == data['user_word'][user_id]:
        bot.send_message(user_id, 'Правильно!', reply_markup=markup)
        sc_user.add_victories(user_id, 1)
    else:
        bot.send_message(user_id, 'Неправильно :(', reply_markup=markup)
        sc_user.add_defeats(user_id, 1)
Exemplo n.º 2
0
def add_defeats(user, score_num):
    if user in data['score']:
        score_d = data['score'][user]['defeats']
        score_d += score_num
        ch_d.change_data('score', user, score_d, 'defeats')
    else:
        ch_d.change_data('score', user, {'victories': 0, 'defeats': 0})
        score_d = data['score'][user]['defeats']
        score_d += score_num
        ch_d.change_data('score', user, score_d, 'defeats')
Exemplo n.º 3
0
def ask_state(message):
    user_id = str(message.from_user.id)
    ch_d.change_data('user_let', user_id, message.text.lower())
    letter = data['user_let'][user_id]

    try:
        response = g_word.get_response(letter)

        ch_d.change_data('states', user_id, WORD_STATE)
        ch_d.change_data('user_word', user_id, response['word'])
        word = data['user_word'][user_id].lower()
        bot.send_message(
            user_id, 'Поставь ударение в слове - {}. '
            'Напиши все буквы в нижнем регистре, а букву с ударением '
            'поставь в верхнем. Например, искрА. '.format(word))

    except JSONDecodeError:
        ch_d.change_data('states', user_id, ASK_STATE)
        bot.send_message(user_id, 'Попробуй еще раз')
Exemplo n.º 4
0
def main_handler(message):
    user_id = str(message.from_user.id)
    user_name = message.from_user.first_name
    ch_d.change_data('users', user_id, user_name)

    if 'привет' in message.text.lower():
        bot.send_message(user_id,
                         'Здравствуй, ' + user_name + '!',
                         reply_markup=markup)

    elif message.text.lower() in ask_option:
        ch_d.change_data('states', user_id, ASK_STATE)
        reset_markup = types.ReplyKeyboardRemove()
        bot.send_message(
            user_id,
            'Напиши, на какую букву начинается слово, или укажи "любая"',
            reply_markup=reset_markup)

    elif message.text.lower() in show_score:
        try:
            user_vict = str(data['score'][user_id]['victories'])
            user_def = str(data['score'][user_id]['defeats'])
            ans = user_vict + ':' + user_def
            bot.send_message(user_id, ans)

        except KeyError:
            ch_d.change_data('score', user_id, {'victories': 0, 'defeats': 0})
            user_vict = str(data['score'][user_id]['victories'])
            user_def = str(data['score'][user_id]['defeats'])
            ans = user_vict + ':' + user_def
            bot.send_message(user_id, ans)

    else:
        bot.send_message(user_id,
                         'Это бот-тренажер ударений: он поможет научиться '
                         'правильной постановке ударений в сложных словах',
                         reply_markup=markup)