📧 Отправка сообщений из Google таблиц в телеграмм по времени 🕚
ฝัง
- เผยแพร่เมื่อ 5 ก.ย. 2024
- Многие просили скрипт, отправка сообщений из Google Таблиц в телеграмм по времени. Смотрите видео, берите скрипт внизу.
#гуглтаблица #googleapps #googlesheets
🤑 Если вы хотите отблагодарить автора, сделать это можно по ссылке:
💲 ЮMoney: yoomoney.ru/to...
💲 monobank: send.monobank....
💲 PayPal: www.paypal.com...
💲 Донат: www.donational...
💲 Стать спонсором: / @zigoomul
✅ Телеграмм канал: t.me/ZiGoomul_...
✅ Телеграмм чат: t.me/Zigoomul_GAS для обсуждения.
✅ Подписаться на канал: www.youtube.co...
ссылка на скрипты: t.me/ZiGoomul_...
Где-то полгода назад я у тебя просил помочь лично с схожей проблемой, и теперь когда мне снова понадобилась помощь есть уже подходящее видео, Спасибо за твой труд)))
Спасибо тебе огромнейшее
Большое спасибо за видео. Очень удачно нашел ваш канал - как раз решил навести порядок в таблице склада и совместить ее с таблицей заказов
Спасибо! Всех благ автору видео
Супер, попробуем!
Спасибо!
🎉спасибо)
Спасибо
Спасибо!)
Красавчик) Как раз в поисках подобного решения)
Добрый день, помогите пожалуйста, в строке 15 clientbirthday = dataInfo[3].getDate() и тд..
Скрипт ругается, что dataInfo не функция, с чем может быть связано и как вылечить?
Хотел спросить, а когда наступит 2021 год (в примере 2020), то как он будет сравнивать?
Получается, что сравниваться должны только число и месяц? Просто если из скрипта убрать или закомментировать "+ new Date().getFullYear()", то не срабатывает. Подскажите, как сделать так, чтобы скрипт игнорировал год рождения? А иначе не поздравляет скрипт.
Просто приводите дату в удобный вид для сравнения без года, там уже не важно какой вид это будет, числовой текстовый.
Спасибо за видео! Подскажите, а вы делаете на платной основе скрипты?
Да, делаю. Пишите в личку в телеграм t.me/ZiGoomul
спасибо!!!
очень надеюсь что ваш скрипт из далеких 2020 годов еще работает в 2023)))))))
работает))
Здраствуйте, суперский урок, всё работает отлично, вопросик а как сделать, чтоб ещё и картинка с поздравлением отправлялась, за ранее СПАСИБО.
нужно использовать метод sendPhoto от телеграмма
@@ZiGoomul Спасибо, а примерно в какой строке дописать, или получится большой код
@@Oleg_57rus где вы используете функциюhttps отправки сообщения ее нужно переписать на функцию отправки фото, я уже не помню давно перешел на библиотеки, выглядеть она должна примерно так
function sendPhoto(chatId, photoUrl_or_ID, caption, keyBoard) {
let data = {
method: 'post',
payload: {
method: 'sendPhoto',
chat_id: String(chatId),
photo: String(photoUrl_or_ID),
caption: String(caption),
parse_mode: 'HTML',
reply_markup: JSON.stringify(keyBoard)
}
};
UrlFetchApp.fetch('api.telegram.org/bot' + token + '/', data);
};
@@ZiGoomul Спасибо, по учусь, а мне нравиться хороший код 🔥самое главное хост не нужен.
@@ZiGoomul Всё супер работает и текст и картинка 🔥🔥🔥🔥🔥🔥💣🙏
Отличное видео! Спасибо! А какой скрипт должен быть, чтоб триггером отправки сообщения в телеграм было создание новой строки в таблицу. При чем строка в таблицу добавляется не в ручную, а сторонним сервисом (например любым сервисов по интеграции)?
Встроенного триггера нет, нужно писать функцию с триггером на время, которая будет сравнивать появились ли изменения в таблице
@@ZiGoomul Спасибо за ответ!
Привет! Спасибо большое за видео, было очень полезным! Единственное что не понял, это почему из таблицы дата получается на день назад) То есть в таблице указываю 19.03.2021 а в скрипте при выполнении (в журнале) отображается 18.03.2021.
Из за чего такое может быть?
Что-то в настройках таблицы и скрипта не совпадает, возможно регион, возможно часовой пояс
Если у Вас будет свободное время, не могли бы Вы переделать скрипт под новую версию Google Sheets? Спасибо!
Этот скрипт будет работать и в новой версии
Код супер. А как быть когда чат с пользователем не создан? Выдает ошибку и выполнение кода останавливается?
Да
@@ZiGoomul А что добавить в коде чтобы он пропускал такие чаты? Чтобы код проходил по всему списку и не запинался.
@@kirillosipov2985 Нужно проверять ответы сервера, и через if () отфильтровывать ошибки
Добрый день! Не подскажите, из-за чего может быть ошибка: "TypeError: Cannot read property 'toString' of undefined"?
Пытаетесь перевести в строку неопределенность
Автор, подскажите где найти скрипт, во вложении к видео его нету
Как нету? в самом низу ссылка t.me/ZiGoomul_GoogleApps/48
Сколько не смотрю Ваши видео понять практически ничего не возможно.
Может, программирование это не ваше?
@@ZiGoomul Может быть, но на других каналах более понятно. Но на других каналах нет того что есть у Вас. Не подумайте я не пытаюсь лить негатив на Ваш канал воспринимайте это как обратную связь. Я бы на Вашем месте каждую строку кода закоментировал и тогда бы было на много легче. А вообще, мне нужен минимальный код для отправки в телеграмм. К примеру функция: отправки информации из ячейки "1:А" кому то в телеграмм. Если сможете помочь был бы очень благодарен.
@@makc14_1makc8 При изменении это уже не проблема организовать, либо с помощью ф\зарезервированой системой функции onEdit() либо по тригеру соответствующему.
@@makc14_1makc8 Та же фигня. Но есть два варианта чат-бота.
1й вариант это просто будет отвечать на заготовленные варианы вопросов, это я реализовал с помощью th-cam.com/video/GyqCkUr134o/w-d-xo.html
Но такой чат бот незнаю кому нужет.
2й вариант это отправка инфы из таблицы и это мне пока не вышло.
При выполнении возникает Ошибка
TypeError: Cannot read property 'getSheetByName' of null
timer @ Код.gs:5 с чем это связано?
Не может прочитать имя листа
Спасибо, расскажите как загрузить файл на гуглдиск через собственную HTML форму(гугл скрипт)
Автор, помогите, пожалуйста, написал код, сцепил бота и таблицу через webhook, прописал chatID, при запуске функции Timer, в журнале пишет выполнение начато и завершено, указывая chatID, но сообщение не отправляется, в чем может быть ошибка? Таблицу делал один в один, поэтому данные тянет правильно. Заранее благодарю за ответ.
Невозможно ответить на вопрос, не видя работы скрипта и таблицы. Гадать что не так можно до бесконечности
@@ZiGoomul Как можно решить вопрос с написанием рабочего скрипта с привязкой к таблице и отправки сообщений в телеграм? Напишите, как можно с вами связаться и цену вопроса.
@@cerevcenco t.me/Zigoomul в личку в телеграмм пишите
Есть ли какое-то ограничение? Допустим у меня 1000 клиентов или 10 000? Сколько максимум в день, в час?
есть ограничения по времени работы скриптов в день.
Автор, включите в телеграмме обсуждения, там они отдельно включаются, комментировать там можно будет тоже
Так включено, вроде все
Добрый день, не могу понять какими горячими клавишами вы закомментировали, подскажите, пожалуйста
ctrl+/
@@ZiGoomul спасибо, но почему то не выходит, точечно приходится проставлть. А у вас есть более подробный скрипт? Или сам скрипт в текстовом формате? Или гдже его можно найти, почему то не удалось по скрипту как на видео подвязку к боту сделать(
@@Lyakhovva под видео все ссылки должны быть
@@ZiGoomul Их нет, ни одной
@@Lyakhovva описание откройте. ссылка на скрипты: yt.sv/otpravka_po_vremeni
то есть скрипт отсылает сообщение в чат, в котором есть КЛИЕНТ и БОТ? нужно для каждого клиента создавать чат и добавлять туда бота? так я понял?
Та нет. Клиенты которые запустят у себя бота смогут от него получать сообщения
@@ZiGoomul а поясните плиз, получается у каждого клиента есть свой ID (это и есть ID чата в таблице) верно?
а еще можно вопросик - где будут видны ответы от клиента? куда их бот собирает? можно собирать в гугл таблицу?
@@ExpertInvest2 все верно. Но если вы знаете id пользователя етого ещё не достаточно, для отправки ему сообщения, пользователь должен запустить у себя вашего бота, тем самым подтвердив что хочет получать от бота сообщения
@@ExpertInvest2 чтобы собирать ответы , нужно писать отдельный скрипт
@@ZiGoomul подскажите, пожалуйста, а как сделать чтобы бот отправлял сообщения в группу, а не отдельным людям? если надо сразу группу оповестить
Ссылка на скрипты не работает (
МОЗГ!!!!!!!!!
А как отправить одно сообщение по времени на несколько id (чаты, группы)?
Цикл на отправку, а из перебора ячеек цикл убрать
@@ZiGoomul А когда и цикл перебора тоже нужен? Т.е. цикл так же ищет дату и время для отправки. А получатели сообщений более двух.
@@user-wz4om7sk3m цикл для перебора id и отправки сообщений
@@ZiGoomul а если id чата прописать прямо в коде массивом? тогда как?
@@user-wz4om7sk3m Все равно нужно будет циклом перебирать этот массив и подставлять в функцию отправки.
😳
Может можно как то одним сообщением это все сделать?
одно сообщение одному пользователю. Можете все запросы впихнуть в массив и отправить одним запросом fetchAll(requests)
@@ZiGoomul можно пример как это реализовать
@@user-zh1ni1ps3q цикл в видео описан как сделать, добавить в массив метод push
зачем было городить такой длинный код по формату даты если есть Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'"), где можно самому в параметрах описать, как будет отображаться формат даты.
Отлично что вы это знаете, на момент записи видео я не знал об этом, поэтому исходил из того что знал. Сейчас использую Utilities
Почему .getMonth() + 1?
//Перевод даты рождения в нормальный вид
let date = new Date().toLocaleString('ru', {
day: '2-digit',
month: '2-digit',
year: '2-digit'
});
Я нашел такой способ
@@ufaretail по разному можно, я не за это спрашивал, можно и через утилиты сделать, проще, Utilities.formatDate(new Date(), "GMT+2", 'dd.MM.yyyy')
@@2010Sheb спасибо за информацию
@@2010Sheb у меня другая проблема сейчас опишу
@@2010Sheb при вызове из таблицы
function onEdit(e){
try{
let url = "api.telegram.org/......";
UrlFetchApp.fetch(url);
}catch(error){
Browser.msgBox(error);
}
} вылазиет ошибка -- Exception: Вам не разрешено вызывать пользователя UrlFetchApp.fetch. Необходимые разрешения: www.googleapis.com/auth/script.external_request.
если запускать скрипт из редактора кода google, то все ок, код срабатывает, сообщение боту отпраляется, а если из таблицы вызывать функцию, то ошибка