Skip to content

Instantly share code, notes, and snippets.

View Max-Makhrov's full-sized avatar
🇺🇦

Max Makhrov Max-Makhrov

🇺🇦
View GitHub Profile
@Max-Makhrov
Max-Makhrov / beep2telegram_v2.gs
Last active August 10, 2022 10:57
Send a message to Telegram with Bot from WebApp. Google Apps Script
// 1️⃣ change settings
// Telegram token
var token = "826438459:AAH2hEf7YZq...";
// Spreadseet id for storing memory
// Sample:
// https://docs.google.com/spreadsheets/d/1pI12qRVgIY7i03tVdd9jNd2GwPDgOi1RLthdpVpdMD8
var memory_sets = {
@Max-Makhrov
Max-Makhrov / user_email_onEdit.gs
Created February 16, 2022 13:09
How to get active user email with installed onEdit trigger?
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('😎📬 run me 2x times')
.addItem('please let script to see your email', 'install')
.addToUi();
}
// function test() {
// var e = {
@Max-Makhrov
Max-Makhrov / beep2telegram.gs
Last active October 15, 2022 10:05
send a message to Telegram with Bot from WebApp. Google Apps Script
var token = "1234697707:AAHGyL2PE..."; // CHANGE1
function doPost(e) {
var chat_id = -0123456789; // CHANGE1
var msg = e.parameter.msg;
if (!msg || msg === '') {
return returnXml_('no message');
}
// uncomment to prevent same messages
// if (inMemory_(msg)) {
@Max-Makhrov
Max-Makhrov / telegrambot.gs
Last active August 8, 2023 03:10
Telegram Bot for Lazy
// __
// /_ |
// | |
// | |
// | |
// |_|
// Set Bot, copy token:
// https://t.me/botfather
// set your token ↓
var token = "1815465433:AAGpRcd--KsZycuSYmBOCDcVvws5lSvkuqw";
@Max-Makhrov
Max-Makhrov / googleFormOnSubmit.gs
Last active February 20, 2024 07:07
Google Forms Script. Sample script on form submit. Get responses.
// gentleman script for google forms
//
// gets submitted valus:
// 1. question label
// 2. question id
// 3. response value
//
// ⚠️ This is Form trigger.
// Open script editor from form interface
// Install it wia Triggers
@Max-Makhrov
Max-Makhrov / combine.gs
Last active June 9, 2021 07:26
Combine data from multiple sheets to 1
// combine data from all sheets in current file
function combineData() {
// CHANGE SHEET NAME ↓ /////////////////////////////
var sheetTo = 'combined';
////////////////////////////////////////////////////
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheets = file.getSheets(); // get all the sheets
// set where we want to write the results
var outSheet = file.getSheetByName(sheetTo);
var outdata = [], sheet, sName, data = [];
@Max-Makhrov
Max-Makhrov / Dependent DropDowns 2D Wide. v0.gs
Last active May 27, 2021 06:21
2D Dependent Dropdowns for Google Sheets. ~70 lines of code. Classy sample
// Copy sample file here:
// https://docs.google.com/spreadsheets/d/1hUOuDZcfXxaLvJbEA-SxzF4oGGU3lW3iJyS4wAV8YWA/copy
function onEdit(e) {
dvl0_(e);
}
function dvl0_sets_() {
return [
{
@Max-Makhrov
Max-Makhrov / Code.gs
Created May 19, 2021 11:28
Google Script. HTML-form to select image from computer and save it to Google Drive and to Sheet cell as image.
// sample file:
// https://docs.google.com/spreadsheets/d/1_rk4xFsMrxiuXqo5-HQWfvOjBU6nGDw1rlJFU0sci9U/copy
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('🙂 Click me')
.addItem('Image 🖼️ to Drive', 'showFormImages')
.addToUi();
}
function test_parse() {
var file = SpreadsheetApp.getActive();
var sheet = file.getSheetByName('Sheet1'); // change
var sets = {
rangeParse: sheet.getRange('L2:L16429'), // change
rangeResult: sheet.getRange("M2"), // change
func_parse: parseOkkoFilmToGetHorizontalPoster_ // change / create your function
};
parseUrls_(sets);
}
@Max-Makhrov
Max-Makhrov / Timer.gs
Created April 23, 2021 14:28
Timer is a code for monitoring onMinute triggers
function readTimer() {
// [ 1 ]. Get report
var tags = ['onMinute_admin', 'onMinute_worker', 'onMinute_importer', 'onMinute_sizif1', 'onMinute_sizif2'];
var report = getTimerReps_(tags);
console.log(report);
// => gives 2D Array with a report about executions.
// So U can write it on Spreadsheet.
// [ 2 ]. Gat all data from logs