def sing_up(self):
        username = self.root.get_screen("singupscreen").ids.username_text.text
        password = self.root.get_screen("singupscreen").ids.password_text.text
        email = self.root.get_screen("singupscreen").ids.email_text.text
        result = singup_test(email)

        if result == None and username != '' and password != '' and email != '':
            insert_user(username, email, password)
            set_status('False')
            self.reset_sing_up()
            MDApp.get_running_app().root.current = 'loginscreen'
        else:
            self.pop_up()
Exemple #2
0
def send_question(message):
    conn, cursor = database.open_db(database.db_name)
    query = f"SELECT test_id, question_number, score FROM {database.status_t} WHERE id='{message.chat.id}'"
    result = cursor.execute(query).fetchall()[0]
    test_id = int(result[0])
    question_number = int(result[1])
    score = int(result[2])
    # get number of questions in test
    query = f"SELECT * FROM {database.tests_t} WHERE id='{test_id}'"
    result = cursor.execute(query).fetchall()
    test_len = len(result)
    if question_number == 0:
        question_number += 1
    elif 0 < question_number <= test_len:
        user_answer = message.text
        query = f"SELECT ans_1 FROM {database.tests_t} WHERE id='{test_id}' AND number='{question_number}'"
        correct_answer = cursor.execute(query).fetchall()[0][0]
        if user_answer == correct_answer:
            score += 1
            bot.send_message(message.chat.id, messages.correct_answer_message)
        else:
            bot.send_message(message.chat.id,
                             messages.incorrect_answer_message)
        question_number += 1
    if question_number > test_len:
        bot.send_message(
            message.chat.id, 'Тест окончен\nВерных ответов: ' + str(score) +
            ' из ' + str(test_len))
        database.set_status(message, config.wait)
        send_help(message)
    else:
        query = f"UPDATE {database.status_t} SET question_number='{question_number}', score='{score}'"
        cursor.execute(query)
        # send question
        query = f"SELECT question, ans_1, ans_2, ans_3, ans_4 FROM {database.tests_t} " \
                f"WHERE id='{test_id}' AND number='{question_number}'"
        result = list(cursor.execute(query).fetchall()[0])
        question = result[0]
        answers = result[1:]
        random.shuffle(answers)
        user_markup = telebot.types.ReplyKeyboardMarkup(True, True)
        user_markup.row(answers[0], answers[1])
        user_markup.row(answers[2], answers[3])
        bot.send_message(message.chat.id, question, reply_markup=user_markup)

    database.close_db(conn, cursor)
Exemple #3
0
def text_messages(message):
    if database.check_reg(message):
        status = database.get_status(message)
        if status == config.name:
            database.set_name(message)
            database.set_status(message, config.age)
            bot.send_message(message.chat.id, messages.age_message)
        elif status == config.age:
            database.set_age(message)
            database.set_status(message, config.gender)
            # Sending buttons
            user_markup = telebot.types.ReplyKeyboardMarkup(True, True)
            user_markup.row(messages.gender_male, messages.gender_female)
            bot.send_message(message.chat.id,
                             messages.gender_message,
                             reply_markup=user_markup)
        elif status == config.gender:
            database.set_gender(message)
            database.set_status(message, config.interest)
            # Sending buttons
            user_markup = telebot.types.ReplyKeyboardMarkup(True, True)
            user_markup.row(messages.interest_count,
                            messages.interest_languages)
            user_markup.row(messages.interest_paint, messages.interest_read)
            bot.send_message(message.chat.id,
                             messages.interest_message,
                             reply_markup=user_markup)
        elif status == config.interest:
            database.set_interest(message)
            database.set_status(message, config.wait)
            bot.send_message(message.chat.id, messages.finish_reg_message)
            send_help(message)
        elif status == config.wait:
            if message.text == messages.take_test:
                database.update_tests_table()
                database.set_status(message, config.take_test)
                select_test(message)
            elif message.text == messages.find_friends:
                #database.set_status(message, config.find_friends)
                bot.send_message(message.chat.id,
                                 'Режим поиска друзей находится в разрботке.')
                send_help(message)
        elif status == config.take_test:
            send_question(message)
    else:
        bot.send_message(message.chat.id, messages.force_start)
Exemple #4
0
def start(message):
    database.add_user(message)
    database.set_status(message, config.name)
    bot.send_message(message.chat.id, messages.start_message)
    bot.send_message(message.chat.id, messages.name_message)
 def bin_selected(self):
     insert_new_garbage(self.logged_in_user, self.kind_of_garbage)
     MDApp.get_running_app().root.current = 'menuscreenmain'
     set_status('True')
     self.state = 'Taken'
 def garbage_is_collected(self):
     user1 = self.get_special_user()
     garbage_taken(user1[0])
     insert_points(user1[0], 10)
     set_status('True')