Ejemplo n.º 1
0
def next(vk_id, body):
    prof = vkapi.get_profile(vk_id)
    name = prof["first_name"]
    surname = prof["last_name"]
    vari = db.get_simular_voter(name, surname, vk_id)

    max_num = len(vari) + 1

    keys = [
        str(max_num),
        str(max_num) + '.',
        str(max_num) + '. меня нет в списке', 'нет в списке'
    ]

    if body in keys:
        db.delete_vars(vk_id)
        msg = 'Введите ваши Фамилию Имя Отчество, например, Иванов Иван Иванович\n\n'

        msg += 'Для возврата в главное меню отправьте 0.'

        return msg, '1.1'

    var_keys = []
    for num, keys in enumerate(vari):
        var_keys.append([keys[0].lower()])
        var_keys[num].append(str(num + 1))
        var_keys[num].append(str(num + 1) + '.')
        var_keys[num].append(str(num + 1) + '. ' + keys[0].lower())
        label = str(num + 1) + '. ' + keys[0].lower()
        if len(label) > 40:
            label = label[:37] + "..."
        var_keys[num].append(label)

    choice = None
    for v in var_keys:
        if body in v:
            choice = v[0]
            break

    if not choice:
        return None, None

    db.delete_vars(vk_id, except_fn=choice)

    msg = 'Пожалуйста, введите номер вашего студенческого билета (8 цифр), например 02551234.\n\n'

    msg += 'Номер студенческого расположен так, как это показано на картинке (vk.com/photo-115682804_457239596). Не путайте с номером читательского билета, который тоже иногда вносят в студенческий сбоку.\n\n'

    msg += 'В случае, если вы ошиблись в выборе ФИО, отправьте 1\n\n'

    msg += 'Для возврата в главное меню отправьте 0.'

    return msg, '2'
Ejemplo n.º 2
0
def next(vk_id, body):
    keys = [
        '0. вернуться в главное меню', '0', '0.', 'вернуться в главное меню',
        'вернуться', 'меню', 'вернуться в меню'
    ]
    if body not in keys:
        return None, None
    db.delete_vars(vk_id)
    msg = 'Вы можете проголосовать на выборах в Студенческий совет ВМК.\n\n'
    msg += 'Если вы хотите проголосовать, отправьте 1.\n\n'
    msg += 'Если вы хотите отправить сообщение в Студенческий совет ВМК, отправьте 2.'

    return msg, '0'
Ejemplo n.º 3
0
def next(vk_id, body):

    keys = ['1', '1.', '1. вернуться к выбору фио', 'фио']

    if body in keys:
        if db.is_self_named(vk_id):
            db.delete_vars(vk_id)
            msg = 'Введите ваши Фамилию Имя Отчество, например, Иванов Иван Иванович\n\n'

            msg += 'Для возврата в главное меню отправьте 0.'

            return msg, '1.1'
        else:
            return st0ch1.next(vk_id, '1')

    return None, None
Ejemplo n.º 4
0
def next(vk_id, body):

    if body in ('1', '2'):
        return None, None


    if not re.match("^[0-9]+$", body.strip()):
        return None, None

    studnum = 0
    try:

        studnum = int(body)
        if len(body) not in range(7,9):
            return 'В номере студенческого должно быть 8 цифр', '2'
    except Exception:
        return None, None

    studnum_res = db.check_studnum(vk_id, studnum)

    if studnum_res[0] == 'end':
        msg = 'У вас есть три неудачные попытки!\n\n'

        msg += 'По закону может быть не более двух пересдач!\n\n'

        msg += 'К сожалению, ничего сделать не можем. Вынуждены представить вас к участию в очных выборах на вашем курсе.'

        return msg, '2.1.1'

    if studnum_res[0] == 'already':
        msg = 'Cтудент уже вошёл в систему под другим пользователем ВКонтакте\n\n'
        msg += 'Данная активность является подозрительной, дальнейшая работа с ботом для вашего пользователья заблокирована\n\n'
        msg += 'Если вы считаете, что это ошибка, напишите нам'
        return msg, '0.1'

    if studnum_res[0] == 'good':
        db.delete_vars(vk_id)
        msg = 'Ваши данные\n'
        msg += 'ФИО: ' + studnum_res[1][0] + '\n'
        msg += 'Курс: ' + str(studnum_res[1][1]) + '\n\n'

        msg += 'Всё верно?\n\n'
        msg += 'Отправьте 1, если да, отправьте 2, если нет.'

        return msg, '3'


    msg = 'Номер билета не соответствует вашим данным. Проверьте, правильно ли ввели ваш и отправьте заново.\n\n'

    if studnum_res[1] == 0:
        msg += 'По закону может быть не более двух пересдач!\n'
        msg += 'У вас осталось 2 попытки ввести номер студенческого билета.\n\n'
    else:
        msg += 'У вас осталась 1 попытка ввести номер студенческого билета.\n\n'

    msg += 'Если вы нашли ошибку, введите номер студенческого билета правильно.\n\n'

    msg += 'Если вы уверены, что всё правильно, отправьте 1.\n\n'

    msg += 'Если вы неправильно ввели свои ФИО, отправьте 2.\n\n'

    msg += 'Для возврата в главное меню отправьте 0.'

    return msg, '2.1'