Этот бот отслеживает новые ответы на Google Forms и отправляет уведомления в Telegram.
# Активируйте виртуальное окружение
source venv/bin/activate
# Установите зависимости
pip install aiogram python-dotenv google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client- Перейдите в Google Cloud Console
- Создайте новый проект или выберите существующий
- Включите Google Forms API
- Создайте учетные данные OAuth 2.0
- Скачайте файл
credentials.jsonи поместите его в корневую папку проекта
- Найдите @BotFather в Telegram
- Создайте нового бота командой
/newbot - Получите токен бота
- Узнайте свой Telegram User ID (можно использовать @userinfobot)
Создайте файл .env в корневой папке проекта:
# Telegram Bot Token
TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
# Google API credentials
GOOGLE_CREDENTIALS_FILE=token.json
# Google Form ID
FORM_ID=your_google_form_id_here
# Your Telegram User ID (where to send notifications)
YOUR_TELEGRAM_ID=your_telegram_user_id_hereКак получить Google Form ID:
- Откройте вашу Google Form
- URL будет выглядеть как:
https://docs.google.com/forms/d/FORM_ID/edit - Скопируйте
FORM_IDиз URL
При первом запуске бот попросит авторизоваться в Google:
python telegram_bot.pyСледуйте инструкциям в браузере для авторизации. После успешной авторизации будет создан файл token.json.
/start- Начать работу с ботом/check- Проверить новые ответы вручную/status- Проверить статус подключения к Google Forms
Бот автоматически проверяет новые ответы каждые 5 минут и отправляет уведомления.
Бот отправляет структурированные уведомления в следующем формате:
🚨 НОВАЯ ЗАЯВКА
==================================================
📅 Дата: 02.09.2025 12:09
🏢 Кабинет: 3101
👤 ФИО: Копаничук Л.В.
📞 Контакт: 89992192358
🔧 Тип проблемы: С принтером
📋 Модель: Xerox B225
📝 Описание: 1. ставлю документ на печать. 2.Печатает странные символы
==================================================
🆔 ID: ACYDBNiM...
Бот автоматически определяет тип проблемы и показывает соответствующие детали в зависимости от выбранного варианта в форме.
ticketsTGbot/
├── telegram_bot.py # Основной файл бота
├── config.py # Конфигурация
├── requirements.txt # Зависимости Python
├── token.json # Google API токен (создается автоматически)
├── credentials.json # Google API учетные данные (нужно скачать)
└── .env # Переменные окружения (создать вручную)
- Убедитесь, что файл
credentials.jsonнаходится в корневой папке - Проверьте, что включен Google Forms API в Google Cloud Console
- Убедитесь, что указаны правильные scopes в коде
- Проверьте правильность FORM_ID
- Убедитесь, что у вас есть доступ к форме
- Проверьте, что форма опубликована
- Проверьте правильность токена бота
- Убедитесь, что бот не заблокирован
- Проверьте правильность YOUR_TELEGRAM_ID
Бот ведет подробные логи всех операций. Логи выводятся в консоль и содержат информацию о:
- Подключении к Google API
- Получении ответов на формы
- Отправке уведомлений
- Ошибках и предупреждениях
- Не публикуйте файлы
credentials.jsonиtoken.json - Добавьте их в
.gitignore - Регулярно обновляйте токены доступа
- Используйте минимально необходимые разрешения API