Для автоматизации сбора задач из рабочих чатов был создан простой, но полезный 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. Подготовка окружения и настройка скрипта
Скрипт был получен вместе с инструкциями по установке и настройке.
Далее по шагам была проведена базовая подготовка рабочего окружения:
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
В рамках проекта были активированы два сервиса:
Google Sheets API — для взаимодействия со структурой и содержимым таблиц,
- Google Drive API — для доступа к файлу таблицы и управления им.
3. Создание сервисного аккаунта
В разделе "Учётные данные" был создан сервисный аккаунт — специальный технический пользователь, от имени которого скрипт будет обращаться к Google Таблице.
Что настраивается на этом шаге:
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 Таблицу от имени сервисного аккаунта.
Перейдите в режим редактирования сервисного аккаунта.
На скриншоте выше показан этот шаг:
- Переход на вкладку Keys внутри настроек аккаунта.
- Нажатие кнопки Add key.
- Выбор опции Create new key.
- В открывшемся окне выбирается формат JSON, после чего ключ автоматически скачивается на компьютер.
📁 Этот .json-файл представляет собой личный "пропуск" от Google и содержит всю необходимую информацию для авторизации. Он сохраняется в рабочую папку рядом со скриптом, а его путь указывается в коде.
Важно: файл содержит чувствительные данные и не должен публиковаться или передаваться третьим лицам.
5. Генерация ключа (JSON-файл)
Этот файл был сохранён в рабочую папку рядом со скриптом. Его путь был прописан в коде:
creds = ServiceAccountCredentials.from_json_keyfile_name('название_файла.json', scope)
Шаг 4. Предоставление доступа к таблице и запуск скрипта
Чтобы скрипт смог действительно вносить данные в нужную Google Таблицу, сервисному аккаунту необходимо было дать права на редактирование. Без этого он не сможет ничего записывать, даже если у него есть ключ.
1. Предоставление доступа к таблице
В открытой Google Таблице, через стандартную кнопку «Поделиться», был добавлен e-mail сервисного аккаунта (тот самый, что начинается с @...iam.gserviceaccount.com).
Ему была назначена роль «Редактор», что позволило боту в дальнейшем дописывать строки в таблицу автоматически.
2. Проверка структуры таблицы
Убедились, что на листе с нужным названием (в данном случае — "Лист 1") присутствуют две колонки:
- "Задача" — сюда будет записываться текст сообщения из Telegram.
- "Дата постановки" — сюда скрипт будет проставлять текущую дату и время.
3. Запуск скрипта
Скрипт запускается из терминала обычной командой:
python bot_script.py
При запуске появляется сообщение:
Bot is polling...
Это означает, что бот работает и готов принимать сообщения. С этого момента любое сообщение, пересланное в Telegram-бота, автоматически попадает в таблицу — без ручного копирования и открытия файлов.
Шаг 5. Проверка работы скрипта и результат
После запуска скрипта была проведена простая проверка — в Telegram-бот было переслано сообщение из рабочего чата. Сообщение содержало ссылку и комментарий, аналогично тем, что обычно фиксируются как задачи в процессе работы.
Бот сразу отреагировал, отправив подтверждение:
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
Теперь достаточно дважды кликнуть по этому файлу — и скрипт сам запустится в нужной папке.
Такой подход позволяет не держать открытую командную строку, не искать скрипт вручную, и быстро запускать бота в начале дня или при необходимости.