У меня была профессиональная подписка на IFTTT, и до недавнего времени я решил действительно принять участие и посмотреть, на что она способна.

Я использую сам IFTTT в течение многих лет, поэтому у меня уже настроено довольно много рабочих процессов, многие из них просто твиты, которые мне нравятся с таких сайтов, как Reddit или Medium, но обычно это также означает попадание в мою учетную запись Twitter несколькими пользователями. довольно много новых сообщений в одном кадре. Я решил, что, может быть, будет лучше немного разбавить это и добавить Buffer в микс, для меня было бы хорошо использовать бесплатный с 10 сообщениями в очереди, не имеет значения, если несколько потерялись.

После того, как я обновил все эти рабочие процессы, чтобы использовать Buffer вместо Twitter напрямую, я подумал, что, возможно, фильтр может помочь с другим рабочим процессом, который был невозможен напрямую.

Фильтры, первый удар…

Первый удар был действительно простым, я хотел твитнуть фотографии, которые мне понравились (проголосовали за), но только если это было из / r / EarthPorn, тогда это вызвало бы публикацию с прикрепленным изображением.

Я предположил, что фильтры будут представлять собой довольно сложный набор логики перетаскивания, поэтому он еще не был доступен на мобильных устройствах. Я был очень рад увидеть, что то, что мы получили, на самом деле было окном кода, в котором использовался JavaScript, с разумным разбрызгиванием. ES6 тоже в миксе.

Это также объясняет, почему он не был доступен на мобильных устройствах, мне удалось собрать очень простой рабочий процесс, который я хотел для / r / EarthPorn, через свой iPad на их веб-сайте, но когда я погрузился в сложный ход, который довольно быстро потерпел неудачу.

Чтобы настроить фильтр, вам необходимо сначала указать как if, так и then, это необходимо для того, чтобы вы могли получить правильные переменные среды, которые будут доступны.

const sub = Reddit.newLikeByYouReddit.Subreddit.toLowerCase();
if (sub != 'earthporn') {
  Buffer.addToBufferWithPhoto.skip();
}

Это очень простой вариант, который я установил, поскольку вы можете видеть, что все, что я делаю, это проверяю, что имя SubReddit - EarthPorn, в противном случае он просто пропускает этот пост, который НЕ добавит его в мою очередь Buffer.

Давайте усложним ...

Здесь я погрузился в более творческий поток фильтров.

Многое из того, что публикуется, часто представляет собой интересную статью, которую я обнаружил на Reddit, и добавление публикации в закладки - это самый простой способ запустить автоматизированный поток, намного проще, чем я сам вручную делюсь URL-адресом в Twitter.

Я потрачу 2 дня на автоматизацию повторяющейся 2-минутной задачи, чтобы мне не приходилось ее повторять ...

В этом случае фильтры на самом деле позволили бы мне не только автоматизировать публикацию, чтобы не переполнять мою ленту, но и улучшать их, поскольку с помощью некоторой достаточно простой логики я могу управлять всем сообщением, и в этом случае очень просто добавьте подходящие теги hast.

const sub = Reddit.newSaveByYouReddit.Subreddit.toLowerCase();
const title = Reddit.newSaveByYouReddit.Title.toLowerCase();
const tags = [];
// FE/JS Dev
const feSub = sub == "frontend" || sub == "javscript";
if (feSub) {
  tags.push("frontend", "development", sub);
if (title.indexOf("css") != -1) tags.push("css", "styles", "web");
  if (title.indexOf("html") != -1) tags.push("html", "layout", "web");
  if (title.indexOf("javascript") != -1) tags.push("javascript");
  if (title.indexOf("ecmascript") != -1) tags.push("javascript", "ecmascript");
}
const uniqueTags = tags.filter((value, index, self) => {
  return self.indexOf(value) === index;
});
const hashTags = tags.map((t) => `#${t}`);
const url = Reddit.newSaveByYouReddit.PostURL;
const message = `
${title} vi a/r/${sub} ${url}
${hashTags.toString().replace(/,/g, ' ')}
`;
Buffer.addToBuffer.setMessage(message);

Как видите, эта попытка немного сложнее, чем моя первая попытка, и это еще не все, но она довольно повторяющаяся, поскольку я просто применяю большую часть одной и той же логики к разным подсистемам.

Я вытаскиваю и заголовок, и субреддит в переменные в виде строчных версий для упрощения сравнения и имею пустой массив для вставки тегов.

В зависимости от подпрограммы я добавляю набор основных тегов, а также проверяю заголовок на наличие ключевых слов для других возможных релевантных тегов.

Чтобы быть в безопасности, я также просматриваю итоговый список тегов, чтобы убедиться, что нет дубликатов, оттуда я создаю новое сообщение для твита и использую доступную функцию setMessage, предоставляемую буферным фильтром, чтобы переопределить сообщение, которое было бы отправлено .

Последние мысли…

Как вы можете видеть, второй вариант более сложен, по сути, оба они по-прежнему являются довольно простыми вариантами использования, и я могу представить, что потребуется немного творческого мышления и, возможно, некоторые дальнейшие улучшения от IFTTT в будущем, это может стать очень способный инструмент для автоматизации.

Твиты - это, вероятно, одна из самых простых вещей, которых можно достичь с помощью IFTTT. Я знаю, что у меня есть и другие, простые, но интересные, в том числе тот, который включает мой гейзер, когда я заканчиваю цикл. Кому не нравится сильный душ… лол.

Я надеюсь, что вы нашли этот пост информативным или интересным, и, надеюсь, он дал вам некоторые идеи относительно того, что еще в вашей цифровой или даже реальной жизни вы можете автоматизировать.

Если бы вам понравилось, было бы здорово хлопнуть в ладоши (или 50), а если бы вам действительно понравилось, чашка кофе была бы отличной.

Спасибо за чтение и удачного дня / недели.