Я пытаюсь отправить данные из диапазона ячеек на диск-канал чата - PullRequest
1 голос
/ 10 апреля 2019

Я пытаюсь отправить данные из диапазона ячеек в разрозненный текстовый канал.У меня работает webhook.Однако я не могу преобразовать данные ячейки в часть кода «message = messager».

function postMessageToDiscord(message) {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Loot");
  var range = sheet.getRange("A12:N12");



  message = message || "range" ;

  var discordUrl = 'https://discordapp.com/api/webhooks/565294544682221617/l_mER5nwxITlaW-9g0qXZxZ0CDSWqLrHYXDcvcdyubC9VElWmbfbRTdwbQhVFdyVYxFq';
  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());

}

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Это конечный результат.

function postMessageToDiscord(message) {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Loot");
  var range = sheet.getRange("A12:N12");

  var data = range.getValues();
  var result = '';

  for (var i = 0; i < data.length; i++) {
    var d = data[i];
    for (var j = 0; j < d.length; j++) {
      result = result.concat(d[j]);
   }
}


  message = message || result ;

  var discordUrl = 'https://discordapp.com/api/webhooks/565294544682221617/l_mER5nwxITlaW-9g0qXZxZ0CDSWqLrHYXDcvcdyubC9VElWmbfbRTdwbQhVFdyVYxFq';
  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());

}
0 голосов
/ 10 апреля 2019

getRange возвращает объект Range.

Из документов видно, что есть метод getValues(), который возвращает двумерный массив, содержащийданные в каждой ячейке.

Таким образом, мы можем написать простой цикл for следующим образом:

var data = range.getValues();
var result = '';

for (var i = 0; i < data.length; i++) {
   var d = data[i];
   for (var j = 0; j < d.length; j++) {
       result = result.concat(d[j]);
   }
}

и затем отправить результат var.

...