我實際上正在使用此作業代碼并設定觸發器以每 4 小時重復一次任務,但我想縮短檢查每一行的代碼,假設在“A1:A20”范圍內查找非空行。

在不使用此代碼的情況下運行腳本的短路徑是什么?
function sendTelegramNotification() {
var sheet = SpreadsheetApp.getActive().getSheetByName("TELEGRAM");
if (sheet.getRange("A1").isBlank()) return;
var api = sheet.getRange("A1").getValues();
var group = sheet.getRange("B1").getValues();
var message = sheet.getRange("C1").getValues();
var url = 'https://api.telegram.org/bot' api
'/sendMessage?chat_id=' group
'&text=' encodeURIComponent(message)
UrlFetchApp.fetch(url);
if (sheet.getRange("A2").isBlank()) return;
SpreadsheetApp.flush();
Utilities.sleep(80 * 100);
SpreadsheetApp.flush();
var api = sheet.getRange("A2").getValues();
var group = sheet.getRange("B2").getValues();
var message = sheet.getRange("C2").getValues();
var url = 'https://api.telegram.org/bot' api
'/sendMessage?chat_id=' group
'&text=' encodeURIComponent(message)
UrlFetchApp.fetch(url);
if (sheet.getRange("A3").isBlank()) return;
//etc., etc.
}
uj5u.com熱心網友回復:
我通過使用以下代碼來實作它:
function sendWeater() {
var sheet = SpreadsheetApp.getActive().getSheetByName("TELEGRAM");
var data = sheet.getDataRange().getValues();
//Wait some seconds to send every message
SpreadsheetApp.flush();
Utilities.sleep(80 * 100);
SpreadsheetApp.flush();
//Loop for all the rows in the sheet 'TELEGRAM', i = 1 because I've a header row
for(var i = 1; i < data.length; i ) {
var row = data[i];
var api = row[0];
var group = row[1];
var message = row[2];
var url = 'https://api.telegram.org/bot' api
'/sendMessage?chat_id=' group
'&text=' encodeURIComponent(message)
UrlFetchApp.fetch(url);
}
}
uj5u.com熱心網友回復:
您可以使用getRange而不是getDataRange()forvar data = sheet.getDataRange().getValues();并指定行和列。這是一個示例實作
function sendWeater() {
var sheet = SpreadsheetApp.getActive().getSheetByName("Sheet1");
var data = sheet.getRange(1,1, sheet.getLastRow(), sheet.getLastColumn()).getValues();
//Wait some seconds to send every message
SpreadsheetApp.flush();
Utilities.sleep(80 * 100);
SpreadsheetApp.flush();
//Loop for all the rows in the sheet 'TELEGRAM', i = 1 because I've a header row
for(var i = 1; i < data.length; i ) {
var row = data[i];
var api = row[0];
var group = row[1];
var message = row[2];
var url = 'https://api.telegram.org/bot' api
'/sendMessage?chat_id=' group
'&text=' encodeURIComponent(message)
UrlFetchApp.fetch(url);
}
}
不幸的是,由于對 Telegram Bot 的訪問受限,我無法對此進行測驗,但這應該可以幫助您入門。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/389305.html
