Телеграм бот для заполнения Гугл таблиц

Мастер-класс по настройке онлайн-коннектора приложений, который позволит ускорить рутинные операции и лучше контролировать вашу рекламу.

Собираем данные из рекламных систем в Telegram или Google Sheets

Маркетологи активно используют различные рекламные системы, сбор данных из которых может превратиться в настоящую головную боль. К счастью, существуют простые методы автоматизации, позволяющие избавиться от рутинных задач.

Представьте, сколько времени освободится, если автоматизировать сбор статистики из разных источников, составление прогнозов основных показателей и отслеживание текущего баланса. На самом деле очень просто сделать так, чтобы все детали ваших рекламных кампаний сами «прилетали» к вам, собираясь в одном удобном для вас месте. Например, в Telegram или Google Sheets.

Вместо того чтобы тратить время на посещение всех используемых вами рекламных систем по отдельности, рискуя при этом допустить ошибку, достаточно один раз настроить автоматизацию этого процесса. И для этого не нужно обладать никакими специальными знаниями или прибегать к услугам программистов. Всё что потребуется — воспользоваться сервисом ApiX-Drive. Это онлайн-коннектор приложений, созданный специально для того, чтобы объединять разнообразные системы и сервисы, в результате чего они получают возможность обмениваться данными.

Телеграм-Бот через Google-таблицы (без кода)

Что вы получите, автоматизировав передачу данных из рекламных систем

Прежде всего, упрощается составление статистики и отчётов — все данные собираются в одном, удобном для вас месте, вроде Гугл Таблиц, где вы сможете заняться их дальнейшей обработкой и анализом. Настройка автоматизации достаточно гибкая и подгружать можно самые разные данные: как текущие показатели, так и прогнозные, в том числе и по расходам.

Можно настроить передачу данных в удобном для вас формате, выбирая только нужные показатели, например, в разрезе кампаний, групп или объявлений. Система ApiX-Drive отличается достаточной гибкостью и позволяет не только передавать данные, но и обрабатывать их, например, переводя в требуемую валюту по актуальному курсу или округляя их.

Пример сбора сводной статистики по источникам в Google Sheets А отправка текущего баланса, например, в Телеграм, означает, что вы всегда будете держать руку на пульсе ваших рекламных кампаний. И ситуация, когда одна из них остановилась по причине того, что вы просто забыли пополнить счёт, исключается по определению. Получение информации о текущем балансе в Telegram

Передаём данные из Google Ads в Telegram

Давайте рассмотрим пример настройки автоматизации на одном из множества возможных примеров — обеспечим передачу данных из Google Ads в Telegram. Для начала нужно зайти в личный кабинет в ApiX-Drive и создать связь, нажав на соответствующую кнопку.

Google Таблицы в телеграм боте | Интеграция Google Sheets с телеграм ботом


Затем указываем Google Ads в качестве системы-источника.
После чего выбираем требуемое действие. Если выбрать «Загрузить статистику по аккаунту (по дням)», то будет выгружаться общая статистика, разбитая по дням. Выбор же «Загрузить статистику по аккаунту (линейный прогноз)» означает, что вы будете получать общую статистику по выбранному аккаунту, причём кроме текущих показателей будут подгружаться также и прогнозные данные на месяц.


Потребуется подключить необходимый аккаунт, предоставив системе все разрешения для работы с ним.
После того как вы подключите Google Ads и выберете требуемый аккаунт, нужно будет указать период выборки, по которой и будет происходить загрузка данных. Затем система предложит настроить фильтры, благодаря которым появляется возможность сортировать данные. При настройке связи эту процедуру можно пропустить, вернувшись к ней позднее. Под конец настройки источника система покажет вам, какие именно показатели будут подгружаться.

Это последний пункт в деле настройки источника. Теперь можно переходить к настройке приёмника, которая выполняется сходным образом.
Сначала выбираем систему. В нашем случае — Телеграм. Технически процедура подключения приёмника мало чем отличается от подключения источника. Выбираем систему, подключаем аккаунт и задаём требуемое действие (в нашем случае — отправка уведомлений). Если всё было настроена правильно, то под конец система покажет нам, какие именно данные будут отправляться в сообщении.

Мы описали процедуру подключения двух систем очень кратко, рассказав лишь об основных моментах, с целью показать, насколько всё просто. Но на самом деле у пользователей ApiX-Drive есть множество дополнительных настроек, значительно расширяющих их возможности. Например, хотя источник один, приёмников может быть несколько.

Еще по теме:  В Телеграм под посто добавить кнопки

Так, вы сможете передавать все необходимые данные не только в Telegram, но и в другие системы, вроде тех же Google Sheets. При этом все передаваемые данные можно пересчитывать буквально на лету, используя форматирование и пересчёт при помощи математических операций. Добавление функции конвертации валюты в уже готовую связь на основе актуального курса Описать все возможности ApiX-Drive не позволяет формат статьи, но вы всегда сможете найти всю необходимую информацию в подробной справке.

Заключение

Подводя итог, можем вас заверить, что один раз настроив интеграцию двух систем и убедившись в том, насколько это удобно, просто и полезно, вы уже не захотите работать традиционными способами. Тем более что ApiX-Drive позволяет связывать между собой самые различные системы, число которых постоянно увеличивается. Обязательно протестируйте возможности коннектора и вы сами сможете убедиться, насколько это полезный инструмент. Всем новым пользователям доступен бесплатный тестовый период, позволяющий оценить все возможности системы. Регистрируйтесь прямо сейчас!

Партнёрская публикация

Источник: www.cossa.ru

Connect Google Sheets + Telegram Bot

Google Sheets Telegram Bot

Integrate Google Sheets and Telegram Bot easy, secure and without limits

Create no-code integration, just in few minutes using visual editor

You can easy start integrate Google Sheets and Telegram Bot right now for free

Google Sheets + Telegram Bot integrations requests

If you don’t found in Onlizer required solution for Google Sheets with Telegram Bot integration, please suggest your integration request or vote for reliable suggestions below. We’ll reach you via email to discuss timing of implementation.

Build your Google Sheets with Telegram Bot integration, no code required

About Google Sheets

Google Sheets is a web-based spreadsheet application that enables users to analyze data easily. Similar to MS Excel, it is capable of storing, calculating, and formatting data. Google Sheets also allows people from different locations to work on a spreadsheet simultaneously in real-time.

About Telegram Bot

Telegram Bots create interactive communication with your leads and customers in Telegram messenger. Telegram Bot API integration allows you to build bots with the visual no-code builder, automate orders, and forms submission, connect data from multiple services.

Еще по теме:  Как бесплатно зайти в приватный канал Телеграмм бесплатно

Useful articles about Google Sheets and Telegram Bot integration

How to: Connect Google Spreadsheets with Onlizer

Google Sheets is an spreadsheets service from Google available on all your devices and has all the features you come to expect from spreadsheet software. Sheets also allows you to collaborate with others in real time, share and gather valuable information, calculate metrics and solve other tasks. This «How-to» article describing how to connect Google Sheets account with Onlizer to write and read online tables (spreadsheets) and use other service features.

Источник: onlizer.com

Гугл таблица как бд для телеграм бота

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

Попробуем с нуля написать бота, который забирает вопросы квиза с вариантами ответов из таблицы и записывает ответы назад.

Ниже представлен скрин из чата с ботом.

Дисклеймер: если вы здесь в первый раз, пожалуйста ознакомьтесь с первым постом, где более детально разобраны скрипты в гугл таблицах (тыц).

Начнем с создания контейнера и написания скрипта в нем. Создаем новый Spreadsheet.

В качестве забираемых значений укажу 4 вопроса на листе Questions.

И варианты ответов для каждого вопроса на листе Answers. Данные из двух таблиц связаны по ИД – первая колонка.

В таблицу Users буду вносить ответы от пользователей, но об этом позже.

Переходим к скрипту. Укажу в качестве глобальных переменных следующие значения:

const doc = SpreadsheetApp.getActive(); const questionsSheet = doc.getSheetByName(«Questions»); const answersSheet = doc.getSheetByName(«Answers»); const usersSheet = doc.getSheetByName(«Users»);

Так как скрипт мы разворачиваем в том же документе (контейнере), то нам достаточно использовать метод getActive(). Если вы ссылаетесь на другой Spreadsheet, то можно на него сослаться методами .openByUrl() или .openById().

Каждый лист я записываю в отдельные переменные, чтобы было удобно обращаться к листам из любого места скрипта.

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

function sendQuestions()

Запустить функцию можно из меню, выбрав имя функции и кликнув Run

Меню

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

Логер

Разберем строку в функции по частям.

const questionsArr = questionsSheet.getRange(1,1,questionsSheet.getLastRow(), questionsSheet.getLastColumn()).getValues()

Здесь мы объявляем переменную для записи в нее возвращаемого массива. Далее указываем лист, из которого будем забирать значения questionsSheet. Для листа выбираем метод .getRange() и указываем ячейки, к которым функция должна обратиться.

Перевожу написанное в скобках метода getRange на понятный язык:

getRange(номер строки начала диапазона , номер столбца начала диапазона , номер строки конца диапазона , номер столбца конца диапазона)

Методами листа .getLastRow() и .getLastColumn() получаем номер последней строки и столбца, которые будут равны 4 и 2 соответственно. При этом методы возвращают последние столбец и строку, в которых указано значение (ячейка не пуста) или есть валидация.

Границы заданного диапазона

В то же время можно указать в скобках questionsSheet.getRange(«A1:B4»).

Возвращаемся к функции и к методу диапазона .getValues(). Здесь обратим внимание на то, что существует также метод .getValue(), применять который следует, если мы обращаемся к одной ячейке, например questionsSheet.getRange(3,4) или questionsSheet.getRange(«D3»).

getValues() при этом возвращает двумерный массив, а getValue() — значение.

*Попробуйте обратиться к разным диапазонам с использованием разного синтаксиса и понаблюдайте за возвращаемыми значениями. После нескольких попыток обращение к диапазонам станет интуитивным.

Итак, функция вернула двумерный массив, соответственно мы можем продолжить работу с массивом и его методами.

Еще по теме:  Красивое оформление текста в преимум Телеграм

По задумке бот отправляет все вопросы одновременно с кнопками. Сначала попробуем просто отправить вопросы без вариантов ответов.

Обратимся к функции send().

function send(msg, chat_id) < const payload = < ‘method’: ‘sendMessage’, ‘chat_id’: String(chat_id), ‘text’: msg, ‘parse_mode’: ‘HTML’ >const data = < ‘method’: ‘post’, ‘payload’: payload, ‘muteHttpExceptions’: true >UrlFetchApp.fetch(‘https://api.telegram.org/bot’ + token + ‘/’, data); >

В функцию мы передаем текст отправляемого ботом сообщения и ид чата, в который это сообщение будет отправлено. Внутри функции объявляем объект payload и указываем передаваемые параметры. Я использую только необходимые в рамках задачи параметры (method, chat_id, text, parse_mode), но их может быть и больше (ссылка на апи телеграмма для метода sendMessage).

В переменную data передаем payload (передаваемые параметры для метода апи «post») и указываем сам метод post.

В строке UrlFetchApp мы обращаемся к АПИ телеги по ссылке (таким же образом можно обратиться к любому другому доступному АПИ). В этой же строке мы передаем значение переменной token и data. Про token чуть позже.

Вернемся к функции sendQuestions() и вызовем из нее send() для каждого элемента массива questionsArr.

Чтобы обратиться к каждому элементу можно воспользоваться циклами типа for или while. Но я предпочитаю использовать методы массивов и стрелочные функции, которые умещаются в одну строку.

Таким образом, вместо конструкции

for (let i=0; i

я могу написать

questionsArr.forEach(e => send(e[1],chat_id))

Итак, в качестве текста сообщения я забираю из вложенного массива элемент на позиции [1] (на позиции 0 указан ид вопроса).

Нам не достает только чат ид, который я укажу в качестве аргумента функции sendQuestions() и получу следующее:

function sendQuestions(chat_id) < const questionsArr = questionsSheet.getRange(1,1,questionsSheet.getLastRow(), questionsSheet.getLastColumn()).getValues(); Logger.log(questionsArr); questionsArr.forEach(e =>send(e[1],chat_id)); >

Наконец, функцию sendQuestions(chat_id) мы вызовем, когда пользователь запустит бота по команде /start. Пропишем эту логику.

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

function doPost(e) < const update = JSON.parse(e.postData.contents); let msgData = <>if (update.hasOwnProperty(‘message’)) < msgData = < id : update.message.message_id, chat_id : update.message.chat.id, user_name : update.message.from.username, text : update.message.text, is_msg : true >; > >

Результатом функции является объект msgData с ключами id, chat_id, user_name, text, is_msg. Возвращаемые ключи вы можете определить сами, для простоты я указала только те, которые нужны для задачи.

Здесь же я передам в функцию отправки вопросов значение ключа chat_id.

function doPost(e) < const update = JSON.parse(e.postData.contents); let msgData = <>if (update.hasOwnProperty(‘message’)) < msgData = < id : update.message.message_id, chat_id : update.message.chat.id, user_name : update.message.from.username, first_name : update.message.from.first_name, text : update.message.text, date : update.message.date/86400+25569.125, is_msg : true >; > sendQuestions(msgData.chat_id); >

Как создать бота и получить токен уже описывалось здесь. Берем этот токен и записываем в глобальную переменную token. Далее деплоим приложение (смотреть ссылку выше) и записываем URL веб приложения в переменную appLink.

И наконец функция api_connector() для установки веб хука.

Запускаем эту функцию по кнопке Run.

После успешной установки вебхука запускаем бота в телеграме. В ответ получаем вопросы

Продолжение следует…

Здесь я пожалуй прервусь, т.к. не хочу писать методичку для лабы. Попробуйте решить эту маленькую задачку, поиграйте с методами для указания диапазонов и методами массивов.

Как всегда, рада обратной связи, дайте знать, если пишу слишком сложно неразборчиво без деталей..

Все вопросы по реализации можете адресовать напрямую в мой телеграм.

Продолжение постараюсь подготовить в разумные сроки и показать, как массивы с ответами на вопросы превратить в кнопки. Будет интересно!

Источник: savepearlharbor.com

Рейтинг
( Пока оценок нет )
Загрузка ...