Skip to content

Telegram бот для получения вакансий по своему гибкому фильтр

Notifications You must be signed in to change notification settings

feeedback/vacancies_bot

Repository files navigation

Telegram бот для получения вакансий по своему гибкому фильтр

в разработке... wakatime eslint

Roadmap development

Issues:

  • Как будто не работает парсинг вакансий Хабр.Карьеры
  • Как будто не работает получение вакансий Хабр.Карьеры следующих страниц кроме первой
  • Как будто не работает получение вакансий Хабр.Карьеры следующих страниц кроме первой
  • Один раз не находил в json запросе HH - вакансии по id от html запроса
  • Один раз не находил в json запросе HH - вакансии по id от html запроса
  • Не выводится новая команда TG-бота в Menu и в autocomplete ввода

Refactoring:

  • Полностью разделить логику и стейты Telegram бота с API вакансии
  • Написать тесты (сначала - тест на корректный парсинг DOM всей информации об аккаунте)
  • Не юзать redis как БД
  • Переписать на Typescript
  • Поправить наименование переменных (не использовать малоосмысленные и короткие названия)

Roadmap telegram bot

  • Команда /exwords - посмотреть ваши настроенные исключаемые слова
  • Команда /exwords_add - добавления новых исключаемых слов с сохранением старых
  • Команда /exwords_set - добавления слов из описания, вакансии с которыми уберутся из выдачи
  • Команда /unsub - отписаться от получения новых вакансий
  • Команда /sub - подписаться на получение новых вакансий согласно фильтру при их появлении
  • Команда /get [from_day_ago=2] - получение вакансий согласно фильтру
  • Команда /extags - посмотреть ваши настроенные исключаемые теги
  • Команда /extagsadd - добавление новых исключаемых тегов с сохранением старых
  • Команда /extagsset - добавление тегов, вакансии с которыми уберутся из выдачи
  • Команда /rss [link] - Установка в бот своей ссылки RSS с фильтрами из career.habr.com
  • Команда /salary_min_set - Установка в бот минимум ЗП в вакансиях, где она указана
  • Команда /switch_print_without_salary - Не показывать вакансии без ЗП
  • Команда /words_to_salary_correlation - Вывести корреляцию buzzword/tag с указанной ЗП в вакансиях (min-max, медиана)

Roadmap career.habr API

  • Парсинг страниц одной вакансии - для составления краткого описания вакансии
  • Формирование списка ключевых слов и тегов из вакансий, на выбор для исключения
  • Кэширования результата запроса RSS вакансий: время кэша зависит от новизны вакансии
  • Фильтрация вакансий по словам в описании вакансии (исключающая вакансии, которые они имеют)
  • Фильтрация вакансий по тегам (исключающая вакансии, которые они имеют)
  • Парсинг вакансий через RSS (с родным фильтром поиска в ссылке)

Roadmap HeadHunter API

  • Показывать количество откликов на вакансию из json
  • Показывать более полную информацию по вакансии из json
  • Сортировка вакансий без ЗП - по откликам? дате публикации?
  • Плюсовать отклики в группируемых по локациям вакансиям из json
  • Показывать дату публикации/последнего изменения из json
  • Работа через официальный API
  • Поддержка управлением включаемых и исключаемых слов через бота
  • Формирование списка ключевых слов из вакансий, на выбор для исключения
  • Указание времени редактирования вакансии при редактировании, чтобы не создавалось впечатление что показывают старую вакансию (сохранять id)
  • Вынести hash вакансии отдельно в базе данных, отдельно у пользователей, чтобы не было дублирования
  • Подписка на вакансии
  • Запрос вакансий по фильтру - фильтр из меню, исключаемые и включаемые слова - везде, в названии, в описании (тегов нет)
  • Парсинг вакансий

Roadmap common

  • Деплой на облаке. AWS? Azure? Google Cloud?
  • Сортировка вакансий кроме как по ЗП (настраиваемая сортировка?)
  • Добавить поиск HH не только удалёнки (через офиц. фильтр), но и вакансий где в описании указана что возможно удаленка
  • Поддержка выбора города(ов) (сейчас ищет HH удалёнку, а Habr.career все города)
  • Поддержка разных источников вакансий, рефакторинг команд бота (сейчас HH работает только get/sub/unsub - совмещает вакансии с разных источников)
  • Объединение похожих вакансий (0.8 по близости тексту (Коэффициент Сёренсена)). Каким образом отображать?
  • Вывод требуемого грейда в вакансии (Intern, Junior, Junior-Middle, Middle, Middle++)
  • Объединение одинаковых вакансий (100% совпадение текста, исключая местоположение)
  • Возвращения хэша вакансий, для функционала исключения старых
  • Форматирование вакансии стандартным образом (кратко, единый формат отображения предложения ЗП)
  • Парсинг предлагаемой ЗП в удобной валюте/формате
  • Кэширования результата запроса курсов валют (на 12 часов)
  • Фоллбек при ошибке запроса курса валют на usd/rub 1/80
  • Фильтрация вакансий по min/max ЗП (min указывается в запросе чтоб уменьшить количество запросов, а max фильтруется на месте)

About

Telegram бот для получения вакансий по своему гибкому фильтр

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages