59

Создание библиотеки в гугл скриптах

В Гугл скриптах, как и в других языках программирования, есть возможность использовать библиотеки.

Что такое библиотека? Это набор функций и методов, которые часто используются программистами в разных программах. Чтобы не создавать одну и ту же функцию дважды или больше раз, достаточно один раз сохранить ее в библиотеку и подключать библиотеку к новому коду с уже написанными стандартными функциями.


Го к примерам.

В посте про создание телеграм бота мы использовали только три функции, и эти функции стандартные для любого бота. Следовательно, чтобы при создании второго, третьего… десятого бота не переписывать эти функции снова и снова, давайте просто сохраним их в библиотеку.


Создаем новые ГТ и скрипт в ней

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Пропишем функцию send(msg, chat_id) :


function send (msg, chat_id, api) {

//Отправляет сообщения в тлг. На вход функции дать сообщение и ID чата, в который нужно провести отправку

var payload = {

'method': 'sendMessage',

'chat_id': String(chat_id),

'text': msg,

'parse_mode': 'HTML'

}

var data = {

"method": "post",

"payload": payload

}

UrlFetchApp.fetch('https://api.telegram.org/bot' + api + '/', data);

}


Сохраняем проект и делаем деплой

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Кликаем по шестеренке и выбираем Library

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Кликаем Deploy внизу окна и видим ссылку на библиотеку

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Из всей ссылки нам нужен только id, который зашит между /d/ и /4 (согласно скрину выше) - 1iJ_IOEicfGzTlfbhDkcKIcBBEbh9UJ8WLf1FRQZ1Wu_Wnoqw6OBtITjZ. Копируем свой ид и идем дальше.


Создаем новые гугл таблицу и скрипт. В скрипте прописываем глобальные переменные

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Помним, что значения этих переменных у вас будут свои.


Попробуем добавить тот же функционал, что и в посте про создание бота, с отправкой сообщения в чат телеграма. Но в этот раз мы не будем создавать функцию send(), а подключим библиотеку, в которой она уже есть.


Добавляем библиотеку

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

В открывшемся окне вставляем ID библиотеки (не ссылку, а ид) и кликаем Look up

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Если подключение библиотеки прошло успешно, в окне появятся дополнительные поля выбора версии и указания идентификатора.


Название идентификатора меняем на короткое и понятное и кликаем Add.

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

В результате в списке библиотек видим новую библиотеку

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Напоминаю, что в библиотеке у нас 1 функция. К ней можно обратиться следующим образом: имяБиблиотеки.имяФункции

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Когда вы прописываете имя библиотеки и ставите точку, вы видите список всех доступных функций. В нашем случае это только функция send. Выбираем ее и прописываем передаваемые параметры:

Demo.send("Hello World", chat_id, API_TOKEN)

Сохраняем проект, кликаем Deploy, обновляем Api_link, выполняем функцию api_connector и идем тестить работу этого бота (этот алгоритм действий также подробнее описан в статье про создания бота).

Новый бот отправляет сообщение в чат с помощью функции, которая зашита в библиотеке.

Создание библиотеки в гугл скриптах Telegram, Bots, Бот, Telegram бот, Google Таблицы, Библиотека, Длиннопост

Таким образом, в ту же библиотеку можно добавить ряд стандартных функций и к новым скриптам подключать уже написанные функции, не создавая их снова.

MS, Libreoffice & Google docs

621 пост14.2K подписчика

Добавить пост

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

Подробнее