Интеграция Telegram и Google Таблиц: бот записывает сообщения в таблицу

Интеграция Telegram и Google Таблиц в nana800 собирается из двух блоков: триггер ловит сообщения вашему боту, а блок Google Таблиц добавляет по строке на каждое сообщение. В строку можно положить текст, имя и username отправителя, ID чата, дату и ссылку на присланный файл. Нужны токен бота от @BotFather и доступ к таблице, код и свой сервер не нужны.

Собрать в конструкторе

Что можно автоматизировать

  • Собирать заявки через бота: клиент пишет, а его имя, username, текст и дата ложатся отдельной строкой
  • Принимать от сотрудников отчёты, чеки и фото: ссылка на присланный файл до 20 МБ попадает в колонку таблицы
  • Сохранять посты канала, где бот администратор, в таблицу-архив с датой и текстом
  • Считать ответы на кнопки под сообщением бота: нажатие тоже запускает схему, а данные кнопки записываются в строку
  • Находить клиента по username и обновлять его строку вместо того, чтобы добавлять новую

Как настроить

  1. 1

    Создайте бота и подготовьте таблицу

    Напишите @BotFather команду /newbot и скопируйте токен бота. В первую строку листа впишите названия колонок, например дата, имя, username, сообщение. Блок раскладывает данные по этим названиям, а в пустой лист запишет их сам.

  2. 2

    Добавьте триггер сообщений боту

    Создайте схему в конструкторе и поставьте триггер «Telegram message from user to bot». Вставьте токен и выберите, что запускает схему: только сообщения (message), сообщения и нажатия кнопок или посты в канале.

  3. 3

    Дайте блоку доступ к таблице

    Добавьте блок «google sheet record». Способ OAUTH: нажмите кнопку подключения и войдите в Google аккаунт с доступом к таблице. Способ SERVICE_ACCOUNT: вставьте email и приватный ключ служебного аккаунта Google и дайте этому email права редактора в таблице.

  4. 4

    Сопоставьте колонки и поля сообщения

    В «ID таблицы» вставьте адрес таблицы целиком, «Номер листа» оставьте 0 для первого листа. Выберите операцию append_row и в «Данных строки» слева пишите название колонки, справа подставляйте поле из триггера: date, имя и username из from, текст из message, chat_id.

  5. 5

    Включите схему и напишите боту

    Триггер принимает сообщения только во включённой схеме. Включите её, напишите боту и откройте таблицу: внизу появится новая строка. Если строки нет, откройте результат блока, подсказка от Google будет в error_message. Включённая схема стоит 0,42 ₽ в час.

  6. 6

    Ответьте человеку

    Добавьте после записи блок «Telegram message send» с тем же токеном и chat_id из триггера и напишите, например, «Заявка принята». Так клиент видит, что сообщение дошло.

Сколько стоит

Запуск блоков Telegram стоит 0,10 ₽, блоков Google Таблицы - 0,10 ₽. Каждый месяц баланс бесплатно пополняется до 350 ₽, включённая схема стоит 0,42 ₽ в час.

Сервисы в связке

  • Telegram

    Соберите Telegram-бота без кода: ответы на сообщения, кнопки, заявки и уведомления в личку, группу или канал. Бесплатный баланс каждый месяц, карта не нужна.

  • Google Таблицы

    Записывайте заявки и заказы в Google Таблицы без кода: новые строки, поиск, чтение и обновление по номеру строки. Бесплатный баланс каждый месяц, карта не нужна.

Частые вопросы

Каждое сообщение - это два запуска базового блока: триггер и запись строки, по 100 ₽ за 1 000 запусков каждого. Включённая схема стоит 0,42 ₽ в час. Баланс каждый месяц бесплатно пополняется до 350 ₽: это 3 500 запусков базовых блоков, если не считать часы работы схемы. Если схема включена круглосуточно, большая часть суммы уходит именно на часы.

Проверьте, что схема включена и в триггере выбраны нужные события. Если этот бот подключён к другому сервису, который тоже забирает его сообщения, триггер их не получит: заведите для nana800 отдельного бота. Если сообщения доходят, а строк нет, смотрите error_message блока таблицы: частые причины - таблица не открыта для служебного аккаунта или в Google Cloud не включён Google Sheets API.

Да. Фото, видео, голосовые и документы до 20 МБ копируются в хранилище nana800, ссылки на них лежат в image_urls, video_urls, audio_urls и document_urls. Подставьте ссылку в колонку таблицы. У файлов больше 20 МБ ссылки нет: Telegram не отдаёт такие файлы ботам.

Сначала найдите строку операцией find_rows, например по username. Поставьте блок «condition»: если строка нашлась, обновите её операцией update_row по номеру из row_number, если нет - добавьте новую через append_row. Блок «condition» бесплатный.

Да. Триггер ловит сообщения боту в личке и в группе, куда он добавлен, а также посты в каналах, где бот администратор. Нужный вариант выберите в поле «Какие события запускают схему». Учтите правило Telegram: в группе бот по умолчанию получает только команды и ответы на свои сообщения. Чтобы он видел всю переписку, отключите у @BotFather режим приватности командой /setprivacy или сделайте бота администратором группы.

Нет. Оба блока настраиваются полями в браузере: токен бота, адрес таблицы, названия колонок и поля сообщения. Свой сервер тоже не нужен: nana800 сам забирает сообщения бота по токену.

Соберите первую схему бесплатно

Регистрация бесплатная, карта не нужна. Каждый месяц баланс бесплатно пополняется до 350 ₽, этого хватает примерно на 3 500 запусков простых блоков.

Собрать в конструкторе