Как запустить функцию в Google Script, если значение ячейки равно определенному слову - PullRequest
0 голосов
/ 04 мая 2018

У меня есть два сценария в проекте. Сценарий № 1 запускается по времени, поэтому он запускается каждые 5 минут. Если значение ячейки в моей электронной таблице превышает установленное значение, оно вызывает и отправляет электронное письмо. После того, как электронное письмо отправлено, оно устанавливает определенную ячейку, чтобы сказать "Сработало"

function myBTCupFunction() {
  var ss = SpreadsheetApp.openById("MYIDHERE"); 
  var sheet = ss.getSheetByName("Trading");
  var cell = sheet.getRange('I4')

  if(sheet.getRange(5,12).getValue()>sheet.getRange(4,9).getValue()){      //change row and column in get range to match what you need
    MailApp.sendEmail("johndoe@gmail.com", "Bitcoin Alert!", "Bitcoin has experienced a large upside move in the last hour.");

  if(sheet.getRange(5,12).getValue()>sheet.getRange(4,9).getValue()){      cell.setValue("Triggered") ;


                                                                    }}}

Так что, если значение моей ячейки установлено в «Сработало», я хочу запустить скрипт № 2, который приведен ниже. Это та часть кода, которую я не понимаю.

function postMessageToDiscord(message) {

  message = message || "Bitcoin has experienced a large upside move.";

  var discordUrl = 'https://discordapp.com/api/webhooks/sdjfkjjhdklfkjhd';
  var payload = JSON.stringify({content: message});

  var params = {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    method: "POST",
    payload: payload,
    muteHttpExceptions: true
  };

  var response = UrlFetchApp.fetch(discordUrl, params);

  Logger.log(response.getContentText());

}

1 Ответ

0 голосов
/ 04 мая 2018

Было бы проще вызвать вторую функцию при запуске myBTCupFunction(). Таким образом, вам не нужно проверять в обратном направлении с помощью второго триггера.

Пример:

function myBTCupFunction() {
  var ss = SpreadsheetApp.openById("MYIDHERE"); 
  var sheet = ss.getSheetByName("Trading");
  var cell = sheet.getRange('I4')

  if(sheet.getRange(5,12).getValue()>sheet.getRange(4,9).getValue()) {      
    //change row and column in get range to match what you need
    MailApp.sendEmail("johndoe@gmail.com", "Bitcoin Alert!", "Bitcoin has experienced a large upside move in the last hour.");
    cell.setValue("Triggered");
    postMessageToDiscord("Your string message here");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...