Search
Write a publication
Pull to refresh

FunPay Cortex: Создаем Telegram-бота на Python для полной автоматизации бизнеса на FunPay

Level of difficultyEasy

Привет, Хабр! Я хочу поделиться своим опенсорс-проектом, который вырос из личной потребности в автоматизации и превратился в мощный инструмент для всех продавцов на площадке FunPay. Речь пойдет о FunPay Cortex — Telegram-боте на Python, который берет на себя всю рутину.

Если вы когда-либо торговали на FunPay или подобных площадках, то знаете, сколько времени уходит на однотипные действия: ответы на сообщения, выдача товара, поднятие лотов в поиске, постоянная проверка статуса онлайн. В какой-то момент я понял, что хочу заниматься развитием, а не рутиной. Так и родился этот проект.

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

🚩 Проблема: Ручной труд убивает время и мотивацию

Стандартный день продавца на FunPay выглядит примерно так:

  1. Получить заказ. Уведомления приходят, но нужно быстро реагировать.

  2. Выдать товар. Скопировать ключ, логин/пароль или инструкцию из файла и отправить покупателю.

  3. Ответить на вопросы. Постоянные "тут?", "в наличии?", "как купить?".

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

  5. Ответить на отзывы. Благодарить за хорошие, обрабатывать негатив.

  6. Быть "онлайн". Постоянно держать вкладку открытой, чтобы не терять клиентов.

Всё это отнимает колоссальное количество времени. Cortex был создан, чтобы решить эти проблемы.

🧠 Архитектура: Модульный подход

Я с самого начала решил делать проект расширяемым и модульным, чтобы не превращать его в монолитного монстра. В итоге архитектура выглядит так:

  1. FunPayAPI — Сердце проекта. Это полностью независимая библиотека для взаимодействия с FunPay. Она не содержит никакой бизнес-логики бота, а лишь предоставляет удобный Python-интерфейс для работы с сайтом. Написана с использованием requests и BeautifulSoup, она парсит HTML, отправляет запросы и обрабатывает ответы. Её можно использовать в любом другом проекте.

  2. Cortex Core — Мозг. Это ядро, которое связывает все компоненты. Оно использует FunPayAPI для получения событий (новые сообщения, заказы) с помощью runner.listen() и запускает соответствующие обработчики. Ядро также управляет состоянием, конфигурацией и плагинами.

  3. Telegram-бот — Пульт управления. Зачем писать GUI или веб-интерфейс, когда есть Telegram? Весь бот полностью управляется через интуитивно понятное меню с кнопками. Можно редактировать автоответы, загружать товары для автовыдачи, смотреть статистику, управлять пользователями — и всё это с телефона.

  4. Плагины — Бесконечная расширяемость. Самая мощная часть. Любой разработчик может написать свой .py файл, добавить в него несколько обязательных полей (имя, версия, UUID) и привязать свои функции к событиям Cortex. Это позволяет создавать кастомные уведомления, интегрироваться с другими сервисами или реализовывать уникальную логику выдачи.

✨ Ключевые возможности

FunPay Cortex — это не просто скрипт, а полноценный фреймворк для автоматизации.

🤖 Автоматизация "из коробки"

  • Автовыдача: Свяжите лот с текстовым файлом, где каждый товар — на новой строке. Cortex сам выдаст товар после оплаты и опционально деактивирует лот, если товары закончились. Поддерживается и мультивыдача (если покупатель купил сразу несколько штук).

  • Автоответчик: Настройте ответы на ключевые слова или фразы. Например, на "!кошельки" бот отправит ваши реквизиты. Все команды и ответы редактируются через Telegram.

  • Автоподнятие лотов: Cortex умеет поднимать лоты по расписанию, обходя внутренние ограничения FunPay, чтобы вы всегда были в топе. Он сам рассчитывает оптимальное время для следующего поднятия.

  • Автоматические ответы на отзывы: Настройте шаблоны ответов для оценок от 1 до 5 звезд.

  • "Вечный онлайн": Бот постоянно опрашивает FunPay, поддерживая для вашего аккаунта статус "онлайн".

📲 Удобное управление через Telegram

  • Интерактивное меню: Забудьте о редактировании .cfg файлов вручную. Все настройки — от текстов приветствий до переключателей глобальных функций — доступны в виде кнопок.

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

  • Управление пользователями: Система ролей "Администратор" и "Менеджер". Вы можете дать ограниченный доступ к боту своим помощникам, настроив для них права.

  • Загрузка и выгрузка: Загружайте конфиги, файлы товаров и плагины прямо в чат с ботом.

🔧 Для разработчиков и энтузиастов

  • Открытый исходный код (MIT): Весь проект доступен на GitHub. Вы можете его изучать, форкать и дорабатывать.

  • Мощный FunPayAPI: Используйте библиотеку отдельно для своих скриптов и исследований.

  • Система плагинов: Легко расширяйте функционал. Хотите отправлять уведомления в Discord или вести статистику в Google Sheets? Просто напишите плагин!

  • Надёжность: Предусмотрено развертывание в виде systemd-сервиса на Linux, подробное логирование и обработка большинства исключений.

  • Прокси и многоязычность: Поддержка прокси и локализация интерфейса на RU, EN, UK.

🚀 Как начать?

Установка проста и подробно описана в README.md для Windows, Linux и даже Android (Termux). Если коротко:

  1. Установить Python 3.11+.

  2. Скачать репозиторий.

  3. Установить зависимости: pip install -r requirements.txt.

  4. Запустить python main.py.

При первом запуске бот проведет интерактивную настройку в консоли, где попросит golden_key от FunPay и токен Telegram-бота. Вся остальная магия происходит уже в Telegram.

📈 Что дальше?

Проект активно развивается. В планах — улучшение аналитики продаж, расширение API для плагинов и добавление новых "умных" функций.

Я буду рад любому фидбэку, звёздам на GitHub, а также вашим пулл-реквестам и плагинам. Присоединяйтесь к нашему сообществу в Telegram, чтобы обсудить проект, поделиться идеями или получить помощь.

FunPay Cortex — это мой вклад в сообщество, попытка сделать жизнь продавцов немного проще и дать им инструмент для роста. Надеюсь, он будет вам полезен!

Ссылки:

Спасибо за внимание!

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.