Этот Telegram-бот предназначен для мониторинга и управления. Он интегрируется с Google Sheets для хранения и обновления информации о пользователях и их заказах. Бот использует Selenium для авторизации и парсинга данных с веб-сайта, а также библиотеку gspread для работы с Google Sheets. Вот основные функции и особенности бота:
Основные функции:
Мониторинг :
- Бот автоматически авторизуется на веб-сайте и парсит данные о доступных.
- Отправляет уведомления пользователям о новых экскурсиях с кнопкой "Взять".
Управление заказами :
- Пользователи могут заказать, отменить её или уведомить о выполнении.
- Администраторы получают уведомления о новых заказах и могут подтверждать их.
Интеграция с Google Таблицами :
- Бот обновляет Google Sheets с информацией о пользователях и их заказах.
- Администраторы могут просматривать и управлять данными в Google Sheets.
Команды для пользователей и администраторов :
- /start: Начало работы с ботом и запуск мониторинга.
- /info: Получение информации о текущих заказах пользователя.
- /help: Информация о боте и контактные данные администратора.
- /broadcast: Рассылка сообщений всем пользователям (только для администраторов).
- /table: Ссылка на таблицу Google Sheets (только для администраторов).
- /statistics: Статистика бота (только для администраторов).
- /userstats: Статистика заказов пользователя.
- /file: Отправка ссылок на документы и файлы.
- /monitor: Ручной запуск мониторинга (только для администраторов).
Технические детали:
Авторизация и парсинг :
- Используется Selenium для авторизации на веб-сайте и парсинга данных.
- Поддерживаются две локации с разными учетными данными.
Google Таблицы :
- Используется библиотека gspread для авторизации и работы с Google Sheets.
- Данные о пользователях и их заказах хранятся в Google Sheets.
Авторизоваться :
- Логирование действий и ошибок для отладки и мониторинга работы бота.
Асинхронность :
- Используется asyncio для асинхронного выполнения задач, таких как отправка сообщений и мониторинг.
Планировщик :
- Используется библиотека schedule для планирования регулярного мониторинга каждые 31 минуту.
Пример использования:
Пользователь :
- Начинает работу с ботом командой /start.
- Получает уведомления.
- Может отменить заказ или уведомить о выполнении.
- Может просмотреть свои текущие заказы командой /info.
Администратор :
- Получает уведомления о новых заказах и может подтверждать их.
- Может рассылать сообщения всем пользователям командой /broadcast.
- Может просматривать таблицу Google Sheets командой /table.
- Может получить статистику бота командой /statistics.
- Может запустить мониторинг командой /monitor.
Этот бот предоставляет удобный интерфейс для управления и взаимодействия с пользователями, обеспечивая автоматизацию многих рутинных задач.