ืืขืื | ๐ช apps script, ืื ืื ื ืืคืกืคืกโ๏ธ
-
@ืืืฉ-ืืืช ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:ืื ื ืื ืืืฉื ืืงืืืืื ืฉืgpt ืืืฉ ืืจืืข, ืื ื ืคืฉืื ืืฉืชืืฉ ืืืืื gemini pro ืื ืืื ืืืชืจ ืืื ื AI STUDIO ืืืชืจ ืืื ืืืชื ืื ืืคืฉืจ ืืืืืง ืืืงื ืื.
ืื ืืื ืชื ืืช ืืืื ืชื
ื AI studio ืืคืฉืจ ืืืืื ืืืืืจ ืืช ืืืืื ืืืืืื gemini pro 2.5@ืฆืืืง-0 ืื ืฉืืช ืื ืืืืช ื ืฉืืฉ ืืื ืืืื ืฉืืืืจืช ืฉืขื ai studio ืืื ื ืืืชืจ ืืื ืื ืืคืฉืจ ืืืืืง ืืืงื ืื...
-
@ืฆืืืง-0 ืื ืฉืืช ืื ืืืืช ื ืฉืืฉ ืืื ืืืื ืฉืืืืจืช ืฉืขื ai studio ืืื ื ืืืชืจ ืืื ืื ืืคืฉืจ ืืืืืง ืืืงื ืื...
@ืืืฉ-ืืืช ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืฆืืืง-0 ืื ืฉืืช ืื ืืืืช ื ืฉืืฉ ืืื ืืืื ืฉืืืืจืช ืฉืขื ai studio ืืื ื ืืืชืจ ืืื ืื ืืคืฉืจ ืืืืืง ืืืงื ืื...
1:0
-
ืฉืืื ืืืจืื ืื ื ืื ืกื ืืืจ ืชืงืืคื ืืจืืื ืืืฆืืจ ืกืงืจืืคืืื ื apps script ืขื ืืื gpt, ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื, ืืื ืชืืื ืืกืงืจืืคื ืื ืขืืื, ืืืคืืข ืื "ืฉืืืื ืืฉืืืืช ืืืงืฉื,"
ืืืืจ ืฉืขืืช ืืื ืคืขื ืืืืฉ, ืฉืื ื ืืฉื ื ืืืจืื ืคืืจืก 10 ืคืขืืื, ืืืืง, ืืฉืืืจ, ืคืืชื, ืืกืืืจ, ืืื' ืืื' ืืื' ืืกืืฃ ืืกืงืจืืคื ืืกืืื ืืขืืื,ืฉืืืชื ืืืคื ืืช ืืืืื ืจืืืชืื ืืืืืืื, ืืื ืืฉ ืืฉืื ืฉืื ื ืืคืกืคืก? ืืื ืืฉ ืืืง ืืกืืืื ืฉืฆืจืื ืืฉืื ืื ืืืื ืืฆืืจื ืืืืืืช? ืืฉืื ืชืฉืืืจื ืืช ืขืื ื, ืืื ืฆืจืื ืืคืจื ืืืชืจ ืื ืืงืื ืื ืืกืงืจืืคื ืืื' ืคืฉืื ืชืืืื...
ืชืืื ืจืื ืืจืืฉ .@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ? -
@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ?@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ?ื ืืคืจื ืื ืืืคืฉืจืื ืืฉืืืจ ืจืง ืกืงืจืืคื ืฉืคืื ื ืืืชืืืืช URL ืืืฆืื ืืืช. ืืื ืื ืืฉืคืจื ืข"ื ืืงืฉื ืืืขืจืืช ืืคื ืืืช
-
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ?ื ืืคืจื ืื ืืืคืฉืจืื ืืฉืืืจ ืจืง ืกืงืจืืคื ืฉืคืื ื ืืืชืืืืช URL ืืืฆืื ืืืช. ืืื ืื ืืฉืคืจื ืข"ื ืืงืฉื ืืืขืจืืช ืืคื ืืืช
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
-
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
@ืจืคื-ืกืื ืืื ืืชื ืฉืืกืืฃ ืื ืื ืขืืื ืื ืฉืื ืืกืชืืจ ืฉืื ื ืืคืจื
-
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
ืืืคื ืืชื ืจืืื ืฉืื ืื ืฉืืื ืขืืฉื?
-
ืฉืืื ืืืจืื ืื ื ืื ืกื ืืืจ ืชืงืืคื ืืจืืื ืืืฆืืจ ืกืงืจืืคืืื ื apps script ืขื ืืื gpt, ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื, ืืื ืชืืื ืืกืงืจืืคื ืื ืขืืื, ืืืคืืข ืื "ืฉืืืื ืืฉืืืืช ืืืงืฉื,"
ืืืืจ ืฉืขืืช ืืื ืคืขื ืืืืฉ, ืฉืื ื ืืฉื ื ืืืจืื ืคืืจืก 10 ืคืขืืื, ืืืืง, ืืฉืืืจ, ืคืืชื, ืืกืืืจ, ืืื' ืืื' ืืื' ืืกืืฃ ืืกืงืจืืคื ืืกืืื ืืขืืื,ืฉืืืชื ืืืคื ืืช ืืืืื ืจืืืชืื ืืืืืืื, ืืื ืืฉ ืืฉืื ืฉืื ื ืืคืกืคืก? ืืื ืืฉ ืืืง ืืกืืืื ืฉืฆืจืื ืืฉืื ืื ืืืื ืืฆืืจื ืืืืืืช? ืืฉืื ืชืฉืืืจื ืืช ืขืื ื, ืืื ืฆืจืื ืืคืจื ืืืชืจ ืื ืืงืื ืื ืืกืงืจืืคื ืืื' ืคืฉืื ืชืืืื...
ืชืืื ืจืื ืืจืืฉ .@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
-
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
ื ืืคืจื ืืืกืืื ืกืงืจืืคื ืฉืคืื ื ืืืฃ ืืื ืืจื ื, ืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื.
-
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
ื ืืคืจื ืืืกืืื ืกืงืจืืคื ืฉืคืื ื ืืืฃ ืืื ืืจื ื, ืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื.
@ืข-ื-ืืื-ืข ืื ืืื ื ืฉืืข ืื....
-
@ืข-ื-ืืื-ืข ืื ืืื ื ืฉืืข ืื....
@ืจืคื-ืกืื
ืื ืืื ืขืืฉืื ืื ื ื ืื ืก ืืคื, ืืืืจ ืืจืื ืืื ืืื ื ืจืืื ืฉืื ืืฉื ื ืืื ืืืฉ ืืืจืืื....
ื. ืืืคื ืื ื ืืืื ืืืืืง ืืช ืืืืื ืืงืฉืืช ื apps script ืืืืืืง ืืื ืืืงืฉืืช ืืืื ืืชืงืืื?
ื. ืชืืื ืจืื ืืื ืืขืืืจืื ืืืืกืืืขืื.ื. ืื ื ืื ืื ืืคืจื.
ืื ืื ื ืืืฅ ืื ื ืืฉืชืฃ ืืช ืืกืงืจืืคื, (ืืืชืืื ืื ืฉืืืชื ืื ืืฉืืชื ืฉืื ืืืื ืืืืฉืื ืื ืืขืืืจ ืขื ืื, ืืื ืื ื ืจืืื ืฉืื ืฉืื ืคื ืืืื ืืืื ืืืืืื ืืขืืืจ,

) -
@ืจืคื-ืกืื
ืื ืืื ืขืืฉืื ืื ื ื ืื ืก ืืคื, ืืืืจ ืืจืื ืืื ืืื ื ืจืืื ืฉืื ืืฉื ื ืืื ืืืฉ ืืืจืืื....
ื. ืืืคื ืื ื ืืืื ืืืืืง ืืช ืืืืื ืืงืฉืืช ื apps script ืืืืืืง ืืื ืืืงืฉืืช ืืืื ืืชืงืืื?
ื. ืชืืื ืจืื ืืื ืืขืืืจืื ืืืืกืืืขืื.ื. ืื ื ืื ืื ืืคืจื.
ืื ืื ื ืืืฅ ืื ื ืืฉืชืฃ ืืช ืืกืงืจืืคื, (ืืืชืืื ืื ืฉืืืชื ืื ืืฉืืชื ืฉืื ืืืื ืืืืฉืื ืื ืืขืืืจ ืขื ืื, ืืื ืื ื ืจืืื ืฉืื ืฉืื ืคื ืืืื ืืืื ืืืืืื ืืขืืืจ,

)@ืืชืขื ืืื-ืืืื
ืืช ืืืื ืืคืฉืจ ืืจืืืช ืืืจืืืกืืืช ืืคืขืืืช. ืืืงื ืงืฆืช ืืื ืขื ืฉืืื ื ืจืฉื ืฉื. -
@ืืชืขื ืืื-ืืืื
ืืช ืืืื ืืคืฉืจ ืืจืืืช ืืืจืืืกืืืช ืืคืขืืืช. ืืืงื ืงืฆืช ืืื ืขื ืฉืืื ื ืจืฉื ืฉื.@ืข-ื-ืืื-ืข
ืชืืื, ืืืืง.... -
ืืกืงืจืืคื ืืกืคืืืืืจ
const SHEET_ID = "id ืฉื ืืืืืื ืฉืืืก"; // ืขืืื function doPost(e) { try { const data = JSON.parse(e.postData.contents || "{}"); const answer = (data.answer || "").toString().trim(); const token = (data.token || "").toString().trim(); const name = (data.name || "").toString().trim(); const email = (data.email || "").toString().trim(); if (!answer || !token) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"missing answer or token"})).setMimeType(ContentService.MimeType.JSON); } const ss = SpreadsheetApp.openById(SHEET_ID); // ืืืื ืฉืืฉ ืืืืื ืืืืงื ืื ืืฉื ืืืืืื ื ืงืจื "Tokens" let tokensSheet = ss.getSheetByName("Tokens"); if (!tokensSheet) { // ืฆืืจ ืืืืื Tokens ืขื ืืืชืจืช ืื ืื ืงืืื tokensSheet = ss.insertSheet("Tokens"); tokensSheet.appendRow(["Token","Name","Email","Used"]); } // Responses sheet let respSheet = ss.getSheetByName("Responses"); if (!respSheet) { respSheet = ss.insertSheet("Responses"); respSheet.appendRow(["Timestamp","Token","Name","Email","Answer"]); } // ืงืจื ืืช ืื ืืืืงื ืื (ืืกืคืืง ืืืืืืื ืืช ืงืื ืื/ืืื ืื ืืื) const tokenData = tokensSheet.getDataRange().getValues(); // ืืืื ืืืชืจืช let foundRow = -1; for (let i = 1; i < tokenData.length; i++) { if (tokenData[i][0].toString().trim() === token) { foundRow = i + 1; // ืืกืคืจ ืฉืืจืช ืืืืืืื (1-indexed) break; } } if (foundRow === -1) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"invalid token"})).setMimeType(ContentService.MimeType.JSON); } const usedVal = tokensSheet.getRange(foundRow, 4).getValue(); // ืขืืืื D = Used if (usedVal && usedVal.toString().toLowerCase() === "used") { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"token already used"})).setMimeType(ContentService.MimeType.JSON); } // ืืืคืฆืืื ืื: ืืืืง ืืชืืื ืฉื ืฉื/ืืืืืื (ืื ืืจืฆืื ื ืืืืฅ ืืชืืื) // const registeredName = tokensSheet.getRange(foundRow, 2).getValue().toString().trim(); // if (registeredName && name && registeredName !== name) { ... } // ืกืื ืืช ืืืืงื ืึพUsed ืืชืขื ืืื ืืฉื/ืืืื ืื ืชืจืฆื tokensSheet.getRange(foundRow, 4).setValue("used"); // ืจืฉืื ืืช ืืืฆืืขื ืึพResponses respSheet.appendRow([new Date(), token, name, email, answer]); return ContentService.createTextOutput(JSON.stringify({status:"ok"})).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } } function doGet(e) { try { const mode = (e.parameter.mode || "").toString(); const ss = SpreadsheetApp.openById(SHEET_ID); const sheet = ss.getSheetByName("Responses"); if (!sheet) return ContentService.createTextOutput(JSON.stringify({})).setMimeType(ContentService.MimeType.JSON); const data = sheet.getDataRange().getValues(); const counts = {}; let total = 0; for (let i = 1; i < data.length; i++) { const ans = data[i][4]; // Answer column (E) if (!ans) continue; counts[ans] = (counts[ans] || 0) + 1; total++; } const percentages = {}; for (const k in counts) { percentages[k] = Math.round((counts[k] / total) * 100); } return ContentService.createTextOutput(JSON.stringify(percentages)).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } }ื .ื. ืื ืืื ืืชืื ืจืืื...
-
ืืกืงืจืืคื ืืกืคืืืืืจ
const SHEET_ID = "id ืฉื ืืืืืื ืฉืืืก"; // ืขืืื function doPost(e) { try { const data = JSON.parse(e.postData.contents || "{}"); const answer = (data.answer || "").toString().trim(); const token = (data.token || "").toString().trim(); const name = (data.name || "").toString().trim(); const email = (data.email || "").toString().trim(); if (!answer || !token) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"missing answer or token"})).setMimeType(ContentService.MimeType.JSON); } const ss = SpreadsheetApp.openById(SHEET_ID); // ืืืื ืฉืืฉ ืืืืื ืืืืงื ืื ืืฉื ืืืืืื ื ืงืจื "Tokens" let tokensSheet = ss.getSheetByName("Tokens"); if (!tokensSheet) { // ืฆืืจ ืืืืื Tokens ืขื ืืืชืจืช ืื ืื ืงืืื tokensSheet = ss.insertSheet("Tokens"); tokensSheet.appendRow(["Token","Name","Email","Used"]); } // Responses sheet let respSheet = ss.getSheetByName("Responses"); if (!respSheet) { respSheet = ss.insertSheet("Responses"); respSheet.appendRow(["Timestamp","Token","Name","Email","Answer"]); } // ืงืจื ืืช ืื ืืืืงื ืื (ืืกืคืืง ืืืืืืื ืืช ืงืื ืื/ืืื ืื ืืื) const tokenData = tokensSheet.getDataRange().getValues(); // ืืืื ืืืชืจืช let foundRow = -1; for (let i = 1; i < tokenData.length; i++) { if (tokenData[i][0].toString().trim() === token) { foundRow = i + 1; // ืืกืคืจ ืฉืืจืช ืืืืืืื (1-indexed) break; } } if (foundRow === -1) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"invalid token"})).setMimeType(ContentService.MimeType.JSON); } const usedVal = tokensSheet.getRange(foundRow, 4).getValue(); // ืขืืืื D = Used if (usedVal && usedVal.toString().toLowerCase() === "used") { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"token already used"})).setMimeType(ContentService.MimeType.JSON); } // ืืืคืฆืืื ืื: ืืืืง ืืชืืื ืฉื ืฉื/ืืืืืื (ืื ืืจืฆืื ื ืืืืฅ ืืชืืื) // const registeredName = tokensSheet.getRange(foundRow, 2).getValue().toString().trim(); // if (registeredName && name && registeredName !== name) { ... } // ืกืื ืืช ืืืืงื ืึพUsed ืืชืขื ืืื ืืฉื/ืืืื ืื ืชืจืฆื tokensSheet.getRange(foundRow, 4).setValue("used"); // ืจืฉืื ืืช ืืืฆืืขื ืึพResponses respSheet.appendRow([new Date(), token, name, email, answer]); return ContentService.createTextOutput(JSON.stringify({status:"ok"})).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } } function doGet(e) { try { const mode = (e.parameter.mode || "").toString(); const ss = SpreadsheetApp.openById(SHEET_ID); const sheet = ss.getSheetByName("Responses"); if (!sheet) return ContentService.createTextOutput(JSON.stringify({})).setMimeType(ContentService.MimeType.JSON); const data = sheet.getDataRange().getValues(); const counts = {}; let total = 0; for (let i = 1; i < data.length; i++) { const ans = data[i][4]; // Answer column (E) if (!ans) continue; counts[ans] = (counts[ans] || 0) + 1; total++; } const percentages = {}; for (const k in counts) { percentages[k] = Math.round((counts[k] / total) * 100); } return ContentService.createTextOutput(JSON.stringify(percentages)).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } }ื .ื. ืื ืืื ืืชืื ืจืืื...
@ืืชืขื ืืื-ืืืื ื ื, ืืกืงืจืืคื ืืื ืืฆืืจืชื ืื ืขืืื ืื ืืื?
ืืืืื ืืืจื ืฉืืชื ืืื ืืก ID ืืืืชื ืฉื ืืืืืื
-
@ืืชืขื ืืื-ืืืื ื ื, ืืกืงืจืืคื ืืื ืืฆืืจืชื ืื ืขืืื ืื ืืื?
ืืืืื ืืืจื ืฉืืชื ืืื ืืก ID ืืืืชื ืฉื ืืืืืื
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื? -
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
-
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ื. ืื ื ืื ืื ืืคืจื
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื -
@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ื. ืื ื ืื ืื ืืคืจื
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ืื ืืื ืืชื ืืืืข ืฉืืื ืื ืขืืื?
ื. ืื ื ืื ืื ืืคืจื
ืื ื ืื, ืืืื ืื ื ืื ืืืื ืืืืืง ืื.
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื
ืืื ืืืกืคืช ืื ืืช ืืคืจืืืจืื ืื ืืจืฉืื?
-
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ืื ืืื ืืชื ืืืืข ืฉืืื ืื ืขืืื?
ื. ืื ื ืื ืื ืืคืจื
ืื ื ืื, ืืืื ืื ื ืื ืืืื ืืืืืง ืื.
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื
ืืื ืืืกืคืช ืื ืืช ืืคืจืืืจืื ืื ืืจืฉืื?
@ืข-ื-ืืื-ืข
ืื ื ืคืืชื ืืช ืื ืืืคืืคื (ืื ื ืขืืจื ื "ืขืืจื ืืงืกื ") .
ื. ืกืืืื ืขื ืืืืจืืช ืืื ืืื ืืชื ืืชืืืื "ืืคืจืืืจืื ืื ืืจืฉืื"?
ืฉืืื! ื ืจืื ืฉืืฉืืื ืืื ืืขื ืืื ืช ืืืชื, ืืื ืขืืืื ืืื ืื ืืฉืืื.
ื ืืืก ืืื ืืืืื ืืื ืืืชื ืืคืืกืืื ืืื ืืืงืืจ? ืืฉื ืจืฉืืื ืืืฉืืื, ืชืืื ืชืืืจื ืืืืืง ืืืงืื ืฉืื ืืืืชื ืงืืื, ืืชืืืื ืืืืืจ ืืงืื ืืชืจืืืช ืขื ืชืืืืืช ืืืฉืืช (ืืื ืื ืืืืื, ืืืื ืื ืืืชืจืืช ืคืืฉ). ืชืืืื ืื ืืฉืืืจ ืกืืื ืืืช ืืืคืจืื ื-upvote ืืคืืกืืื ืืื ืืืืืข ืืขืจืื ืืืืจื ืงืืืื ืืืจืื.
ืืขืืจืช ืืชืจืืื ืฉืื, ืืคืืกื ืืื ืืืื ืืืืืช ืืคืืื ืืื ืืืชืจ ๐
ืืจืฉืื ืืชืืืจืืช