R50 519a70261649d6945ab5aac1ca93e79b
telegram, парсинг, sql

Разработка Telegram-бота для мониторинга и управления

Добавлено 29 дек 2024 в 07:36
Этот Telegram-бот предназначен для мониторинга и управления. Он интегрируется с Google Sheets для хранения и обновления информации о пользователях и их заказах. Бот использует Selenium для авторизации и парсинга данных с веб-сайта, а также библиотеку gspread для работы с Google Sheets. Вот основные функции и особенности бота:


Основные функции:

  1. Мониторинг :

    • Бот автоматически авторизуется на веб-сайте и парсит данные о доступных.
    • Отправляет уведомления пользователям о новых экскурсиях с кнопкой "Взять".


  2. Управление заказами :

    • Пользователи могут заказать, отменить её или уведомить о выполнении.
    • Администраторы получают уведомления о новых заказах и могут подтверждать их.


  3. Интеграция с Google Таблицами :

    • Бот обновляет Google Sheets с информацией о пользователях и их заказах.
    • Администраторы могут просматривать и управлять данными в Google Sheets.


  4. Команды для пользователей и администраторов :

    • /start: Начало работы с ботом и запуск мониторинга.
    • /info: Получение информации о текущих заказах пользователя.
    • /help: Информация о боте и контактные данные администратора.
    • /broadcast: Рассылка сообщений всем пользователям (только для администраторов).
    • /table: Ссылка на таблицу Google Sheets (только для администраторов).
    • /statistics: Статистика бота (только для администраторов).
    • /userstats: Статистика заказов пользователя.
    • /file: Отправка ссылок на документы и файлы.
    • /monitor: Ручной запуск мониторинга (только для администраторов).


Технические детали:

  • Авторизация и парсинг :

    • Используется Selenium для авторизации на веб-сайте и парсинга данных.
    • Поддерживаются две локации с разными учетными данными.


  • Google Таблицы :

    • Используется библиотека gspread для авторизации и работы с Google Sheets.
    • Данные о пользователях и их заказах хранятся в Google Sheets.


  • Авторизоваться :

    • Логирование действий и ошибок для отладки и мониторинга работы бота.


  • Асинхронность :

    • Используется asyncio для асинхронного выполнения задач, таких как отправка сообщений и мониторинг.


  • Планировщик :

    • Используется библиотека schedule для планирования регулярного мониторинга каждые 31 минуту.


Пример использования:

  1. Пользователь :

    • Начинает работу с ботом командой /start.
    • Получает уведомления.
    • Может отменить заказ или уведомить о выполнении.
    • Может просмотреть свои текущие заказы командой /info.


  2. Администратор :

    • Получает уведомления о новых заказах и может подтверждать их.
    • Может рассылать сообщения всем пользователям командой /broadcast.
    • Может просматривать таблицу Google Sheets командой /table.
    • Может получить статистику бота командой /statistics.
    • Может запустить мониторинг командой /monitor.


Этот бот предоставляет удобный интерфейс для управления и взаимодействия с пользователями, обеспечивая автоматизацию многих рутинных задач.
Ae9c0681c3