Skip to content

Instantly share code, notes, and snippets.

@neno-tech
neno-tech / code.gs
Created February 3, 2021 14:02
ส่งฟอร์ม + รูป + แจ้งเตือนได้หลายกลุ่ม
function sendLineNotify() {
var form = FormApp.openById('xxx');
var tokens = ['xxx','xxx'];
var form_res = form.getResponses()
var formResponse = form_res[form_res.length - 1];
var itemResponses = formResponse.getItemResponses();
@neno-tech
neno-tech / code.gs
Last active May 25, 2022 13:52
โค้ดไลน์แจ้งเตือนข่าว + รูปภาพ
=ArrayFormula(IFERROR(VLOOKUP(B2,Room!A:B,2,0),"ไม่มีข้อมูล"))
function send_News() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("News");
var lastRows = sheet.getLastRow();
var message="";
for(var i=2;i<=lastRows;i++) {
var token = sheet.getRange(i,1).getValue()
message = sheet.getRange(i,3).getValue()
@neno-tech
neno-tech / code.gs
Created February 9, 2021 09:01
โค้ดแจ้งข่าว + รูปภาพ +ใช้ Checkbox ส่งแจ้งเตือน
function onEdit(e) {
var ss = SpreadsheetApp.getActive()
var sheet = ss.getSheetByName("Sheet1");
var SendNotify = sheet.getRange('G2').getValue();//ช่องติ๊กส่งแจ้งเตือน
if (SendNotify == true) {
for (var i = 0; i < 5; i++) {
var Selected = sheet.getRange(i + 2, 5).getValue();//เช็คว่าช่องไหนบ้างโดนติ๊ก
@neno-tech
neno-tech / code.gs
Created February 16, 2021 23:48
สร้างฟอร์มลงทะเบียนด้วยสคริปต์
var SHEET_NAME = "xxx";//ชื่อชีต
var SCRIPT_PROP = PropertiesService.getScriptProperties();
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('forms.html').setTitle("Registration With Document");
}
function uploadFileToGoogleDrive(data, file, name, pid, email, tel) {
try {
var dropbox = "Received Files";
@neno-tech
neno-tech / code.gs
Created February 18, 2021 04:08
โค้ดไลน์แจ้งเตือน ตามวัน+เวลาที่กำหนด
function myFunction() {
var token = 'xxx'
var ss = SpreadsheetApp.openById('xxx')
var sh = ss.getSheetByName('xxx')
var row = sh.getLastRow();
var today = Utilities.formatDate(new Date(), "GMT+7", "dd/MM/yyyy")
var time = Utilities.formatDate(new Date(), "GMT+7", "HH:mm")
for (i = 2; i <= row; i++) {
@neno-tech
neno-tech / code.gs
Created February 19, 2021 11:08
โค้ดเมื่อมีการแก้ไขข้อมูลในชีต ให้ส่งไลน์แจ้งเตือนทุกครั้ง
function onEdit(e) {
var token = 'xxx'
var range = e.range;
var row = range.getRow()
var column = range.getColumn()
var header = SpreadsheetApp.getActiveSheet().getRange(1,column).getValue()
var rowEdit = SpreadsheetApp.getActiveSheet().getRange(row,column).getValue()
var date = Utilities.formatDate(new Date(),'GMT+7','dd/MM/yyyy')
if(e.oldValue != e.newValue){
SpreadsheetApp.getActiveSheet().getRange(row,4).setValue('วันที่ '+date+' แก้ไข '+header+' จาก '+e.oldValue+' เป็น '+rowEdit)
@neno-tech
neno-tech / code.gs
Created February 22, 2021 07:14
โค้ดบอตเก็บข้อมูลผู้ใช้ เมื่อผู้ใช้เพิ่มบอตเป็นเพื่อนครั้งแรก
function doPost(e) {
var ss = SpreadsheetApp.openById("xxx");//แก้ไข
var sheet = ss.getSheetByName("xxx");//แก้ไข
var requestJSON = e.postData.contents;
var requestObj = JSON.parse(requestJSON).events[0];
var token = requestObj.replyToken;
if (requestObj.type === "follow") {
var userId = requestObj.source.userId;
var userProfiles = getUserProfiles(userId);
@neno-tech
neno-tech / code.gs
Last active February 23, 2021 09:01
โค้ดไลน์แชตบอต อัปเดต 2021
var ss = SpreadsheetApp.openById("xxx");
var sheet = ss.getSheetByName("xxx");
function doPost(e) {
var data = JSON.parse(e.postData.contents)
var userMsg = data.originalDetectIntentRequest.payload.data.message.text;
var values = sheet.getRange(2, 1, sheet.getLastRow(),sheet.getLastColumn()).getValues();
for(var i = 0;i<values.length; i++){
if(values[i][0] == userMsg ){
@neno-tech
neno-tech / code.gs
Created March 4, 2021 11:49
โค้ดส่งไลน์แจ้งเตือนไปหลายกลุ่ม
function myFunction() {
var message = 'ทดสอบส่งแจ้งเตือนแบบหลายกลุ่ม'
sendLineNotify(message)
}
function sendLineNotify(message) {
var tokens = ['token1', 'token2'];
for (var i = 0; i < tokens.length; i++) {
var options = {
"method": "post",
@neno-tech
neno-tech / code.gs
Created April 1, 2021 03:12
โค้ดไลน์แชทบอตแจ้งคะแนน+แจ้งผู้ใช้กรณีไม่มีรหัสที่ค้นหา (อัปเดท 1 เม.ย. 64)
function doPost(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("เมนู");
var data = JSON.parse(e.postData.contents)
var userMsg = data.originalDetectIntentRequest.payload.data.message.text;
var values = sheet.getDataRange().getValues();
var info = values.find(function seek(row) {
return row[0] == userMsg;
})
var result