Example #1
0
def univer_info_keyboard(message):
    keyboard = InlineKeyboardMarkup()

    keyboard.add(
        InlineKeyboardButton(
            text=
            f'Відділ бухгалтерського обліку {emojize(":dollar:", use_aliases=True)}',
            callback_data='accounting'))
    keyboard.add(
        InlineKeyboardButton(
            text=
            f'Центр сприяння працевлаштуванню {emojize(":fax:", use_aliases=True)}',
            callback_data='employment'))
    keyboard.add(
        InlineKeyboardButton(
            text=f'Профком студентів {emojize(":shield:", use_aliases=True)}',
            callback_data='profcom'))
    keyboard.add(
        InlineKeyboardButton(
            text=f'Сайт НУ «ЗП» {emojize(":computer:", use_aliases=True)}',
            callback_data='show_site'))

    bot.send_message(message.from_user.id,
                     text='Вибери:',
                     reply_markup=keyboard)
Example #2
0
def time_event(message, event_id):
    Event.update_event(event_id=event_id, time=message.text)

    bot.send_message(
        chat_id=message.from_user.id,
        text=f'Захід "{Event.get_event(event_id=event_id).name}" створено '
        f'{emojize(":white_check_mark:", use_aliases=True)}')
Example #3
0
def get_events_schelude(message):
    event_list = Event.get_all_events()
    print(event_list)
    if event_list:
        keyboard = InlineKeyboardMarkup(row_width=2)
        keys_list = []

        for event in event_list:
            keys_list.append(
                InlineKeyboardButton(text=event.name,
                                     callback_data=f'schelude_{event.id}'))
            keys_list.append(
                InlineKeyboardButton(text=event.date,
                                     callback_data=f'schelude_{event.id}'))

        keyboard.add(*keys_list)

        bot.send_message(
            chat_id=message.from_user.id,
            text=
            f'{emojize(":man_juggling:", use_aliases=True)} Розклад заходів '
            f'{emojize(":performing_arts:", use_aliases=True)}',
            reply_markup=keyboard)
    else:
        bot.send_message(chat_id=message.from_user.id,
                         text='На даний час ніяких заходів не заплановано')
Example #4
0
def assign_grade(message):
    subjects_keyboard = make_keyboard('subject', Subject.get_subjects(),
                                      'gradesubject_')

    bot.send_message(chat_id=message.from_user.id,
                     text='Виберіть предмет:',
                     reply_markup=subjects_keyboard)
Example #5
0
def change_event_time(message, event_id):
    Event.update_event(event_id=event_id, time=message.text)

    bot.send_message(
        chat_id=message.from_user.id,
        text=
        f'Час проведення заходу змінено на {Event.get_event(event_id=event_id).time} '
        f'{emojize(":white_check_mark:", use_aliases=True)}')
Example #6
0
def change_event_name(message, event_id):
    Event.update_event(event_id=event_id, name=message.text)

    bot.send_message(
        chat_id=message.from_user.id,
        text=
        f'Назву заходу змінено на "{Event.get_event(event_id=event_id).name}" '
        f'{emojize(":white_check_mark:", use_aliases=True)}')
Example #7
0
def step_6(message, price, choice):
    global app_price
    app_price[message.chat.id] += price

    bot.send_message(message.chat.id,
                     "Текущая стоимость: *" + str(app_price[message.chat.id]) +
                     "$*. \n\nКакие *сторонние сервисы* Вам нужны?",
                     reply_markup=k.keyboard_6_screen,
                     parse_mode='Markdown')
Example #8
0
def step_3(message, price, choice):
    global app_price
    app_price[message.chat.id] += price

    bot.send_message(message.chat.id,
                     "Текущая стоимость: *" + str(app_price[message.chat.id]) +
                     "$*. \n\n*Сколько примерно экранов* в Вашем приложении?",
                     reply_markup=k.keyboard_3_screen,
                     parse_mode='Markdown')
Example #9
0
def event_visits_keyboard(message):
    keyboard = InlineKeyboardMarkup()

    keyboard.add(InlineKeyboardButton(text=f'Учасники заходу {emojize(":page_facing_up:", use_aliases=True)}',
                                      callback_data='event_visitors'))
    keyboard.add(InlineKeyboardButton(text=f'Відвідування заходів {emojize(":bar_chart:", use_aliases=True)}',
                                      callback_data='student_events'))

    bot.send_message(chat_id=message.from_user.id, text='Вибери дію:', reply_markup=keyboard)
Example #10
0
def step_8(message, price, choice):
    global app_price
    app_price[message.chat.id] += price

    bot.send_message(
        message.chat.id,
        "Текущая стоимость: *" + str(app_price[message.chat.id]) +
        "$*. \n\nКакие *дополнительные функции* нужны в приложении?",
        reply_markup=k.keyboard_8_screen,
        parse_mode='Markdown')
Example #11
0
def step_7(message, price, choice):
    global app_price
    app_price[message.chat.id] += price

    bot.send_message(
        message.chat.id,
        "Текущая стоимость: *" + str(app_price[message.chat.id]) +
        "$*. \n\nКакие элементы управления нужны в *панели Администратора?*",
        reply_markup=k.keyboard_7_screen,
        parse_mode='Markdown')
Example #12
0
def step_5(message, price, choice):
    global app_price
    app_price[message.chat.id] += price

    bot.send_message(
        message.chat.id,
        "Текущая стоимость: *" + str(app_price[message.chat.id]) +
        "$*. \n\nКакой *тип безопасности данных* нужно реализовать в приложении?",
        reply_markup=k.keyboard_5_screen,
        parse_mode='Markdown')
Example #13
0
def step_4(message, price, choice):
    global app_price
    app_price[message.chat.id] += price

    bot.send_message(
        message.chat.id,
        "Текущая стоимость: *" + str(app_price[message.chat.id]) +
        "$*. \n\nКак будет реализована *авторизация* пользователей?",
        reply_markup=k.keyboard_4_screen,
        parse_mode='Markdown')
Example #14
0
def say_goodbye(message):
    print(message.json)
    bot.send_message(
        382372945, "Пользователь @" + message.from_user.username +
        " оставил свои контактные данные: " + message.json['text'])

    bot.send_message(
        message.chat.id,
        "Спасибо, что воспользовались нашим калькулятором!\nМы свяжемся с Вами *в ближайшее время*. Хорошего дня!",
        parse_mode='Markdown')
Example #15
0
def get_debtors_by_group(call):
    group_keyboard = make_keyboard(keyboard_type='group',
                                   elem_list=Group.get_groups(),
                                   marker='grdebtor_')

    bot.send_message(chat_id=call.from_user.id,
                     text='Вибери групу:',
                     reply_markup=group_keyboard)

    bot.register_next_step_handler_by_chat_id(call.from_user.id, show_debtors_by_group_callback)
Example #16
0
def add_profcomdebtor(call):
    group_keyboard = make_keyboard(keyboard_type='group',
                                   elem_list=Group.get_groups(),
                                   marker='debtorgroup_')

    bot.send_message(chat_id=call.from_user.id,
                     text='Вибери групу:',
                     reply_markup=group_keyboard)

    bot.register_next_step_handler_by_chat_id(call.from_user.id, get_group_for_profcomdebt)
Example #17
0
def step_2(message, price, choice):
    global app_price
    app_price[message.chat.id] = 0
    app_price[message.chat.id] += price

    bot.send_message(message.chat.id,
                     "Текущая стоимость: *" + str(app_price[message.chat.id]) +
                     "$*. \n\nНужен ли Вам *дизайн проекта*?",
                     reply_markup=k.keyboard_2_screen,
                     parse_mode='Markdown')
Example #18
0
def profcom_debtor_keyboard(message):
    keyboard = InlineKeyboardMarkup()

    keyboard.add(InlineKeyboardButton(text=f'Додати боржника {emojize(":heavy_plus_sign:", use_aliases=True)}',
                                      callback_data='add_debtor'))
    keyboard.add(InlineKeyboardButton(text=f'Видалити боржника {emojize(":heavy_minus_sign:", use_aliases=True)}',
                                      callback_data='delete_debtor'))
    keyboard.add(InlineKeyboardButton(text=f'Боржники за групою {emojize(":busts_in_silhouette:", use_aliases=True)}',
                                      callback_data='debtors_of_group'))

    bot.send_message(message.from_user.id, text='Вибери дію:', reply_markup=keyboard)
Example #19
0
def headman_assignment(call):
    group_keyboard = make_keyboard(keyboard_type='group',
                                   elem_list=Group.get_groups(),
                                   marker='headmangroup_')

    bot.send_message(chat_id=call.from_user.id,
                     text='Вибери групу:',
                     reply_markup=group_keyboard)

    bot.register_next_step_handler_by_chat_id(call.from_user.id,
                                              get_group_headman_assign)
Example #20
0
def headman_changing(call):
    group_keyboard = make_keyboard(keyboard_type='group',
                                   elem_list=Group.get_groups(),
                                   marker='chheadgroup_')

    bot.send_message(chat_id=call.from_user.id,
                     text='Змінити старосту групи:',
                     reply_markup=group_keyboard)

    bot.register_next_step_handler_by_chat_id(call.from_user.id,
                                              get_group_headman_change)
Example #21
0
def add_extragrade(message):

    group_keyboard = make_keyboard(keyboard_type='group',
                                   elem_list=Group.get_groups(),
                                   marker='extragradegroup_')

    bot.send_message(chat_id=message.from_user.id,
                     text='Вибери групу:',
                     reply_markup=group_keyboard)

    bot.register_next_step_handler_by_chat_id(message.from_user.id, get_group_for_extragrade)
Example #22
0
def register(message):
    group_keyboard = make_keyboard(keyboard_type='group',
                                   elem_list=Group.get_groups(),
                                   marker='group_')

    bot.delete_message(chat_id=message.from_user.id,
                       message_id=message.message.message_id)

    bot.send_message(chat_id=message.from_user.id,
                     text='Вибери свою групу:',
                     reply_markup=group_keyboard)
    bot.register_next_step_handler_by_chat_id(message.from_user.id, get_group)
Example #23
0
def save_extragrade(message, student_id):
    ExtraGrade.add_extragrade(extra_grade=int(message.text), student_id=student_id)

    student = Student.get_student_by_id(student_id)

    bot.send_message(chat_id=message.from_user.id,
                     text=f'Додатковий бал студенту '
                          f'<a href="t.me/{student.username}">{student.name}</a>'
                          f' було поставлено {emojize(":white_check_mark:", use_aliases=True)}',
                     parse_mode='html')

    bot.send_message(chat_id=message.from_user.id,
                     text='Вибери пункт меню:',
                     reply_markup=make_role_replykeyboard(studdekan_buttons))
Example #24
0
def get_gradebook_id(message, student):
    gradebook_id = message.text

    if bool(re.search('^\d+(\.\d+)*$', gradebook_id)) is False:
        message = bot.send_message(
            chat_id=message.from_user.id,
            text='Неккоректний ввід\nВведи номер своєї залікової книжки')
        bot.register_next_step_handler(message, get_gradebook_id, student)
    else:
        student.gradebook_id = gradebook_id

        message = bot.send_message(chat_id=message.from_user.id,
                                   text='Введи свій номер телефону')
        bot.register_next_step_handler(message, get_phone, student)
Example #25
0
def register_for_admins(message):
    if Student.get_student_by_id(message.from_user.id) is None:
        group_keyboard = make_keyboard(keyboard_type='group',
                                       elem_list=Group.get_groups(),
                                       marker='group_')

        bot.send_message(chat_id=message.from_user.id,
                         text='Вибери свою групу:',
                         reply_markup=group_keyboard)
        bot.register_next_step_handler_by_chat_id(message.from_user.id,
                                                  get_group)
    else:
        bot.send_message(chat_id=message.from_user.id,
                         text='Ти вже зареєстрований')
        bot.clear_step_handler_by_chat_id(chat_id=message.from_user.id)
Example #26
0
def name_event(message):
    if message.text == '/cancel':
        bot.send_message(
            chat_id=message.from_user.id,
            text=
            f'Дія була скасована {emojize(":white_check_mark:", use_aliases=True)}'
        )
        bot.clear_step_handler_by_chat_id(chat_id=message.from_user.id)
        return

    event = Event.add_event(name=message.text)
    message = bot.send_message(chat_id=message.from_user.id,
                               text="Місце проведення")

    bot.register_next_step_handler(message, place_event, event.id)
Example #27
0
def get_group_for_profcomdebt(message):
    group = message.text
    group_id = Group.get_id_by_group(group)

    if group_id is False:
        bot.clear_step_handler_by_chat_id(message.from_user.id)
        bot.send_message(chat_id=message.from_user.id,
                         text='Вибери пункт меню:',
                         reply_markup=make_role_replykeyboard(studdekan_buttons))
    else:
        student_keyboard = make_keyboard(keyboard_type='student',
                                         elem_list=[student for student in Student.get_students_by_group(group_id)],
                                         marker=f'debtor_{Group.get_group_by_id(group_id)}_')

        bot.send_message(chat_id=message.from_user.id,
                         text='Вибери студента:', reply_markup=student_keyboard)
Example #28
0
def send_rating_file(message):
    file_name = 'Рейтинг'
    file_path = os.path.dirname(
        os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + '/tmp/'

    stud_dict = prepare_student_grades_table()

    make_student_grades_table(students_dict=stud_dict,
                              file_name=file_name,
                              file_path=file_path)

    doc = open(f'{file_path}{file_name}.xlsx', 'rb')

    bot.send_message(chat_id=message.from_user.id,
                     text='Документ з рейтингом студентів')
    bot.send_document(chat_id=message.from_user.id, data=doc)
Example #29
0
def get_name(message, student):
    name = message.text

    if bool(re.search("[^А-ЯҐЄІIЇа-яiієїґ' -]+",
                      name)) or len(name.split(' ')) != 3 or len(name) > 256:
        message = bot.send_message(
            chat_id=message.from_user.id,
            text=f'Неккоректний ввід {emojize(":x:", use_aliases=True)}'
            f'\nВведи ПІБ українською мовою')
        bot.register_next_step_handler(message, get_name, student)
    else:
        student.name = name

        message = bot.send_message(chat_id=message.from_user.id,
                                   text='Введи номер своєї залікової книжки')
        bot.register_next_step_handler(message, get_gradebook_id, student)
Example #30
0
def show_studying_keyboard(message):
    keyboard = InlineKeyboardMarkup()

    keyboard.add(
        InlineKeyboardButton(
            text=f'Методичні матеріали {emojize(":books:", use_aliases=True)}',
            callback_data='study_methods'))
    keyboard.add(
        InlineKeyboardButton(
            text=
            f'Моя успішність {emojize(":chart_with_upwards_trend:", use_aliases=True)}',
            callback_data='my_progress'))

    bot.send_message(message.from_user.id,
                     text='Вибери:',
                     reply_markup=keyboard)