Найти в Дзене

Кейс: Автоматическая запись задач в Google Таблицу через Telegram-бота, сгенерированного с помощью Vondy

Оглавление

Для автоматизации сбора задач из рабочих чатов был создан простой, но полезный Python-скрипт: при пересылке сообщения в Telegram-бот, его содержимое автоматически записывается в Google Таблицу — на нужный лист и в определённые колонки. Это удобно, когда нужно зафиксировать задачу “на лету” прямо из переписки.

Скрипт был сгенерирован при помощи платформы Vondy с помощью Python Script Generator сценариев автоматизации. Vondy, позволяет создавать код на основе текстового описания задачи. Для этого использовался встроенный Python Script Generator — достаточно было описать, что должен делать скрипт, и через несколько секунд был получен готовый код.

У сервиса есть бесплатный тариф, на котором предоставляется 100 токенов — этого более чем достаточно, чтобы попробовать разные варианты. Генерация одного скрипта заняла всего 5 токенов, и сразу дала рабочую основу.

Скрипт работает локально — его нужно один раз запустить на своём компьютере, и он будет в фоне отслеживать входящие сообщения в Telegram-бота.

Теперь достаточно просто переслать задачу из чата боту — и она автоматически окажется в таблице. Это позволяет не терять задачи и формировать список без ручного копирования.

📌 Ниже будет пошагово разобран весь процесс настройки — от идеи до рабочего решения. Готовый скрипт можно скачать по ссылке, чтобы повторить те же шаги и адаптировать под свои нужды. В коде останется только вставить токен Telegram-бота и путь к вашему файлу авторизации Google API (JSON).

!!! Больше кейсов на канале “AI для продакта”.

Шаг 1. Формулировка задачи и генерация скрипта на Vondy

На первом этапе была сформулирована задача: упростить сбор задач, которые появляются в рабочих Telegram-чатах. Вместо ручного копирования было решено автоматизировать процесс — пересылаем сообщение боту, и оно попадает в таблицу.

Для реализации использовался сервис Vondy, позволяющий генерировать Python-скрипты по описанию задачи. Через Python Script Generator был задан следующий запрос на английском языке:

"Напиши Python-скрипт, который подключается к Telegram-боту и принимает сообщения от пользователя. Каждое сообщение нужно записывать в Google Таблицу по следующему алгоритму:
Таблица находится по адресу: https://docs.google.com/spreadsheets/d/…
Используется лист с названием "Лист 1"
Каждое сообщение пользователя записывается:
в первую пустую строку
в
столбец A ("Задача") — текст сообщения,
в
столбец B ("Дата постановки") — текущая дата в формате ГГГГ-ММ-ДД
Скрипт должен работать локально на компьютере, используя Telegram polling.
Для работы с Google Таблицами — использовать библиотеку gspread.
Бот может быть простым, главное — правильно передавать данные в таблицу."

В ответ был сгенерирован Python-скрипт, использующий библиотеки telebot и gspread, с готовой логикой записи данных в таблицу.

Шаг 2. Подготовка окружения и настройка скрипта

Скрипт был получен вместе с инструкциями по установке и настройке.

-2

Далее по шагам была проведена базовая подготовка рабочего окружения:

1. Создание рабочей папки

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

2. Установка необходимых библиотек

Для корректной работы скрипта потребовалось установить несколько Python-библиотек. Это было сделано через терминал (командную строку) с помощью следующих команд:

pip install pyTelegramBotAPI
pip install gspread
pip install oauth2client

Эти библиотеки обеспечивают работу с Telegram-ботом и Google Таблицами.

3. Подключение Telegram-бота

Был создан отдельный бот через Telegram-бот @BotFather, после чего получен токен доступа. Этот токен был вставлен в скрипт в следующей строке:

TELEGRAM_BOT_TOKEN = 'сюда_вставляется_токен_бота'

После этого бот готов к приёму сообщений и ждёт подключения к таблице.

Шаг 3. Подключение Google Таблицы и настройка доступа

Чтобы скрипт мог автоматически записывать данные в Google Таблицу, потребовалась настройка доступа через Google API. Этот процесс включает несколько шагов:

1. Создание проекта в Google Cloud Console

В
Google Cloud Console был создан отдельный проект. Это необходимо для активации доступа к API-сервисам Google.

2. Включение необходимых API

В рамках проекта были активированы два сервиса:

-3

Google Sheets API — для взаимодействия со структурой и содержимым таблиц,

-4

  • Google Drive API — для доступа к файлу таблицы и управления им.

3. Создание сервисного аккаунта

-5

В разделе "Учётные данные" был создан сервисный аккаунт — специальный технический пользователь, от имени которого скрипт будет обращаться к Google Таблице.

-6

Что настраивается на этом шаге:

1. Ввод имени сервисного аккаунта

Это произвольное имя, например tg-sheet-bot. Оно используется только для отображения внутри Google Cloud Console.

2. Генерация уникального e-mail для сервисного аккаунта

После ввода имени Google автоматически формирует адрес вида:

tg-sheet-bot@имя-проекта.iam.gserviceaccount.com

Этот e-mail понадобится позже — его нужно будет добавить в Google Таблицу, чтобы выдать доступ.

3. Пропуск остальных шагов (права и доступы)

На втором и третьем шагах ("Grant access...") можно ничего не менять и сразу нажимать
Done. Всё, что нужно — будет задано позже вручную.

4. Создание ключа для сервисного аккаунта (JSON-файл)

После создания сервисного аккаунта необходимо было сгенерировать ключ доступа — именно он позволяет скрипту "войти" в Google Таблицу от имени сервисного аккаунта.

-7

Перейдите в режим редактирования сервисного аккаунта.

-8

На скриншоте выше показан этот шаг:

  • Переход на вкладку Keys внутри настроек аккаунта.
  • Нажатие кнопки Add key.
  • Выбор опции Create new key.
  • В открывшемся окне выбирается формат JSON, после чего ключ автоматически скачивается на компьютер.

📁 Этот .json-файл представляет собой личный "пропуск" от Google и содержит всю необходимую информацию для авторизации. Он сохраняется в рабочую папку рядом со скриптом, а его путь указывается в коде.

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

-9

5. Генерация ключа (JSON-файл)

Этот файл был сохранён в рабочую папку рядом со скриптом. Его путь был прописан в коде:

creds = ServiceAccountCredentials.from_json_keyfile_name('название_файла.json', scope)

Шаг 4. Предоставление доступа к таблице и запуск скрипта

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

1. Предоставление доступа к таблице

-10

В открытой Google Таблице, через стандартную кнопку «Поделиться», был добавлен e-mail сервисного аккаунта (тот самый, что начинается с @...iam.gserviceaccount.com).

-11

Ему была назначена роль «Редактор», что позволило боту в дальнейшем дописывать строки в таблицу автоматически.

2. Проверка структуры таблицы

Убедились, что на листе с нужным названием (в данном случае — "Лист 1") присутствуют две колонки:

  • "Задача" — сюда будет записываться текст сообщения из Telegram.
  • "Дата постановки" — сюда скрипт будет проставлять текущую дату и время.

3. Запуск скрипта

Скрипт запускается из терминала обычной командой:

python bot_script.py
-12

При запуске появляется сообщение:

Bot is polling...

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

Шаг 5. Проверка работы скрипта и результат

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

-13

Бот сразу отреагировал, отправив подтверждение:

Your message has been recorded!

Это означает, что скрипт отработал успешно: принял сообщение, обработал его, и записал в таблицу.

📌 В Google Таблице, на листе "Лист 1", появилась новая строка:

  • В колонке "Задача" — текст сообщения, включая имя автора оригинального сообщения,
  • В колонке "Дата постановки" — дата и время, когда сообщение было получено.

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

Выводы

Этот кейс показал, что с помощью платформы Vondy можно быстро и без опыта программирования собрать рабочий Python-скрипт, который решает реальную задачу. Интерфейс сервиса понятен, а полученный код достаточно просто адаптировать под свои данные и условия.

Все шаги — от генерации до запуска скрипта — вполне по силам даже начинающему пользователю. Главное — последовательно следовать инструкции.

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

Как работает скрипт после запуска

Скрипт запускается на локальном компьютере и работает в режиме ожидания. Пока он запущен, Telegram-бот "слушает" входящие сообщения. Как только вы отправляете или пересылаете сообщение боту, оно сразу записывается в таблицу — без участия пользователя.

Важно понимать: чтобы бот принимал сообщения, скрипт должен быть запущен и "висеть" в фоне. То есть, он должен быть активен на протяжении рабочего дня, особенно если задачи пересылаются в течение дня.

Удобство: запускающий файл (bat)

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

Создайте файл с расширением .bat, например:
запуск_бота.bat

Вставь в него строку (если скрипт лежит в папке d:\telegram_google_bot):

@echo off
cd /d d:\telegram_google_bot
python bot_script.py
pause

Теперь достаточно дважды кликнуть по этому файлу — и скрипт сам запустится в нужной папке.

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

Больше кейсов на канале “AI для продакта”.

Google
89,1 тыс интересуются