Сегодня я предлагаю вашему вниманию презентацию первого разработанного мною проекта - Telegram бота «Работа для всех», который помогает людям с инвалидностью в поиске вакансий. На сегодняшний день этим ботом воспользовались уже более ста человек!!!
Вы можете помочь развитию проекта, рассказав о нем своим друзьям, знакомым, близким. Буду очень признателен вам за это.
Начну с начала
Прошедший 2023 г. был сложным, но при этом очень интересным периодом в моей жизни. Десять месяцев мои нейронные связи напрягались так, как не напрягались со времен учебы в университете, а может, даже как никогда до этого.
Все это было, потому что я сказал своей мечте «Да!» и пошел в Яндекс Практикум учиться программировать!
Тут стоит поблагодарить современные технологии, а главное людей, которые за ними стоят, за то, что люди с проблемами зрения, в том числе и я, сегодня могут осваивать профессии в сфере информационных технологий.
Работа для всех
Работа для всех – это Telegram бот, который предоставляет возможность поиска и просмотра вакансий, опубликованных на сайте «Работа России», а также возможность добавления понравившихся вакансий в избранное.
Вот здесь можно познакомиться с ботом поближе.
Обращаю ваше внимание на два очень существенных момента:
- все вакансии, которые показывает бот, берутся с сайта Работа России. Поэтому за достоверность данных о найденных вакансиях разработчик бота ответственности не несет;
- бот «Работа для всех» работает в тестовом режиме. Поэтому, если вы заметили какие-либо проблемы в работе бота, обязательно сообщите мне об этом. Для этого в самом боте есть специально предусмотренный раздел под названием «Обратная связь».
Основной функционал Telegram бота:
- искать вакансии в указанном пользователем населенном пункте;
- просматривать информацию о найденных вакансиях;
- получать подробную информацию о конкретной вакансии;
- добавлять вакансии в избранное.
Команды для работы с ботом
Для удобства пользователей в боте предусмотрено пять команд, которые облегчают взаимодействие пользователя с ботом:
- /start (Начать работу) - старт работы с ботом;
- /help (Справка по работе с ботом) - пользователь получает подробную справку по алгоритму работы с ботом;
- /favorites (Перейти в избранное) - команда используется для перехода к сохраненным пользователем вакансиям;
- /cancel (Завершение работы) - завершает работу с ботом;
- /feedback (Обратная связь) - переход в раздел с описанием способов, как и где можно оставить отзыв о работе бота.
Вот так команды отображаются в клиенте Telegram:
Алгоритм работы с ботом
После активации команды start бот поздоровается с вами по имени и подскажет, что делать дальше.
Текст приветственного сообщения:
Кирилл, привет! Я помогаю найти работу людям с инвалидностью. Ты готов начать поиск вакансий? Если да, то жми кнопку "Готов начать" Если нужна справка, ты всегда можешь воспользоваться командой /help или нажать кнопку "Справка по боту" Ты также можешь перейти в избранное, нажав кнопку "Перейти в избранное”
Мы с вами, конечно же, готовы, поэтому жмем кнопку «Готов начать». После этого бот показывает нам список федеральных округов и небольшое информационное сообщение.
Текст информационного сообщения:
Кирилл, пора сделать первый шаг! Выбери из списка федеральный округ, в котором ты хотел(а) бы посмотреть вакансии. Если ты вдруг ошибешься, на следующем шаге можно будет вернуться назад.
Как вы видите, бот предусматривает, что вы можете сделать ошибку при выборе федерального округа, поэтому не переживайте, в этот пункт можно будет вернуться.
Выбираем федеральный округ. Я выбираю Приволжский федеральный округ, так как регион, в котором я проживаю, находится в его составе.
После того как мы выбрали федеральный округ, бот покажет нам список регионов, которые входят в выбранный федеральный округ. Кроме списка, мы также видим небольшой комментарий от бота.
Текст информационного сообщения:
Кирилл, отлично! Теперь нужно выбрать из списка название, интересующего тебя региона. Если был выбран не тот федеральный округ, жми кнопку "Вернуться к выбору ФО"
Мой выбор – Удмуртская республика. На следующем шаге нужно ввести название населенного пункта, в котором вы хотели бы посмотреть вакансии.
Текст информационного сообщения:
Кирилл, на этом шаге нужно ввести название населенного пункта, в котором тебе хотелось бы посмотреть вакансии. Обрати внимание! Название населенного пункта необходимо вводить кириллицей с большой буквы. Не используй в названии цифры и буквы латинского алфавита, а также не пиши тип населенного пункта (город, село, поселок и т.п.).
Обратите внимание, что до этого момента мы с вами сами ничего не вводили. Наша задача была только нажимать кнопки. Реализовать такой же подход с названием населенного пункта, в котором будет произведен поиск вакансий, не представляется возможным, так как количество населенных пунктов в России исчисляется десятками, если не сотнями тысяч. Поэтому на этом шаге надо включить максимальную внимательность. Конечно, какие-то самые простые ошибки я учел в коде, но всего учесть не представляется возможным. Если вы введете что-то совсем неподходящее, например, текст латиницей или набор случайных слов, то бот вежливо сообщит о том, что что-то пошло не так.
В качестве примера можно ввести город в Объединенных Арабских Эмиратах Dubai и взглянуть на реакцию бота. А ответит он, что введенные символы - это точно не населенный пункт в Российской Федерации и поэтому стоит повторно ввести наименование населенного пункта.
Текст информационного сообщения:
Кирилл, к сожалению, введенные тобой символы не могут сложиться в наименование населенного пункта в России. Попробуй еще раз! Вот, что ты ввел в качестве наименования населенного пункта: - Dubai. Предлагаю повторить попытку!
Я введу название своего родного города и посмотрю, а какие вакансии для людей с инвалидностью существуют в Ижевске. Особенно меня будут интересовать вакансии программистов на Python - вдруг да и найдутся такие.
Далее бот проверяет корректность наименования введенного вами населенного пункта. Перед тем как начать искать вакансии, он еще раз предлагает проверить правильность введенных данных. В случае ошибки вы можете нажать на кнопку «Ввести данные заново» и вернуться к самому первому шагу, чтобы ввести данные повторно.
Текст информационного сообщения:
Кирилл, давай проверим введённые данные. Если данные не верны, то жми кнопку "Ввести данные заново". Если всё верно, жми кнопку "Начать поиск вакансий"
Проверяем данные: федеральный округ: 33, название выбранного региона: Удмуртская Республика, номер выбранного региона: 18, наименование населённого пункта: Ижевск
Тут все правильно, и я нажимаю на кнопку «Начать поиск вакансий». Поиск - это процесс не сию секундный, ведь боту надо будет обратиться к API сайта «Работа России», забрать оттуда данные, обработать их и подготовить для демонстрации пользователю. Об этом бот обязательно вас уведомит:
Текст информационного сообщения:
Кирилл, я начинаю поиск вакансий. Для получения данных и их обработки мне понадобится какое-то время. В списке найденных вакансий ты можешь посмотреть подробную информацию о каждой вакансии, а также добавить вакансию в избранное. Надеюсь, поиск завершится удачно!
После ожидания появится информационное сообщение с указанием количества вакансий, которое получилось найти.
А если ни одной вакансии не найдется, бот предложит вам попытаться ввести данные еще раз.
Текст информационного сообщения:
175 - вот столько вакансий в указанном населенном пункте удалось найти. Для того чтобы посмотреть вакансии, жми кнопку "Показать вакансии". В списке показывается по 10 вакансий. Используй кнопки "Назад" и "Вперед" для перемещения между списками с вакансиями.
Чтобы посмотреть список вакансий, нужно нажать на кнопку «Показать вакансии». Вакансии будут показаны постранично. Такую навигацию в Интернете можно встретить очень часто. На каждой странице будет показано по 10 вакансий. Перемещение между страницами организовано с помощью кнопок «Назад» и «Вперед».
Каждая страница будет заканчиваться сообщением с информацией о количестве показанных вакансий. Ниже обязательно будут кнопки навигации. А, начиная со второй страницы, появится дополнительная кнопка «Перейти в избранное».
Текст информационного сообщения:
Показано 20 из 175 найденных вакансий. Кирилл, используй для навигации кнопки "Вперед" и "Назад". Подходящие вакансии можешь добавлять в избранное.
Информация о каждой вакансии представлена в двух видах:
- краткая информация о вакансии и
- подробная информация о вакансии.
Краткая информация о вакансии (скриншот):
Краткая информации о вакансии (текст):
- Должность: педагог дополнительного образования
- Заработная плата: от 20000
- Работодатель: АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ УДМУРТСКОЙ РЕСПУБЛИКИ "РЕГИОНАЛЬНЫЙ ОБРАЗОВАТЕЛЬНЫЙ ЦЕНТР ОДАРЕННЫХ ДЕТЕЙ"
- Адрес работодателя: Удмуртская республика, г Ижевск, Зои Космодемьянской улица, 109
- Номер телефона работодателя: +7(3412)713834
- Электронная почта: ecologia18@yandex.ru
Подробная информация о вакансии (скриншот):
Подробная информация о вакансии (текст):
- Должность: педагог дополнительного образования
- Вакансия из категории: Инвалиды
- Данные о заработной плате:
- Минимальная заработная плата: 20000
- Максимальный размер заработной платы: 0;
- Должностные обязанности: Ведение занятий по направлениям: информатика, физика, биология, экология. Комплектование состава обучающихся;. Составление планов и разработка программ; занятий; Участие в разработке и реализации программ дополнительного образования. Выявление творческих способностей обучающихся
- Информация о работодателе
- Наименование работодателя: АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ УДМУРТСКОЙ РЕСПУБЛИКИ "РЕГИОНАЛЬНЫЙ ОБРАЗОВАТЕЛЬНЫЙ ЦЕНТР ОДАРЕННЫХ ДЕТЕЙ"
- Контактное лицо: Овчинникова Ирина
- Номер телефона работодателя: 3412713834
- Электронная почта: ecologia18@yandex.ru
- Адрес работодателя: Удмуртская республика, г Ижевск, Зои Космодемьянской улица, 109
Нажав кнопку «Добавить в избранное» можно легко добавить вакансию в избранное. Добавленные в избранное вакансии хранятся там, пока вы не удалите их самостоятельно. После добавления вакансии в избранное под описанием вакансии появляется кнопка «Удалить из избранного».
В Избранном можно увидеть краткую информацию о добавленных вакансиях. А еще можно ознакомиться с более детальными данными, нажав на кнопку «Подробнее». Если вакансии в избранное не добавлялись, то бот вам об этом сообщит и предложит начать поиск вакансий.
Текст информационного сообщения:
Кирилл, находясь в избранном ты можешь просматривать краткую и подробную информацию о добавленных вакансиях. Если нужно перейти к поиску вакансий, жми кнопку: "Начать ввод данных" Если нужна справка по работе с ботом, жми кнопку "Справка по боту"
Ну, вот я и описал алгоритм работы с ботом «Работа для всех». А теперь я хочу рассказать о том, как можно оставить обратную связь о работе бота. Это для меня будет очень важная и полезная информация. Ведь только ваша обратная связь поможет мне сделать бот удобнее, понятнее и полезнее для людей.
Итак, в основном меню бота есть команда feedback – обратная связь. Там есть ссылка на мой Telegram.
Прошу заглянуть в этот раздел. Я открыт для любых предложений и готов выслушать конструктивную критику.
Совсем чуть-чуть про технологии
Telegram бот «Работа для всех» написан на языке Python с использованием библиотеки aiogram. В качестве базы данных используется PostgreSQL, а для временного хранения данных – Redis. Проект упакован в Docker контейнеры.
И еще. В ходе работы над ботом я написал и опубликовал на своем сайте несколько статей, которые доступны в рубрике telegram bot. Если интересно, welcome, буду рад!
Код проекта доступен на GitHub.
Связаться со мной можно в Вконтакте или с помощью электронной почты: bks2408@mail.ru