Example #1
0
def add_mark_to_bd(bot, update):
    query = bot.callback_query
    text = "С"
    if int(query.data) == 1 or int(query.data) == 2:
        text = "Обидно🤧\nНо с"
    user = query.message.chat.id
    con, cursor = main_csp.get_cursor()
    check = cursor.execute(f"SELECT user_id FROM marks").fetchall()
    mark = cursor.execute(
        f"SELECT mark FROM marks WHERE user_id = '{user}' ").fetchone()
    users = [us[0] for us in check]
    if user in users:
        update.bot.edit_message_caption(
            caption=f"Вы уже ставили оценку! Ваша оценка: {mark[0]}",
            chat_id=user,
            message_id=query.message.message_id)
    else:
        update.bot.edit_message_caption(
            caption=text +
            "пасибо за оценку! Этим вы помогаете мне понять, достаточно ли я хороша💞",
            chat_id=user,
            message_id=query.message.message_id)
        result = f'''INSERT INTO marks(user_id, username, name, mark) VALUES(?, ?, ?, ?)'''
        cursor.execute(result,
                       (query.message.chat.id, query.message.chat.username,
                        str(query.message.chat.first_name) +
                        str(query.message.chat.last_name), int(query.data)))
        con.commit()
        con.close()
Example #2
0
def author(update, context):
    update.message.reply_text("Спасибо, что поинтересовался❣\nМне очень приятно💓\n\nВот мои контакты:\n@sofa_gans")
    con, cursor = main_csp.get_cursor()
    cursor.execute(f"INSERT INTO counters_and_marks(username, name, contacts) VALUES(?, ?, ?)",
                   (update.message.chat.username,
                    str(update.message.chat.first_name) + str(update.message.chat.last_name), 0))
    con.commit()
    con.close()
Example #3
0
def get_rating(update, context):
    con, cursor = main_csp.get_cursor()
    result = cursor.execute(f"SELECT mark FROM marks").fetchall()
    summa, kolvo = main_csp.counter_comparison(result)
    update.message.reply_text("*🙊Рейтинг бота:*\n_👉" + str(summa / kolvo)[:4] + " / 5👈_\n\nКажется, я не так плоха💌",
                              parse_mode=ParseMode.MARKDOWN,
                              reply_markup=ReplyKeyboardMarkup(main_csp.SECTION_OTHER, resize_keyboard=True))
    con.close()
Example #4
0
def change_mark(bot, update):
    con, cursor = main_csp.get_cursor()
    user = bot.message.chat.id
    query = f"DELETE FROM marks WHERE user_id = '{user}' "
    cursor.execute(query)
    con.commit()
    con.close()
    bot.message.reply_text("Оценка удалена! Поставьте оценку заново:")
    set_mark(bot, update)
def english_speech(update, context):
    con, cursor = main_csp.get_cursor()
    letter = update.message.text
    goal = cursor.execute(f"SELECT goal, how_to_do FROM parts_of_speech WHERE part_of_sp ='{letter[1:-1]}' ").fetchone()
    update.message.reply_text("*Цель:* \n☑ _" + goal[0] + "_☑", parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text("*Как выполнять:* \n🆙" + goal[1], parse_mode=ParseMode.MARKDOWN,
                              reply_markup=ReplyKeyboardMarkup([["🤏цитата🤏"], ["🔙вернуться назад🔙"]],
                                                               resize_keyboard=True))
    con.close()
def know_result_many_words():
    con, cursor = main_csp.get_cursor()
    result = cursor.execute(
        f"SELECT {letter} FROM counters_and_marks").fetchall()
    summa, kolvo = main_csp.counter_comparison(result)
    con.close()
    if value < (summa / kolvo):
        return value,\
               "Вы сказали меньше слов, чем говорят в среднем. Но я уверена, это _неокончательный результат_!!!💜"
    else:
        return value, "Вы сказали больше слов, чем говорят в среднем. Мои поздравления! _Дальше - больше_💜"
def long_song_about(update, context):
    con, cursor = main_csp.get_cursor()
    letter = update.message.text
    print(letter[1:-1])
    goal = cursor.execute(f"""
        SELECT goal, how_to_do, frequency FROM parts_of_speech WHERE part_of_sp = "{letter[1:-1]}" """).fetchone()
    update.message.reply_text("*Цель:* \n☑ _" + goal[0] + "_☑", parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text("*Как выполнять:* \n🆙" + goal[1], parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text("🅰🅱🅾🅱🅰\n🤓При регулярной практике вскоре вы сможете задвинуть часовую лекцию про ластик, "
                              "стул или дверцу шкафа:))🤠", parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text("*Частота выполнения:* \n♾♾♾♾♾♾♾♾\n" + goal[2] + "\n♾♾♾♾♾♾♾♾",
                              parse_mode=ParseMode.MARKDOWN, reply_markup=ReplyKeyboardMarkup([["🤏словечко🤏"],
                                                                                               ["🔙вернуться назад🔙"]],
                                                                                              resize_keyboard=True))
    con.close()
Example #8
0
def add_review_to_file_and_bd(update, context):
    update.message.reply_text(
        "Спасибо за отзыв, он очень важен для меня🥰",
        reply_markup=ReplyKeyboardMarkup(main_csp.SECTION_OTHER,
                                         resize_keyboard=True))
    rev = open("all_reviews.txt", "a", encoding="UTF-8")
    rev.write("\n" + update.message.text + "\n")
    rev.close()
    con, cursor = main_csp.get_cursor()
    result = f'''INSERT INTO reviews(user_id, username, name, review) VALUES(?, ?, ?, ?)'''
    cursor.execute(result,
                   (update.message.chat.id, update.message.chat.username,
                    str(update.message.chat.first_name) +
                    str(update.message.chat.last_name), update.message.text))
    con.commit()
    con.close()
def task(context):
    text = "❗Минута прошлА❗\n*Цель:*\n✅_выполнена_✅"
    updated.message.reply_text(text,
                               parse_mode=ParseMode.MARKDOWN,
                               reply_markup=ReplyKeyboardMarkup(
                                   [['🔙вернуться назад🔙']],
                                   resize_keyboard=True))
    res, text = know_result_many_words()
    updated.message.reply_text("*Поздравляю!*👇\n_Ваш результат:_ " + str(res),
                               parse_mode=ParseMode.MARKDOWN)
    updated.message.reply_text(text, parse_mode=ParseMode.MARKDOWN)

    con, cursor = main_csp.get_cursor()
    query = f'''INSERT INTO counters_and_marks({letter}, username, name) VALUES(?, ?, ?)'''
    cursor.execute(query, (res, updated.message.chat.username,
                           str(updated.message.chat.first_name) +
                           str(updated.message.chat.last_name)))
    con.commit()
    con.close()
Example #10
0
def set_mark(bot, update):
    mark_keyboard = [[
        InlineKeyboardButton("отлично", callback_data='5'),
        InlineKeyboardButton("хорошо", callback_data='4')
    ], [InlineKeyboardButton("удовлетворительно", callback_data='3')],
                     [
                         InlineKeyboardButton("плохо", callback_data='2'),
                         InlineKeyboardButton("ужасно", callback_data='1')
                     ]]
    con, cursor = main_csp.get_cursor()
    result = cursor.execute(
        "SELECT file_id FROM names_of_pic WHERE name = 'kitten_gif' "
    ).fetchone()
    # в бд находится уже готовый id гифки, чтобы 1)не загружать в телеграм заново одно и то же;
    # 2) программа не тормозила
    con.close()
    update.bot.send_animation(chat_id=bot.message.chat.id,
                              animation=result[0],
                              reply_markup=InlineKeyboardMarkup(mark_keyboard))
def goals_many_words(update, context):
    con, cursor = main_csp.get_cursor()
    global letter
    letter = "".join(update.message.text.split())
    print(letter)
    goal = cursor.execute(f"""
    SELECT goal, how_to_do, frequency FROM parts_of_speech WHERE part_of_sp = "{letter}" """
                          ).fetchone()
    update.message.reply_text("*Цель:* \n☑ _" + goal[0] + "_",
                              parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text("*Как выполнять:* \n🆙" + goal[1],
                              parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text(
        "🅰🅱🅾🅱🅰\nПовторяться нельзя❗\nПосле каждого сказанного слова нажмите на кнопку"
        " на клавиатуре(она появится, как только вы начнете(плюс))."
        "\n⭕Данное упражнение отлично _вытягивает_ "
        "слова из пассивного запаса⭕",
        parse_mode=ParseMode.MARKDOWN)
    update.message.reply_text(
        "*Частота выполнения:* \n♾♾♾♾♾♾♾♾\n" + goal[2] + "\n♾♾♾♾♾♾♾♾",
        parse_mode=ParseMode.MARKDOWN,
        reply_markup=ReplyKeyboardMarkup([["начнем!"], ["🔙вернуться назад🔙"]],
                                         resize_keyboard=True))
    con.close()