def choose_way_all_time_table(message: Message): loggerDEBUG.debug(f'{message.from_user.username} :: "ВЫВОД ВСЕГО РАСПИСАНИЯ" :: start') dataBase.add_user(message.from_user.id, message.chat.id) dataBase.set_way(message.chat.id, States.FULL_TIMETABLE) dataBase.set_count_parameters(message.chat.id, 0) fnc.general_func(message) loggerDEBUG.debug(f'{message.from_user.username} :: "ВЫВОД ВСЕГО РАСПИСАНИЯ" :: end')
def choose_way_search_by_teacher(message: Message): loggerDEBUG.debug(f'{message.from_user.username} :: "ПОИСК ПО ПРЕПОДАВАТЕЛЮ" :: start') dataBase.add_user(message.from_user.id, message.chat.id) dataBase.set_way(message.chat.id, States.TEACHER_SEARCH) dataBase.set_count_parameters(message.chat.id, 0) bot.send_message(message.chat.id, strings.ENTER_TEACHER, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.from_user.id))) loggerDEBUG.debug(f'{message.from_user.username} :: "ПОИСК ПО ПРЕПОДАВАТЕЛЮ" :: end')
def choose_way_by_b209(message: Message): loggerDEBUG.debug(f'{message.from_user.username} :: "КОГДА СВОБОДНА Б209?" :: start') dataBase.add_user(message.from_user.id, message.chat.id) dataBase.set_way(message.chat.id, States.BEST_ROOM) dataBase.set_count_parameters(message.chat.id, 0) bot.send_message(message.chat.id, strings.ENTER_DATE_FOR_CURRENT_GROUP, reply_markup=kb.choiceDateForB209) loggerDEBUG.debug(f'{message.from_user.username} :: "КОГДА СВОБОДНА Б209?" :: end')
def repeat_message(message: Message): loggerDEBUG.debug(f'/text {message.from_user.username} :: start') dataBase.add_user(message.from_user.id, message.chat.id) # fnc.general_func(message) regExp = fnc.text_reg_exp(message.from_user.id) if regExp and message.text == regExp: bot.send_message(message.chat.id, strings.ENTER_DATE_FOR_CURRENT_GROUP, reply_markup=kb.choiceDateForCurrentGroup) dataBase.set_way(message.chat.id, States.CURRENT_GROUP_SEARCH) else: fnc.general_func(message) loggerDEBUG.debug(f'/text {message.from_user.username} - {message.from_user.id} - "{message.text}" :: end')
def all_time_table_one_parameters(message: Message): #main.loggerDEBUG.debug('вывод всего расписания (0)') if message.text == 'все': s = jsonFormatter.print_all_time_table() return s elif message.text == 'выйти': dataBase.set_way(message.chat.id, States.MAIN) dataBase.set_count_parameters(message.chat.id, 0) else: year = f'{(int(message.text[2:4]) % 100)}' strGroup = '' if message.text[4:] == ' (магистратура)': strGroup += 'КММО' elif message.text[4:] == ' (бакалавриат)': strGroup += 'КМБО' else: return None return jsonFormatter.print_all_time_table_with_course(strGroup, year)
def general_func(message: Message): # Обработка выбора пути с ReplyKeyboardMarkup way = dataBase.get_way(message.chat.id) countParam = dataBase.get_count_parameters(message.chat.id) # Работа с выводом информации-------------- if way == States.CURRENT_GROUP_SEARCH: stringOut = current_group_zero_parameters(message.chat.id, message.text) if stringOut is not None and stringOut != '': bot.send_message(message.chat.id, stringOut, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) else: bot.send_message(message.chat.id, strings.MESSAGE_ERROR_TEXT, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) dataBase.set_way(message.chat.id, States.MAIN) bot.send_message(message.chat.id, strings.MESSAGE_ONE_OF_LIST_COMMANDS, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) elif way == States.GROUP_SEARCH: if countParam == 0: stringOut = group_zero_parameters(message.chat.id, message.text) if stringOut == strings.MESSAGE_ERROR_GROUP or stringOut == strings.MESSAGE_ERROR_DATE: bot.send_message(message.chat.id, stringOut) if dataBase.get_group(message.chat.id) != '': bot.send_message(message.chat.id, f'\nТЕКУЩАЯ ГРУППА: {dataBase.get_group(message.chat.id)}') elif not stringOut == '' and stringOut is not None: bot.send_message(message.chat.id, stringOut) if dataBase.get_group(message.chat.id) != '': bot.send_message(message.chat.id, strings.MESSAGE_ONLY_DATE_GROUP + f'\nТЕКУЩАЯ ГРУППА: {dataBase.get_group(message.chat.id)}', reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) dataBase.set_way(message.chat.id, States.MAIN) bot.send_message(message.chat.id, strings.MESSAGE_ONE_OF_LIST_COMMANDS, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) elif way == States.TEACHER_SEARCH: if countParam == 0: stringOut = teacher_zero_parameters(message.chat.id, message.text) if stringOut == strings.MESSAGE_ERROR_TEACHER or stringOut == strings.MESSAGE_ERROR_DATE: bot.send_message(message.chat.id, stringOut) if dataBase.get_teacher(message.chat.id) != '': bot.send_message(message.chat.id, f'\nТЕКУЩИЙ ПРЕПОДАВАТЕЛЬ: {dataBase.get_teacher(message.chat.id)}') elif not stringOut == '' and stringOut is not None: bot.send_message(message.chat.id, stringOut) if dataBase.get_teacher(message.chat.id) != '': bot.send_message(message.chat.id, strings.MESSAGE_ONLY_DATE_TEACHER + f'\nТЕКУЩИЙ ПРЕПОДАВАТЕЛЬ: {dataBase.get_teacher(message.chat.id)}') dataBase.set_way(message.chat.id, States.MAIN) bot.send_message(message.chat.id, strings.MESSAGE_ONE_OF_LIST_COMMANDS, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) elif way == States.FULL_TIMETABLE: if countParam == 0: bot.send_message(message.chat.id, strings.ENTER_COURSE_YEAR, reply_markup=kb.choiceCourse) dataBase.set_count_parameters(message.chat.id, dataBase.get_count_parameters(message.chat.id) + 1) elif countParam == 1: catch = catching_stupid_in_third(message.text) if not catch: strOut = all_time_table_one_parameters(message) if message.text == 'выйти': pass else: ln = len(strOut) if ln == 6: for i, sOut in enumerate(strOut): bot.send_message(message.chat.id, sOut) if not sOut == '' else print() else: bot.send_message(message.chat.id, strOut) else: #main.loggerDEBUG.debug('вывод всего расписания (null)') bot.send_message(message.chat.id, strings.MESSAGE_ERROR_ALL_TIME_TABLE) dataBase.set_way(message.chat.id, States.MAIN) bot.send_message(message.chat.id, strings.MESSAGE_ONE_OF_LIST_COMMANDS, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) elif way == States.BEST_ROOM: #main.loggerDEBUG.debug('когда свободна Б-209? (0)') if message.text == 'Сегодня': date = datetime.datetime.today() bot.send_message(message.chat.id, jsonFormatter.when_b209_is_free_by_date(jsonFormatter.week_to_string(date.weekday()))) elif message.text == 'На неделе': bot.send_message(message.chat.id, jsonFormatter.when_b209_is_free()) else: try: arrayData = data_to_array(message.text) date = datetime.datetime(int(arrayData[2]), int(arrayData[1]), int(arrayData[0])) strOut = jsonFormatter.when_b209_is_free_by_date(jsonFormatter.week_to_string(date.weekday())) bot.send_message(message.chat.id, strOut) except: bot.send_message(message.chat.id, strings.MESSAGE_ERROR_DATE) dataBase.set_way(message.chat.id, States.MAIN) bot.send_message(message.chat.id, strings.MESSAGE_ONE_OF_LIST_COMMANDS, reply_markup=kb.determine_start_keyboard(dataBase.get_group(message.chat.id))) else: bot.send_message(message.chat.id, strings.MESSAGE_ERROR_TEXT)