Есть способ сделать это, однако он может быть немного сложным и требует веб-хостинга Unix с php 5, так что будьте осторожны.
Шаг 1
Первое, что вам нужно сделать, это добавить канал производителя. Вы делаете это так же, как добавляете любой другой канал, нажимая «каналы» вверху страницы и ища его, затем нажимая на него и нажимая кнопку «добавить канал».
Шаг 2
Создайте пустой документ php на своем веб-хосте. Неважно, где, если вы можете получить к нему доступ с помощью браузера.
Шаг 3
Что вы делаете сейчас, это сделать рецепт, где ваш триггер активирует канал производителя. Как только вы настроите триггер, просто нажмите на канал производителя, затем «Сделайте веб-запрос». Затем введите веб-URL документа, который мы сделали на шаге 2, в поле URL. Измените метод на GET и оставьте другие поля пустыми.
Шаг 4
Теперь создайте рецепт, который запускается веб-запросом. Сделайте имя события как хотите, если вы его помните. Сделайте «то» из рецепта, что вы хотите, чтобы он делал.
Шаг 5
Теперь мы добавим код в тот PHP-документ, который мы создали еще на шаге 2. Добавьте этот код, изменив разрешенное время (в настоящее время 6 утра), проход, часовой пояс и URL-адрес, где вы измените «пример ключа» на ваш ключ (находится здесь) и {{событие}} на событие, которое вы назвали в шаге 4.
<?php
date_default_timezone_set("EST");
$time = strftime("%H");
if($time == 6){
echo exec('curl -X POST https://maker.ifttt.com/trigger/{{event}}/with/key/example-key');
}
}
?>
Сохраните документ, и все готово.
Не мое, но это прекрасно работает для меня! Перейдите на https://platform.ifttt.com/maker, создайте апплет и используйте его в разделе кода фильтра. * .Skip () важен для установки отмены действия после триггера. PS не кодер!
// Change startTime and stopTime to set the time range when you want // your service's action (the 'That') to happen: // var startTime = moment('03:00 pm', "HH:mm a"); var stopTime = moment('06:00 pm', "HH:mm a"); // // startTime is the first time when the action can happen // stopTime is the last time the action can happen... until time // reaches the next startTime. // // Notes: // - startTime can be later than stopTime. For example, startTime // can be 10:00pm and stopTime 06:00am. This means actions can // happen from 10pm of one day until 6am of the next day but // not between 6am and 10pm of either day. // // - startTime cannot be the same as stopTime // // - 'Skip' messages are written when the service's action does not // happen, such as after the stopTime and before the next // start time. // // - If you want to use this code with a service other than // Gmail.sendYourselfAnEmail, you must change the lines that // reference Gmail.sendYourselfAnEmail.skip to the skip method // for your service. // // -------------------------- // // The code converts everything to minutes for comparision purposes // var startTimeMinutes = startTime.minutes() + startTime.hours() * 60; var stopTimeMinutes = stopTime.minutes() + stopTime.hours() * 60; var triggerTimeMinutes = Meta.triggerTime.minutes() + Meta.triggerTime.hours()* 60; // // StartTime = stopTime not allowed. // // Set some defaults... // var doThat = new Boolean(false); var whatsup = "'That' has been skipped"; // // If start time is less than stop time, then the range is assumed to // be a continuous period during a single day. E.g., 9am-6pm. // if ((startTimeMinutes<stopTimeMinutes) && (triggerTimeMinutes >= startTimeMinutes && triggerTimeMinutes <= stopTimeMinutes)) { doThat = Boolean(true); whatsup = "range within a single day"; } // // If start time > stop time, then the range is assumed to span // midnight (12am). E.g. 10pm-6am. This range covers parts of two // days. // else if ((startTimeMinutes>stopTimeMinutes) && (triggerTimeMinutes > startTimeMinutes || triggerTimeMinutes < stopTimeMinutes)) { doThat = Boolean(true); whatsup = "range spans midnight"; } // // Out of range... // if (doThat == false) {
AndroidMessages.sendAMessage.skip("Event happened outside time range (" + whatsup +") - time of trigger was "+Meta.triggerTime.format('LT')+", but start time to allow the action is "+ startTime.format('LT') + " and stop time is "+ stopTime.format('LT') + " Debug info: minutes are "+triggerTimeMinutes + " " + startTimeMinutes + " " + stopTimeMinutes); } // // The following code can be uncommented for debugging. It writes // an entry to the activity log instead of performing the // action. // // else // { // IfNotifications.sendNotification.setMessage("Action can happen (" + whatsup +") - time of trigger was "+Meta.triggerTime.format('LT')+", start time is "+ startTime.format('LT') + ", and stop time is "+ stopTime.format('LT') + ". Debug info: Minutes are trigger="+triggerTimeMinutes + ", start=" + startTimeMinutes + ", and stop=" + stopTimeMinutes); // } // }
источник
Другой способ добиться этого, не прибегая к созданию ручного апплета, - использовать Stringify.com в качестве посредника.
Это позволяет вам включать в свои потоки узел «только если» (Stringify flow = IFTTT recipe). Если вам повезет, Stringify уже поддерживает то, что вы хотите вызвать, но есть лишь несколько «вещей», которые они поддерживают - по сравнению с множеством IFTTT.
Вы можете установить «входные» рецепты на IFTTT, которые будут запускать триггер Stringify, и «выходной» рецепт, который запускается из действия Stringify.
Например:
источник