예제 #1
0
def cabinet(message):
    ind = int(
        sub.get(message.from_user.id,
                database.get_sub(message.from_user.id)['sub']))
    database.write_to_db('state', 0, message.from_user.id)
    state[message.from_user.id] = 0
    bot.send_message(message.from_user.id,
                     text.success,
                     reply_markup=keyboards.registered_menu(ind))
예제 #2
0
def sub_1(message):
    user_id = message.from_user.id
    if user_id not in is_registered or user_id not in sub:
        is_registered[user_id] = database.is_registered(user_id)
        database.write_to_db('state', 0, message.from_user.id)
        state[message.from_user.id] = 0
        sub[user_id] = database.get_sub(message.from_user.id)['sub']
    sub[user_id] = 0
    database.write_to_db('sub', 0, user_id)
    bot.send_message(user_id,
                     text.sub_off,
                     reply_markup=keyboards.registered_menu(0))
예제 #3
0
def low_balans():
    if request.method == 'POST':
        phone = request.form['phone']
        group_id = request.form["group_id"]
        subject = database.get_group_name(int(group_id))['legal_name']
        uid = int(database.get_uid(phone)['tg_chat_id'])
        text = f'У вас не хватает денег на счету для следующего занятия по предмету <b>"{subject}"</b>\n{add_money}'
        if database.get_sub(uid)['sub'] == 1:
            requests.get(url.format(token, uid, text))
        else:
            pass
    else:
        pass
예제 #4
0
def mark():
    if request.method == 'POST':
        phone = request.form['phone']
        mark = request.form['mark']
        group_id = request.form["group_id"]
        subject = database.get_group_name(int(group_id))['legal_name']
        uid = int(database.get_uid(phone)['tg_chat_id'])
        text = f'Вы получили оценку <b>{mark}</b> по предмету "{subject}"'
        if database.get_sub(uid)['sub'] == 1:
            requests.get(url.format(token, uid, text))
        else:
            pass
    else:
        pass
예제 #5
0
def attendance():
    if request.method == "POST":
        phone = request.form['phone']
        group_id = request.form["group_id"]
        status = int(request.form["status"])
        subject = database.get_group_name(int(group_id))['legal_name']
        uid = int(database.get_uid(phone)['tg_chat_id'])
        if status == 1:
            text = f'Вы посетили занятие по предмету "{subject}"'
        elif status == 0:
            text = f'Вы пропустили занятие по предмету "{subject}"'
        if database.get_sub(uid)['sub'] == 1:
            requests.get(url.format(token, uid, text))
        else:
            pass
    else:
        pass
예제 #6
0
def get_contact_text(message):
    message_text = message.text
    if not database.is_dublicate(message_text):
        if database.is_number_exist(message_text, message.from_user.id):
            database.write_to_db('state', 0, message.from_user.id)
            state[message.from_user.id] = 0
            ind = int(
                sub.get(message.from_user.id,
                        database.get_sub(message.from_user.id)['sub']))
            bot.send_message(message.from_user.id,
                             text.success,
                             reply_markup=keyboards.registered_menu(ind))
        else:
            bot.send_message(message.from_user.id,
                             text.failed,
                             reply_markup=keyboards.contact())
    else:
        bot.send_message(message.from_user.id, text.number_in_use)
예제 #7
0
def marks(message):
    user_id = message.from_user.id
    marks = database.get_marks(user_id)
    if user_id not in is_registered or user_id not in sub:
        is_registered[user_id] = database.is_registered(user_id)
        database.write_to_db('state', 0, message.from_user.id)
        state[message.from_user.id] = 0
        sub[user_id] = database.get_sub(message.from_user.id)['sub']
    if len(marks) != 0:
        message_text = text.marks
        name = ""
        for mark in marks:
            date = datetime.strftime(mark["event_date"], r"%d-%m-%Y")
            if mark['u.name'] != name:
                message_text += f'{mark["u.name"]}\n{date}: {mark["name"]} - <b>{mark["mark"]}</b>\n'
                name = mark['u.name']
            else:
                message_text += f'{date}: {mark["name"]} - <b>{mark["mark"]}</b>\n'
        bot.send_message(user_id, message_text, parse_mode="HTML")
    else:
        bot.send_message(user_id, text.no_marks)
예제 #8
0
def payment(message):
    user_id = message.from_user.id
    payments = database.get_payment(user_id)
    if user_id not in is_registered or user_id not in sub:
        is_registered[user_id] = database.is_registered(user_id)
        database.write_to_db('state', 0, message.from_user.id)
        state[message.from_user.id] = 0
        sub[user_id] = database.get_sub(message.from_user.id)['sub']
    if len(payments) != 0:
        message_text = text.payment_text
        name = ""
        for pay in payments:
            date = datetime.strftime(pay["created_at"], r"%d-%m-%Y")
            if pay['u.name'] != name:
                message_text += f"{pay['u.name']}\n{date}: {pay['name']} - {pay['amount']*(-1)}\n"
                name = pay['u.name']
            else:
                message_text += f"{date}: {pay['name']} - {pay['amount']*(-1)}\n"
        bot.send_message(user_id, message_text)
    else:
        bot.send_message(user_id, text.no_payment)
예제 #9
0
def balans(message):
    user_id = message.from_user.id
    if user_id not in is_registered or user_id not in sub:
        is_registered[user_id] = database.is_registered(user_id)
        database.write_to_db('state', 0, message.from_user.id)
        state[message.from_user.id] = 0
        sub[user_id] = database.get_sub(message.from_user.id)['sub']
    balans = database.get_balans(user_id)
    if len(balans) > 1:
        message_text = ""
        name = ""
        for bal in balans:
            if bal['name'] != name:
                message_text += (bal['name'] + "\n" +
                                 text.show_balans.format(bal['money']))
                name = bal['name']
            else:
                message_text += text.show_balans.format(bal['money'])
        bot.send_message(user_id, message_text)
    else:
        bot.send_message(user_id, text.balans_kol.format(balans[0]['money']))
예제 #10
0
def gaps(message):
    user_id = message.from_user.id
    gapps = database.get_gaps(user_id)
    if user_id not in is_registered or user_id not in sub:
        is_registered[user_id] = database.is_registered(user_id)
        database.write_to_db('state', 0, message.from_user.id)
        state[message.from_user.id] = 0
        sub[user_id] = database.get_sub(message.from_user.id)['sub']
    if len(gapps) < 1:
        bot.send_message(user_id, text.no_gaps)
    else:
        message_text = text.gaps.format(len(gapps))
        name = ""
        for gap in gapps:
            date = datetime.strftime(gap["event_date"], r"%d-%m-%Y")
            if gap['u.name'] != name:
                message_text += f'{gap["u.name"]}\n{date}: {gap["name"]}\n'
                name = gap['u.name']
            else:
                message_text += f'{date}: {gap["name"]}\n'
        bot.send_message(user_id, message_text)
예제 #11
0
def debt(message):
    user_id = message.from_user.id
    debts = database.get_debt(user_id)
    if user_id not in is_registered or user_id not in sub:
        is_registered[user_id] = database.is_registered(user_id)
        database.write_to_db('state', 0, message.from_user.id)
        state[message.from_user.id] = 0
        sub[user_id] = database.get_sub(message.from_user.id)['sub']
    message_text = ""
    if len(debts) == 0:
        bot.send_message(user_id, text.no_debt, parse_mode="HTML")
    else:
        name = ""
        for d in debts:
            date = datetime.strftime(d["created_at"], r"%d-%m-%Y")
            if d['u.name'] != name:
                message_text += (
                    d['u.name'] + "\n" +
                    text.debt_text.format(d["amount"], date, d['name']))
                name = d['u.name']
            else:
                message_text += text.debt_text.format(d["amount"], date,
                                                      d['name'])
        bot.send_message(user_id, message_text, parse_mode="HTML")