Created
November 29, 2020 16:51
-
-
Save alexwer76/a4cc3bc327166e8fdb775f749841836c to your computer and use it in GitHub Desktop.
Отправка из гугл таблицы в телеграмм по времени
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let botToken='1356037801:AAG8tzLp03DIhпр48jZ-MHC3NNGOF6QFjM4'//токен бота | |
let webAppUrl='https://script.google.com/macros/s/AKfycbxK945bZlFW_8rrtPt0XmkVyN7ra0ELuUZHyOeR9zvOPcDxUGxu/exec'//id таблицы | |
let telegramUrl = "https://api.telegram.org/bot" + botToken; | |
function setWebhook(){ | |
var url = telegramUrl + "/setWebhook?url=" + webAppUrl; | |
var response = UrlFetchApp.fetch(url); | |
Logger.log(response) | |
} | |
function deleteWebhook(){ | |
var url = telegramUrl + "/deleteWebhook?url=" + webAppUrl; | |
var response = UrlFetchApp.fetch(url); | |
Logger.log(response) | |
} | |
function send_function() { | |
let SSID='1hIluCP_jCrkk77dknYsErwemRPbr_CwwlU9OLPzU' //id гугл таблицы | |
let employeeName = "Отправить"; | |
let udate_list=SpreadsheetApp.flush() | |
let sheet = SpreadsheetApp.getActive().getSheetByName("Прозвон"); | |
sheet.getRange('E2').setValue(' ') | |
.setValue('') | |
.setValue(' ') | |
.setValue(''); | |
let range = sheet.getRange(`G1:G${sheet.getLastRow()}`); | |
values = range.getValues(); | |
let re = employeeName | |
let matchedRanges = []; | |
values.reduce((acc, v, i) => { | |
if (v[0].search(re) !== -1) { | |
acc.push(i+1) } | |
return acc }, matchedRanges) | |
for (let i = 0; i < matchedRanges.length; i++){ | |
let bk=[]; let ck=[]; let ek=[]; let fk=[]; let ak=[]; let hk=[]; | |
bk[i]= sheet.getRange("B"+ matchedRanges[i]).getValue() | |
ck[i]= sheet.getRange("C"+ matchedRanges[i]).getValue(); | |
ek[i]= sheet.getRange("E"+ matchedRanges[i]).getValue() | |
fk[i]= sheet.getRange("F"+ matchedRanges[i]).getDisplayValue(); | |
let fsms="😎 -- "+bk[i]+"\n"+"➯ -- "+ck[i]+"\n"+"📢 -- "+ek[i]+"\n"+"⏰ -- "+fk[i]; | |
//формируем с ним сообщение | |
let payload = { | |
'method': 'sendMessage', | |
'chat_id': /*'507582922',*/'-1001300743919',//id чата телеграмм | |
'text': fsms, | |
'parse_mode': 'HTML' | |
} | |
let data = { | |
"method": "post", | |
"payload": payload | |
} | |
UrlFetchApp.fetch('https://api.telegram.org/bot' + botToken + '/', data ); | |
let gk=[]; | |
hk[i]=sheet.getRange("H"+ matchedRanges[i]).clearContent() | |
gk[i]= sheet.getRange("G"+ matchedRanges[i]).setFormula('=IF(H'+ matchedRanges[i]+'="Повторно";"Отправить";"Отправлено")'); | |
} | |
return matchedRanges | |
} | |
function sort() { | |
let sheet = SpreadsheetApp.getActive().getSheetByName("Прозвон"); | |
let Avals = sheet.getRange("A1:A").getValues(); | |
Alast = Avals.filter(String).length; | |
sheet.getRange("F"+Alast).setFormula('=IF(D'+Alast+'<>""; Index(SPLIT(D'+Alast+';" ";;);2);"")'); | |
sheet.getRange("G"+Alast).setFormula('=IF(D'+Alast+'<>"";IF(NOW()>=$D'+Alast+';"Отправить";"В ожидании");"")'); | |
let range = sheet.getRange(`A2:G${sheet.getLastRow()}`); | |
range.sort({column: 4, ascending: false}); | |
sheet.getRange('F:F').setNumberFormat('H:mm:ss'); | |
sheet.getRange('B:H').setHorizontalAlignment('center') | |
.setVerticalAlignment('middle'); | |
var spreadsheet = SpreadsheetApp.getActive(); | |
spreadsheet.getRange('D3').activate(); | |
var conditionalFormatRules = spreadsheet.getActiveSheet().getConditionalFormatRules(); | |
conditionalFormatRules.splice(conditionalFormatRules.length - 1, 1, SpreadsheetApp.newConditionalFormatRule() | |
.setRanges([spreadsheet.getRange('D2:D'+Alast)]) | |
.whenFormulaSatisfied('=INT($D2)<>INT(TODAY())') | |
.setFontColor('#CC0000') | |
.build()); | |
spreadsheet.getActiveSheet().setConditionalFormatRules(conditionalFormatRules); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Для начала сделать форму для внесения данных
https://docs.google.com/spreadsheets/d/17lJmQkHqax1SidkQDUSmuG5ar22rYWt797MLWud2HAY/edit#gid=781797256
пример