Главная » Статьи » Мои программы » Фриланс-бот @fl_monitor_bot |
Подождите, идет переход на новый сайт...Бот "Freelance монитор" ( @fl_monitor_bot ) создан для автоматического поиска новых проектов по заданным критериям на разных биржах фриланса с выводом их в одну "ленту" telegram. Подобные боты уже имеются, но я нигде не нашел возможности настроить фильтрацию рассылки (то есть чтобы бот присылал не все новые проекты, а только удовлетворяющие заданным мной условиям). Бот будет полезен не только программистам, но и всем фрилансерам других профессий и специальностей, необходимо только его немного настроить. Как это сделать и будет рассмотрено в этой статье.
Список поддерживаемых сайтов на текущий момент:Русскоязычные биржи:
Международные биржи: Еще есть две биржи студенческих работ: Разумеется, можно подписаться не на все биржи, а только на одну или несколько выбранных. Если в данном списке нет биржи, с которой Вы работаете, напишите нам ( через команду /feedback ) и мы постараемся ее добавить.
Оглавление
Как это работаетБот регулярно сканирует новые проекты на сайтах бирж и при обнаружении оных рассылает уведомления подписавшимся на них пользователям. Уведомления выглядят примерно следующим образом: Но прежде чем бот сможет отправлять Вам такие уведомления, необходимо как минимум выполнить следующие действия:
Как это сделать, будет подробно изложено в данной статье. В дальнейшем Вы сможете выполнить и более "тонкие" настройки для каждого сайта (биржи).
Немного теории и возможности ботаПрежде чем я приступить к настройкам бота, необходимо объяснить принцип работы бота, чтобы было понятно, что и для чего. Итак, для каждого сайта предусмотрены два типа фильтров: Можно использовать оба фильтра; можно только какой-то один; можно вообще отключить все фильтры, и тогда все новые проекты будут "сыпаться" вам в чат. По умолчанию (при подключении нового сайта / биржи) включен только фильтр по ключевым словам, фильтр по разделам сайта не работает. Если Вы временно отключали какой-либо сайт, то сделанные ранее настройки сохраняться. Как настроить фильтры будет описано ниже, пока рассмотрим только механизм их работы.
Список избранных (или исключаемых) разделов настраивается только для каждого сайта отдельно (так как на разных сайтах разные названия разделов). Для фильтра по разделам предусмотрены два режима:
Кроме того, можно использовать два режима сравнения названий разделов на сайте и в списке фильтра:
2. Фильтр по ключевым словам включает в себя два списка ключевых слов или фраз:
Данный фильтр так же регистронезависим и может работать в четырех режимах:
По умолчанию включен режим "Есть [+] И нет [-]".
Ключевые слова (и в "плюс" и в "минус" списках) могут задаваться разными способами:
Глобальные списки ключевых слов Так как чаще всего для всех сайтов используются одни и те же списки ключевых слов, имеет смысл сохранить ключевые слова в "глобальных" списках ключевых слов (то есть общих для всех сайтов), а в параметрах сайтов задействовать соответствующую опцию. Это значительно облегчает настройку фильтров по ключевым словам для каждого сайта. Но если Вам понадобится для какого либо сайта биржи сделать уникальный список ключевых слов, то такая возможность так же предусмотрена.
Управление ботомУправлять ботом можно как с помощью "кнопочного" меню, так и с помощью текстовых команд. Список команд приведен в конце статьи. Список доступных команд, можно узнать в любой момент с помощью команды /help (или просто help). Скажу отмечу, что управлять ботом посредством вводимых вручную текстовых команд гораздо быстрее, но потребуется их запомнить. Любые команды можно отправлять как начиная с символа /, так и без него. Регистр команд не важен.
Для вызова меню в любой момент отправьте команду /menu (или просто menu), либо команду /start. Меню выглядит примерно так: В дальнейшем на скриншотах я буду пользоваться текстовыми командами (чтобы было видно реакцию бота), но Вы вполне можете пользоваться и кнопками.
Для подключения (или отключения) сайтов, а также их настройки, используйте кнопку "Параметры сайтов (бирж фриланса)" или команду /sitelist. Это меню будет рассмотрено более подробно в следующем параграфе.
Для временного отключения рассылки уведомлений о новых проектах (например на время отпуска или выходных) можно воспользоваться кнопками "Рассылка" и "Звук" или же использовать текстовые команды: /subscribe on - включить рассылку новых проектов /subscribe off - отключить рассылку новых проектов /notify on - включить звуковое оповещение /notify off - отключить звуковое оповещение Отключение звукового оповещения позволит убрать звук при появлении новых проектов, но оставить уведомление в виде количества непрочитанных сообщений.
Кнопка "Руководство" вызывает краткое описание работы бота, в том числе ссылку на вот эту самую статью, которую Вы сейчас читаете. Кнопка "Главное меню" вызывает переход в главное меню (текстовая команда /menu). Кнопка "Команды" выводит список доступных команд (текстовая команда /help). Кнопка "Обратная связь" позволяет отправить какое-либо сообщение администратору бота. Например Вы можете сообщить о найденной проблеме или отправить ссылку на новую биржу, которой еще нет в списке бота. Кнопка "Статистика" выводит количество проектов в сутки и месяц по обрабатываемым биржам.
Параметры сайтов (бирж фриланса)Для вызова этого меню отправьте команду /sitelist (или просто sitelist) или просто нажмите кнопку в главном меню бота.
Список доступных сайтов может со временем расширяться, мы работаем над этим. Если Вы хотите добавить какой-либо сайт, которого нет в списке, отправьте нам ссылку на него через команду /feedback.
Кнопка "Глобальные (общие для всех сайтов) списки ключевых слов" (аналог команды /wordsglobal) служит для настройки общих для всех сайтов списков "плюс" и "минус" слов. К этому режиму мы вернемся позднее, после рассмотрения настроек фильтров сайтов. В зависимости от подключенных в данный момент сайтов в списке будет доступна либо одна кнопка "Подключить <название сайта>"; либо две кнопки - "<название сайта>" и "Отключить". Кнопка "<название сайта>" вызывает переход в меню настройки фильтров по данному сайту. Назначение двух других кнопок в пояснениях не нуждается, я думаю. Текстовые команды для управления списком сайтов: /siteadd - добавить сайт / биржу в список подключенных /sitedel - удалить сайт / биржу из списка подключенных /siteconf - настройка выбранного сайта / биржи фриланса
Кнопка "Руководство по настройке бота" вызывает вот эту самую статью, которую Вы сейчас читаете. Кнопка "Главное меню" вызывает переход в главное меню (аналог команды /menu). Кнопка "Команды" выводит список доступных команд (аналог команды /help).
Нажав кнопку "Подключить <название сайта>" бот добавит выбранный сайт в список Ваших подписок и выдаст предупреждение, что сайт требуется настроить:
Настройка сайтаНажав кнопочку "<название сайта>" мы попадем в меню настройки фильтров сайта. К тому же эффекту приведет текстовая команда /siteconf <site>:
Кнопка "Фильтр по разделам" вызывает подменю настройки фильтра по разделам сайта (аналог команды /catsconf). В принципе, команда /catsconf нужна только для более удобной навигации по меню, в текстовом режиме вводить ее не требуется. Кнопка "Фильтр по ключевым словам" вызывает подменю настройки фильтра по ключевым словам (аналог команды /wordsconf). Эта команда нужна так же только для навигации. Кнопка "Нормальный режим / Тестовый режим" позволяет включать или отключать тестовый режим. В тестовом режиме бот будет рассылать все новые проекты, но те проекты, которые не удовлетворяют выбранным условиям, будут помечены соответствующим образом.
Важно! Если Вы управляете ботом через текстовые команды (а не посредством экранных кнопок), то перед тем как что-либо менять в настройках сайта, необходимо обязательно отправить команду /siteconf <site>. Это позволит боту заполнить сайт, который Вы собираетесь настраивать.
Кнопка "Назад" вызывает переход в список сайтов (аналог команды /sitelist). Кнопка "Главное меню" вызывает переход в главное меню (аналог команды /menu). Кнопка "Инструкции" вызывает небольшую справочную информацию по режимам работы фильтров проектов (аналог команды /info filters - обратите внимание, команда с параметром). Кнопка "Команды" выводит список доступных команд (аналог команды /help).
Фильтр по разделамКнопка "Фильтр по разделам" вызывает подменю настройки фильтра по разделам сайта (аналогичная текстовая команда /catsconf)
Кнопка "Разделы сайта" (команда /catssite) выводит список разделов сайта в виде списка строк:
Кнопка "Мой список" (команда /catslist) выводит список избранных или исключаемых разделов (в зависимости от режима работы фильтра - см. ниже).
Кнопки "Добавить разделы" (команда /catsadd) и "Удалить разделы" (команда /catsdel) предназначены для редактирования списка избранных / исключаемых разделов. После выбора этой команды бот запросит список добавляемых или удаляемых разделов:
Можно отправить сразу несколько разделов (строк), при этом каждый отдельный элемент должен располагаться на отдельной строке (как собственно и в списках).
Кнопки "Фильтр: xxx" и "Сравнение: xxx" вызывает подменю выбора режима фильтра по разделам (обе кнопки вызывают одно и то же подменю, две кнопки нужны только для отображения текущего состояния): /catsmode off - не использовать фильтр по разделам /catsmode include - включить режим "только мои" /catsmode exclude - включить режим "кроме моих" /catscomp partial - частичное сравнение названий разделов /catscomp full - полное сравнение названий разделов
Ну и по аналогии с предыдущими меню, здесь также присутствуют кнопки "Назад", "Главное меню", "Инструкции", "Команды".
Фильтр по ключевым словамКнопка "Фильтр по ключевым словам" в меню настройки сайта вызывает подменю настройки фильтра по ключевым словам (аналог команды /wordsconf). По умолчанию включены глобальные списки ключевых слов: Верхняя кнопка управляет режимом, какие списки ключевых слов используются в фильтре - индивидуальные (только для данного сайта) или глобальные (для всех сайтов). Того же самого эффекта можно добиться посредством команд: /wordsglb on - использовать глобальные списки ключевых слов /wordsglb off - использовать для данного сайта индивидуальные списки ключевых слов
Кнопка "Режим: ххх" позволяет выбрать режим работы фильтра: Есть [+] - в этом случае в рассылку попадают проекты, в которых есть "плюс"-слова, "минус"-слова не учитываются (команда /wordsmode plus) Нет [-] - в этом случае в рассылку попадают проекты, в которых нет "минус"-слов, "плюс"-слова не учитываются (команда /wordsmode minus) Есть [+] И нет [-] - в этом случае в рассылку попадают проекты, в которых есть "плюс"-слова и нет "минус"-слов (команда /wordsmode include) Нет [-] ИЛИ есть [+] - в этом случае в рассылку попадают проекты, в которых нет "минус"-слов или есть "плюс"-слова (другими словами, если есть "плюс"-слова - проект придет в любом случае) (команда /wordsmode exclude)
Методы указания ключевых словКлючевые слова (и в "плюс" и в "минус" списках) могут задаваться разными способами:
Кнопка "Отключить фильтр по словам" и команда wordsmode off позволяют не использовать фильтр по ключевым словам. После выбора нужного режима надпись на кнопке "Режим: ххх" поменяется, отображая текущее состояние.
Обратите внимание: для сайта собственно списки слов можно использовать "общие", но режим работы фильтра всегда выбирается только индивидуально для каждого сайта.
Использование индивидуальных списков ключевых словЕсли Вам для какого либо сайта использовать индивидуальные списки ключевых слов, нажмите кнопку "Используются глобальные списки ключевых слов" или отправьте команду /wordsglb off. Меню изменится: Кнопка "[+] слова" (команда /wpluslist) выводит список "плюс" слов, кнопка "[-] слова" (команда /wminuslist) выводит список "минус" слов, кнопка "Все списки ключевых слов" (команда /wordslist) выводит оба списка слов.
Далее следуют кнопки для управления соответствующими списками - добавления и удаления ключевых слов из локальных (индивидуальных) списков. Здесь также можно использовать текстовые команды: /wplusadd - добавить ключевое слово в список плюс-слов /wminusadd - добавить ключевое слово в список минус-слов /wplusdel - удалить ключевое слово из списка плюс-слов /wminusdel - удалить ключевое слово из списка минус-слов Добавлять и удалять слова можно, как и категории, сразу по несколько штук, отправляя каждое отдельное слово или фразу с новой строки.
Управление глобальными списками ключевых словДля настройки глобального списка ключевых слов используйте кнопку "Глобальные (общие для сайтов) списки ключевых слов" в меню сайтов или отправьте команду /wordsglobal: Меню настройки глобальных списков ключевых слов очень похоже на меню настройки индивидуальных списков, за исключением того, что здесь нет команд для выбора режима фильтра. А так же здесь используются точно те же самые текстовые команды, что и для настройки локальных списков (бот "различает" списки по предварительно отправленной команде "/siteconf xxx" или "/wordsglobal").
Пример работы с ботом в текстовом режимеПредположим, в ленту "упал" проект, который Вы не хотели бы получать в дальнейшем. Добавим одно слово или словосочетание в список исключений. У меня почти везде используются глобальные списки ключевых слов, поэтому я добавлю исключения в список глобальных "минус"-слов. Как это сделать быстро? Очень просто!
Вот собственно и все. Это гораздо проще, чем клацать мышкой по кнопкам меню. Хотя и требует запоминания хотя бы некоторых команд. Последовательность команд для добавления слов или категорий в список конкретного сайта тоже не сильно сложнее - нужно лишь использовать /siteconf вместо /wordsglobal и указать название сайта.
Справочник по командам бота
Меню, помощь и информация: /menu - главное меню (кнопки с выбором команд) /info - описание работы бота /info filters - описание работы фильтров /help - список доступных команд /feedback - отправить сообщение администратору бота
Управление учетной записью: /unregister - удалить учетную запись из сервиса
Управление подпиской и уведомлениями: /subscribe on - включить рассылку новых проектов /subscribe off - отключить рассылку новых проектов /notify on - включить звуковое оповещение /notify off - отключить звуковое оповещение
Управление биржами (сайтами): /sitelist - управление списком бирж фриланса /siteconf - настройка выбранной биржи фриланса /siteadd - добавить биржу в список подключенных /sitedel - удалить биржу из списка подключенных
Управление фильтром по разделам сайта: /catsconf - вызов подменю настройки фильтра по разделам сайта /catssite - вывод полного списка разделов сайта /catslist - вывод Вашего списка разделов /catsadd - добавить раздел в список фильтра /catsdel - удалить раздел из списка фильтра /catsmode off - не использовать фильтр по разделам /catsmode include - включить режим "только мои" /catsmode exclude - включить режим "кроме моих" /catscomp partial - частичное сравнение названий разделов /catscomp full - полное сравнение названий разделов
Управление фильтром по ключевым словам: /wordsconf - меню настройки фильтра по ключевым словам /wordslist - вывод списков слов /wpluslist - вывод списка плюс-слов /wminuslist - вывод списка минус-слов /wplusadd - добавить ключевое слово в список плюс-слов /wminusadd - добавить ключевое слово в список минус-слов /wplusdel - удалить ключевое слово из списка плюс-слов /wminusdel - удалить ключевое слово из списка минус-слов /wordsmode off - не использовать фильтр по ключевым словам /wordsmode plus - включить режим "есть [+]" /wordsmode minus - включить режим "нет [-]" /wordsmode include - включить режим "есть [+] И нет [-]" /wordsmode exclude - включить режим "нет [-] ИЛИ есть [+]" /wordsglb on - использовать глобальные списки ключевых слов /wordsglb off - использовать индивидуальные списки ключевых слов
Управление глобальными списками ключевых слов: /wordsglobal - настройка глобальных (общие) списков ключевых слов /wordslist - вывод списков слов /wpluslist - вывод списка плюс-слов /wminuslist - вывод списка минус-слов /wplusadd - добавить ключевое слово в список плюс-слов /wminusadd - добавить ключевое слово в список минус-слов /wplusdel - удалить ключевое слово из списка плюс-слов /wminusdel - удалить ключевое слово из списка минус-слов
Тестовый режим: /testmode on - рассылать все проекты, но не удовлетворяющие фильтрам маркировать /testmode off - рассылать только проекты, удовлетворяющие фильтрам
Команды можно вводить и без символа /, например "help" вместо "/help" | |
Просмотров: 5924 | Комментарии: 4 | | |
Всего комментариев: 1 | ||
| ||