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'
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'
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
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'