Example #1
0
def upload_homework(message):
    chat_id = message.chat.id
    homework = session.query(Homework).get(message.text)

    bot.send_document(message.chat.id, homework.file_telegram_id)

    send_main_menu(message)
Example #2
0
def rejected(message):
    chat_id = message.chat.id
    bot.send_message(
        chat_id,
        "Вы не можете поменять себе роль, так как Вы -- администратор.")

    send_main_menu(message)
Example #3
0
def option_select(message):
    chat_id = message.chat.id
    user = session.query(User).filter_by(name=username).one()

    # FIXME:
    # if role == Role.ADMIN: ask_again_to_be_sure
    # if my_role == Role.ADMIN: reject changing (!)   <- check
    global is_checked

    if message.current_group.user_has_role(user, Role.ADMIN):
        bot.send_message(
            chat_id,
            "Вы не можете поменять себе роль, так как Вы -- администратор.")
    else:
        role = Role(message.text)

        if role == Role.ADMIN and not is_checked:
            bot.send_message(
                chat_id,
                "Вы уверены, что хотите дать этому пользователю права администратора?"
            )
            is_checked = True
            bot.register_next_step_handler(message, option_select)
        else:
            message.current_group.add_role_to_user(user, role)

            bot.send_message(
                chat_id,
                "Роль пользователя'" + user.name + "' успешно изменена!")
            bot.send_message(chat_id, "Новая роль пользователя: " + str(role))

    if is_checked:
        is_checked = False

    send_main_menu(message)
Example #4
0
def remove_success(message):
    chat_id = message.chat.id
    group_name = message.current_group.name
    user = User.from_telegram_nickname(message.text)

    message.current_group.delete_user(user)
    bot.send_message(chat_id, "Пользователь удалён")

    send_main_menu(message)
Example #5
0
def check_inbox(message):
    chat_id = message.chat.id
    user = User.from_telegram_id(chat_id)

    if user.is_inbox_empty():
        bot.send_message(chat_id, 'У вас нет новых сообщений :(')
    else:
        bot.send_message(chat_id, user.inbox)
        user.inbox = ''

    send_main_menu(message)
Example #6
0
def check_end(message):
    chat_id = message.chat.id
    completed_homework = states[chat_id]

    if any_messages[chat_id]:
        completed_homework.comment = message.text
    else:
        completed_homework.comment = None

    session.commit()

    bot.send_message(chat_id, "Проверено")
    send_main_menu(message)
Example #7
0
def got_group(message):
    if message.text == "Создать группу":
        return create.create_group(message)

    user = User.from_telegram_id(message.chat.id)
    groups = {group.name: group for group in user.groups}

    if message.text in groups.keys():
        current_groups[message.chat.id] = groups[message.text]
        message.current_group = groups[message.text]
        send_main_menu(message)
    else:
        return select_group(message)
Example #8
0
def push_next2(message):
    user = User.from_telegram_id(message.chat.id)
    chat_id = message.chat.id

    homework = session.query(Homework).get(states[message.chat.id])
    completed = CompletedHomework(homework=homework,
                                  file_telegram_id=message.document.file_id,
                                  student=user)

    session.add(completed)
    session.commit()

    bot.send_message(chat_id, "Файл загружен!")

    send_main_menu(message)
Example #9
0
def ask_teacher(message):
    chat_id = message.chat.id
    answer = message.text

    if answer == 'Отмена':
        send_main_menu(message)
    else:
        global username

        usernames[chat_id] = answer

        bot.send_message(
            chat_id,
            'Что бы Вы хотели спросить у своего любимого преподавателя? :)')

        bot.register_next_step_handler(message, the_question)
Example #10
0
def the_question(message):
    chat_id = message.chat.id
    msg = message.text

    # user = User.from_telegram_nickname(usernames[chat_id])
    user = session.query(User).filter_by(name=usernames[chat_id]).one()

    me = User.from_telegram_id(chat_id)
    # user.inbox = str(user.inbox) + '\n' + 'новое сообщение от \'' + me.name + '\': ' + msg

    # session.commit()

    bot.send_message(user.telegram_id,
                     f"Сообщение от пользователя {me.name}:\n{msg}")
    bot.send_message(chat_id, "Сообщение отправлено!")

    send_main_menu(message)
Example #11
0
def get_marks(message):
    chat_id = message.chat.id
    user = User.from_telegram_id(chat_id)
    completed_homeworks = user.completed_homeworks

    s = ''
    for hw in completed_homeworks:
        if hw.is_checked():
            s += f'Дз {hw.id}, оценка: {hw.marks}'

            if hw.has_comment():
                s += f', комментарий: {hw.comment}'

            s += '\n'
        else:
            s += f'Дз {hw.id}, не проверено\n'
    bot.send_message(chat_id, s)
    send_main_menu(message)