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))
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))
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
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
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
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)
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)
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)
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']))
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)
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")