Исходник Софт FunPay бот — автовыдача, автоподнятие, автоцена по рынку. Управление из Telegram

piska123133

Новичок
Автор темы
12
2

🤖 FunPay Bot​

Магазин на автопилоте — управление из Telegram

Выдаёт товар сразу после оплаты · поднимает лоты · держит цену по рынку · отвечает покупателям.
Работает 24/7 на ПК, сервере и прямо на телефоне. Переживает сбои FunPay.

Python 3.12 aiogram 3 async SQLAlchemy Docker




⚡ Что умеет​


  • Автовыдача — ключи/аккаунты/текст уходят покупателю в чат сразу после оплаты. Несколько позиций в заказе, склад с проверкой наличия, безлимитные товары.
  • Каталог 1₽ — массовое выставление дешёвых лотов одной кнопкой и снятие их обратно.
  • Автоподнятие лотов по интервалам с рандомом, отдельно на каждый лот. Корректно работает с мультикатегориями.
  • Автоцена — сам сканирует конкурентов и держит цену по рынку. Среднее / медиана / дешевле всех, границы мин-макс, отсев мусорных лотов.
  • Автоответчик с шаблонами и переменными, приветствие, режим «не в сети», чёрный список.
  • Автосинхронизация лотов — свои лоты сами подтягиваются с FunPay в базу, без ручной кнопки.
  • Автоответ на отзыв — благодарность покупателю сразу после оставленного отзыва.
  • Автовосстановление и автодеактивация лота по остатку склада.
  • Отчёты с графиками прямо в Telegram: продажи по дням, топ товаров, остатки, профиль покупателя. Экспорт в CSV/Excel, ежедневная сводка, монитор баланса, вотчер склада, цели по продажам.
  • Прогноз склада — считает скорость продаж и подсказывает, когда закончится каждый товар (и шлёт алерт заранее, пока ещё есть запас). Не тупой порог «осталось N», а реальный ETA по спросу.
  • Часы продаж — аналитика, в какие часы и дни недели реально покупают, чтобы ловить пик поднятиями.
  • Роли доступа (owner / admin / moderator / viewer), мультиаккаунт, плагины, автобэкапы, авто-рестарт сервисов.




🆚 Чем отличается от обычных ботов​


Возможность
Этот бот​
Типичный бот​
Прогноз склада по реальному спросу (ETA до нуля)
✅
❌
Аналитика часов и дней продаж
✅
❌
Графики прямо в Telegram (без внешних сервисов)
✅
редко​
Автоцена: среднее / медиана / демпинг + отсев мусора
✅
частично​
Роли доступа owner / admin / moderator / viewer
✅
❌
Запуск на Android без ПК (Termux)
✅
❌
Плагины с включением без перезапуска
✅
частично​
Авто-рестарт сервисов + watchdog «упал/поднялся»
✅
❌




🚀 Установка​


Работает на Windows, Linux, на сервере (VPS) и прямо на телефоне (Android/Termux) — без ПК. Заполняете .env один раз (BOT_TOKEN, ADMIN_IDS, FUNPAY_GOLDEN_KEY) и запускаете.

Код:
cd funpay_bot
cp .env.example .env      # заполнить BOT_TOKEN, ADMIN_IDS, FUNPAY_GOLDEN_KEY
docker compose up -d --build
Логи: docker compose logs -f. Обновление: git pull && docker compose up -d --build.

Поставьте Python 3.12 с python.org (галочка Add Python to PATH), затем в папке бота:
Код:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy .env.example .env
notepad .env
python main.py

Код:
chmod +x scripts/run.sh
./scripts/run.sh        # создаст venv, поставит зависимости, попросит заполнить .env
Чтобы бот работал 24/7 и сам перезапускался — поставьте сервис systemd:
Код:
sudo cp scripts/funpay-bot.service /etc/systemd/system/
sudo nano /etc/systemd/system/funpay-bot.service   # поправить User и пути
sudo systemctl daemon-reload
sudo systemctl enable --now funpay-bot
journalctl -u funpay-bot -f                         # живые логи

1) Установите Termux с F-Droid (версия из Play Market устарела и не работает).
2) В Termux выполните:
Код:
pkg install -y git
git clone <ссылка-на-репозиторий> funpay_bot
cd funpay_bot
bash scripts/install_termux.sh
Скрипт сам поставит Python и системные библиотеки, возьмёт wake-lock (бот не уснёт с выключенным экраном) и запустит бота. После первого запуска откройте nano .env, впишите ключи и снова bash scripts/run.sh.
Совет: поставьте ещё приложение Termux:API и в настройках Android отключите оптимизацию батареи для Termux — тогда бот живёт сутками.

После запуска — /start в Telegram, дальше всё через меню: товары, лоты, автофункции.

funpay.com → F12 → Application/Storage → Cookies → скопировать значение golden_key в FUNPAY_GOLDEN_KEY. Это полный доступ к аккаунту — никому не давайте.




❓ FAQ​


Да, перечислите ключи через запятую в FUNPAY_GOLDEN_KEY — на каждый поднимется свой runner.
Бот ходит на FunPay как обычный браузер с вашим cookie, поднятия рандомизированы. Но автоматизация — на ваш риск, держите разумные интервалы.
По умолчанию SQLite, ничего менять не надо. Под нагрузку — PostgreSQL через DATABASE_URL.




🔌 Плагины «из коробки»​


  • smart_autoresponder — мгновенные ответы покупателю на типовые вопросы по ключевым словам. Команда /faq_reload.
  • sales_dashboard — карточка продаж в реальном времени, средний чек, milestone'ы и рекорды. /sales, /sales_reset.
  • anti_fraud_guard — сигнализация о попытках увести сделку с FunPay и развести. /fraud_reload.
  • post_delivery_thanks — благодарность и просьба об отзыве после выдачи. /thanks_reload.
  • loyalty_rewards — промокоды постоянным покупателям по порогам покупок (2/5/10…). /loyalty_reload.
  • vip_order_alert — громкий алерт о крупных заказах и заказах от постоянников. /vip_reload.
  • promo_broadcast — рассылка акций в чаты недавних покупателей. /promo, /promo_count.
  • competitor_watch — фоновый радар цен конкурентов, алерт о демпинге. /market.
  • delivery_speed_monitor — тревога, если заказ висит невыданным дольше порога. /pending_orders.
  • rating_monitor — слежение за рейтингом и новыми отзывами. /rating.
Свой плагин — папка в plugins/installed/ с plugin.json и __init__.py: хуки on_new_order, on_delivery, on_new_message, on_order_paid, on_refund и свои Telegram-команды. Можно запускать фоновые задачи.




🆕 История версий​


Добавлено:
  • Запуск на Android (Termux) прямо с телефона без ПК — скрипт-установщик scripts/install_termux.sh (ставит зависимости, берёт wake-lock).
  • Запуск на Linux/VPS одним скриптом scripts/run.sh + готовый сервис systemd для работы 24/7 с авто-рестартом.
  • Прогноз склада — оценка скорости продаж и ETA до нуля по каждому товару, заблаговременный алерт «скоро закончится» (умнее статичного порога).
  • Часы продаж — отчёт по часам и дням недели: когда покупают чаще всего.
  • Обновлённый дизайн панели — единый стиль кнопок (сетка 2-в-ряд, тумблеры со статус-индикатором), читаемый дашборд.
Исправлено (надёжность и деньги):
  • Редактирование цены/остатка лота больше не воскрешает выключенный лот: форма правки перестала тащить снятые галочки (active и пр.).
  • Ручная повторная выдача заказа больше не списывает товар повторно — переотправляет уже выданное.
  • Заказ с пустым/нулевым количеством больше не уходит как пустая выдача и не роняет доставку.
  • Просмотр счётчика непрочитанных больше не «съедает» сообщения покупателей (был побочный эффект, из-за которого ответ мог не уйти).
  • Кулдаун автоответчика и режим «не в сети» разведены — приветствие «оффлайн» больше не блокирует обычные автоответы; кулдаун ставится только после успешной отправки.
  • Низкий баланс теперь шлёт один алерт на просадку, а не спам каждые 10 минут.
  • Рандомизация автоподнятия стала настоящей (раньше джиттер у всех лотов почти совпадал).
  • Шаблоны выдачи: значение с фигурными скобками внутри больше не ломает подстановку.
  • Бэкапы: защита от затирания всех архивов при BACKUP_KEEP=0 и от Zip-Slip при восстановлении.

Добавлено:
  • Автосинхронизация лотов — свои лоты подтягиваются с FunPay в базу по интервалу, без ручной кнопки. Пропавшие (проданные/снятые) лоты убираются автоматически, с защитой от стирания при сбое загрузки.
  • Автоответ на отзыв — бот сам отвечает благодарностью на оставленный покупателем отзыв.
  • Графики в Telegram — спарклайны, бар-чарты и гистограммы в дашборде и ежедневной сводке (без внешних сервисов).
  • Роли доступа — owner / admin / moderator / viewer вместо плоского списка админов; токен-бакет и sliding-window rate-limit, скрытие секретов в логах.
  • Анти-спам автоответчика — кулдаун на ответ одному покупателю и авто-пометка чата прочитанным (стоп повторному поллингу).
  • Вотчер склада — мгновенное уведомление, как только товар заканчивается или на исходе, без спама по одному и тому же лоту.
  • Цель дня — задайте план по выручке/заказам и получайте пуш «цель достигнута», счётчик сбрасывается в полночь.
  • Heartbeat и watchdog — бот сам сообщает, если какой-то сервис упал (и когда восстановился); опционально шлёт периодический пульс «я в строю» с аптаймом и сводкой.
  • Плюс 6 готовых плагинов: программа лояльности (промокоды постоянным), VIP-радар крупных заказов, рассылка акций покупателям, радар цен конкурентов с алертом о демпинге, контроль скорости выдачи и монитор рейтинга/отзывов.
Улучшено:
  • Автоцена: режимы среднее / медиана / дешевле всех, отсев выбросов и мусорных лотов, анти-джиттер цены.
  • Устойчивость сервисов — один сбойный лот больше не роняет цикл, авто-рестарт фоновых задач.

v2.0 — автовыдача реально доходит до покупателя, полный текст сообщений, починка утечек памяти и разбора цены. Каталог 1₽, управление заказами из Telegram, статус системы, regex-автоответы с приоритетом, привязка заказа к лоту, прокси на аккаунт, плагин-хуки on_order_paid/on_refund.
v1.2 — автоцена по рынку, отчёты, ежедневная сводка, монитор баланса, режим «не в сети», чёрный список.
v1.1 — плагины, мультиаккаунт, автобэкапы.
v1.0 — первый релиз: автовыдача, автоподнятие, автоответчик, панель в Telegram.




Вопросы и баги — пишите в комментарии 👇
📥 СКАЧАТЬ БОТА
 
Последнее редактирование:
  • Нравится
Реакции: romacaddy

piska123133

Новичок
Автор темы
12
2
Последнее редактирование:
  • Нравится
Реакции: Hotring

FireZilla

Активный
175
64
CENTER]
🤖 FUNPAY AUTOMATION BOT

Магазин на FunPay, который работает сам — управление целиком из Telegram

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Python 3.12 · aiogram 3.x · async SQLAlchemy 2.0 · Docker · 24/7

🟢 АВТОВЫДАЧА 🔵 АВТОПОДНЯТИЕ 🔴 АВТОЦЕНА 🟣 ОТЧЁТЫ

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
[/CENTER]





━━━ 📌 О ПРОЕКТЕ ━━━

Это коммерческий бот для автоматизации продаж на FunPay в духе FunPay Cardinal, но с принципиальным отличием — управление построено вокруг удобной Telegram-панели с inline-кнопками и пошаговыми диалогами. Вам не нужно держать открытым браузер, настраивать сервер с веб-мордой или разбираться в конфигах руками: добавили товар, создали лот, привязали, включили нужные авто-функции — и магазин работает без вашего участия.

Под капотом — чистая асинхронная архитектура (services / handlers / repositories), супервизор сервисов с авто-рестартом, защита от спама и антифлуд. Каждый модуль изолирован: если FunPay вернул ошибку или сеть моргнула — бот не падает, а аккуратно логирует и продолжает работу.​


━━━ ⚡ ВОЗМОЖНОСТИ ━━━

🛒 Продажи и выдача
  • Автовыдача товара — ключи, аккаунты или текст уходят покупателю мгновенно после оплаты. Несколько позиций в одном заказе, проверка наличия, FIFO-склад, безлимитные товары.
  • Автовосстановление лота — после продажи бот пополняет количество и снова активирует лот.
  • Автодеактивация — лот выключается при нулевом остатке и включается обратно после пополнения склада.
  • Импорт товаров — массовая загрузка склада из файла/текста, по строке на единицу.

🚀 Продвижение лотов
  • Автоподнятие — подъём лотов по интервалам с рандомным джиттером (антиспам), отдельная настройка на каждый лот.
  • Корректная работа с FunPay — правильное определение game_id / node_id и поддержка мультикатегорий (то, на чём ломаются многие самоделки).
  • Поднять сейчас — ручной подъём в один тап из панели.

💰 Автоцена по рынку (фишка)
  • Бот сам сканирует конкурентов в категории и держит вашу цену на уровне рынка.
  • Три стратегии: среднее, медиана, дешевле всех.
  • Усечение выбросов — мусорные лоты по 1 ₽ не сбивают расчёт.
  • Шаг скидки и границы мин/макс — вы всегда в безопасном коридоре цен.
  • Свои лоты исключаются из расчёта, изменение цены — только при реальном отклонении (антидёрганье).

💬 Общение с покупателями
  • Умный автоответчик — команды и шаблоны с переменными {username} {order_id} {product_name} {date} {time}, точное/частичное совпадение, счётчик срабатываний.
  • Приветствие при первом контакте.
  • Режим «не в сети» — вне рабочих часов покупатель получает авто-сообщение.
  • Чёрный список — бот игнорирует забаненных покупателей.
  • Защита от спама — дедуп входящих, авто-прочтение чатов, кулдаун ответов.

📈 Аналитика и контроль
  • Отчёты — продажи по дням с динамикой, топ товаров, заканчивающийся товар, профиль покупателя (LTV), сводный дашборд.
  • Экспорт заказов в CSV и статистики в Excel.
  • Ежедневная сводка — раз в день бот сам присылает отчёт в Telegram.
  • Монитор баланса — уведомление об изменении и алерт при падении ниже порога.
  • Уведомления обо всём: заказы, сообщения, выдача, ошибки, поднятия, пополнения, смены цен.

🛡 Инфраструктура
  • Вечный онлайн — поддержание сессии, переподключение, мониторинг аккаунта.
  • Плагины — загрузка / выгрузка / вкл-выкл без перезапуска, API для разработчиков.
  • Роли и права — owner / admin / moderator, rate-limit, антифлуд.
  • Автобэкапы базы по расписанию.
  • Мультиаккаунт — несколько golden_key, отдельный runner на каждый.
  • Авто-миграции — новые поля БД добавляются на старте, без ручных ALTER.


━━━ 🏆 ПОЧЕМУ ЭТОТ БОТ ━━━

Критерий🤖 Этот бот✋ Вручную🧩 Типовые самоделки
Выдача после оплатыМгновенно, 24/7Когда увидитеЧасто без проверки наличия
Цена относительно рынкаАвто по конкурентамРаз в неделю рукамиНет / процент от своей
Поднятие лотовАвто + антиспамЗабудетеЛомается на мультикатегориях
УправлениеTelegram с телефонаКонфиги / веб-панель
УстойчивостьАвто-рестарт сервисовПадает на ошибке FunPay
АналитикаОтчёты + сводка + CSVВ головеБазовая статистика


━━━ 🧱 ТЕХНОЛОГИИ ━━━

СлойСтек
ЯзыкPython 3.12, полностью async / asyncio
Telegramaiogram 3.x (FSM, inline-меню, middleware)
База данныхSQLAlchemy 2.0 async — SQLite или PostgreSQL
FunPayСобственный async-клиент (auth, runner, raise, lots, chat)
ПарсингBeautifulSoup4 + lxml
Логиloguru (ротация, уровни, категории)
ДеплойDocker + docker-compose


━━━ 🚀 УСТАНОВКА ━━━

🐳 Способ 1 — Docker (рекомендуется)
Форматирование (BB-код):
# 1. Распаковать архив и зайти в папку
cd funpay_bot

# 2. Создать конфиг из примера
cp .env.example .env

# 3. Заполнить .env (см. блок ниже)

# 4. Собрать и запустить в фоне
docker compose up -d --build

# 5. Смотреть логи
docker compose logs -f bot

🐍 Способ 2 — напрямую через Python
Форматирование (BB-код):
cd funpay_bot

# виртуальное окружение
python -m venv .venv
.venv\Scripts\activate          # Windows
source .venv/bin/activate       # Linux / macOS

# зависимости
pip install -r requirements.txt

# конфиг
copy .env.example .env          # Windows
cp .env.example .env            # Linux / macOS

# запуск
python main.py


━━━ ⚙️ КОНФИГУРАЦИЯ ━━━

Минимум для старта (.env):
Код:
# Telegram
BOT_TOKEN=123456:ABC-DEF...          # от @BotFather
ADMIN_IDS=123456789                  # ваш Telegram ID (через запятую — несколько)

# FunPay
FUNPAY_GOLDEN_KEY=ваш_golden_key     # cookie аккаунта FunPay

# База (по умолчанию SQLite — менять не нужно)
DATABASE_URL=sqlite+aiosqlite:///data/funpay_bot.db
# PostgreSQL:
# DATABASE_URL=postgresql+asyncpg://funpay:funpay@db:5432/funpay

  1. Залогиньтесь на funpay.com в браузере.
  2. Нажмите F12 → вкладка Application (Chrome) или Storage (Firefox).
  3. Слева: Cookieshttps://funpay.com.
  4. Найдите cookie golden_key и скопируйте значение в FUNPAY_GOLDEN_KEY.
⚠️ golden_key = полный доступ к аккаунту. Никому не передавайте и не публикуйте.

Код:
# ── Автоцена по рынку ──
AUTOPRICE_ENABLED=true
AUTOPRICE_INTERVAL=3600        # пересчёт, сек
AUTOPRICE_TRIM=0.1            # отсечь 10% выбросов

# ── Автоподнятие ──
AUTORAISE_ENABLED=true
AUTORAISE_MIN_INTERVAL=14400   # 4 часа
AUTORAISE_JITTER=600           # рандом до 10 мин (антиспам)

# ── Автоответы / антиспам ──
AUTORESPONSE_COOLDOWN=20       # не чаще, сек на покупателя
AUTOREAD_ENABLED=true          # авто-прочтение чатов
GREETING_ENABLED=false         # приветствие при первом контакте

# ── Режим «не в сети» ──
AWAY_ENABLED=false
WORK_HOURS_START=9
WORK_HOURS_END=23

# ── Сводка и баланс ──
DAILY_DIGEST_HOUR=21           # ежедневный отчёт в 21:00 (-1 = выкл)
BALANCE_ALERT_THRESHOLD=0      # алерт при балансе ниже (0 = выкл)

# ── Уведомления ──
NOTIFY_MESSAGES=true
NOTIFY_ORDERS=true
BLACKLIST_ENABLED=true


━━━ 📱 ПЕРВЫЙ ЗАПУСК ━━━

  1. Запустите бота (Docker или Python).
  2. Откройте своего бота в Telegram → команда /start.
  3. Появится главное меню: Статистика · Отчёты · Товары · Заказы · Лоты · Автоответы · Плагины · Настройки · Логи.
  4. Товары → добавьте товар и склад.
  5. Лоты → создайте лот, укажите node_id, привяжите товар.
  6. Включите нужные авто-функции (выдача, поднятие, автоцена).
  7. Готово — магазин работает 24/7. 🎉


━━━ 🗂 СТРУКТУРА ━━━

Код:
funpay_bot/
├── bot/          фабрика Bot/Dispatcher, middleware, роутеры
├── handlers/     разделы Telegram-панели (FSM, inline-меню)
├── services/     бизнес-логика
│   ├── funpay/   async-клиент FunPay (auth, runner, raise, lots, chat)
│   ├── autodelivery.py    автовыдача
│   ├── autoraise.py       автоподнятие
│   ├── autoprice.py       автоцена по рынку
│   ├── autoresponder.py   автоответчик + режим «не в сети»
│   ├── balance_monitor.py монитор баланса
│   ├── digest.py          ежедневная сводка
│   └── manager.py         супервизор сервисов (авто-рестарт)
├── database/     async engine, репозитории, авто-миграции
├── utils/        отчёты, бэкапы, хелперы
└── main.py       точка входа


━━━ 🗺 ROADMAP ━━━

  • ✅ Автовыдача, автоподнятие, автоответчик
  • ✅ Автоцена по средней рыночной
  • ✅ Отчёты, CSV-экспорт, ежедневная сводка
  • ✅ Монитор баланса, режим «не в сети», чёрный список
  • 🔜 Авто-ответ на отзывы, статистика по конкурентам
  • 🔜 Графики продаж картинкой в Telegram
  • 💡 Ваши предложения — пишите в комментарии


━━━ 📝 CHANGELOG ━━━

v1.2
  • ➕ Автоцена по рынку (среднее / медиана / дешевле всех)
  • ➕ Раздел «Отчёты»: продажи, топ товаров, остатки, профиль покупателя, CSV
  • ➕ Ежедневная сводка, монитор баланса, режим «не в сети», чёрный список
  • 🐛 Исправлен спам одинаковыми уведомлениями (дедуп + авто-прочтение чатов)
  • 🐛 Исправлено автоподнятие: корректные game_id/node_id и мультикатегории
v1.1
  • ➕ Плагины, мультиаккаунт, автобэкапы
v1.0
  • 🚀 Первый релиз: автовыдача, автоподнятие, автоответчик, панель в Telegram


━━━ ❓ FAQ ━━━

golden_key истёк или скопирован не полностью. Возьмите заново (спойлер выше) и перезапустите бота.
Проверьте node_id лота (ID категории из ссылки). game_id бот определяет сам — в логе должно быть Raised game <id>.
Да. Перечислите ключи через запятую в FUNPAY_GOLDEN_KEY — поднимется отдельный runner на каждый.
Для старта — SQLite (по умолчанию). Под нагрузку и мультиаккаунт — PostgreSQL: поменяйте DATABASE_URL.
Бот ходит на FunPay как обычный браузер с вашим cookie, поднятия рандомизированы (антиспам). Но автоматизация — на ваш риск; используйте разумные интервалы.



▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

💬 Вопросы, баги и идеи — в комментарии
Обновления выходят в этой же теме. Подпишитесь, чтобы не пропустить.

Если бот полезен — поставьте реакцию 👍 и оставьте отзыв

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Скачать: https://mega.nz/file/ThJxlRxA#VbLjsAOwO4-qrN_xC5T6khvZ7hnaUSGvFL5RZMUOpds
Совет мой тебе, пиши в теме меньше воды, выглядит вырвиглазно, к примеру:
━━━ 🗂 СТРУКТУРА ━━━
Зачем это вообще в теме написано? Захотят сами посмотрят, + не пиши тему нейронкой, я пока листал её ахуел от того какая она огромная, кстати как вырубить этот шрифт я не понял поэтому пишу так)
 
  • Нравится
Реакции: piska123133

сёмка тапочки2.0

Известный
79
14
так есть же какой то Cardinal или как его, чем он хуже
он не для таких тугодумов как я создан, я незнаю как им пользоваться

CENTER]
🤖 FUNPAY AUTOMATION BOT

Магазин на FunPay, который работает сам — управление целиком из Telegram

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Python 3.12 · aiogram 3.x · async SQLAlchemy 2.0 · Docker · 24/7

🟢 АВТОВЫДАЧА 🔵 АВТОПОДНЯТИЕ 🔴 АВТОЦЕНА 🟣 ОТЧЁТЫ

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
[/CENTER]





━━━ 📌 О ПРОЕКТЕ ━━━

Это коммерческий бот для автоматизации продаж на FunPay в духе FunPay Cardinal, но с принципиальным отличием — управление построено вокруг удобной Telegram-панели с inline-кнопками и пошаговыми диалогами. Вам не нужно держать открытым браузер, настраивать сервер с веб-мордой или разбираться в конфигах руками: добавили товар, создали лот, привязали, включили нужные авто-функции — и магазин работает без вашего участия.

Под капотом — чистая асинхронная архитектура (services / handlers / repositories), супервизор сервисов с авто-рестартом, защита от спама и антифлуд. Каждый модуль изолирован: если FunPay вернул ошибку или сеть моргнула — бот не падает, а аккуратно логирует и продолжает работу.​


━━━ ⚡ ВОЗМОЖНОСТИ ━━━

🛒 Продажи и выдача
  • Автовыдача товара — ключи, аккаунты или текст уходят покупателю мгновенно после оплаты. Несколько позиций в одном заказе, проверка наличия, FIFO-склад, безлимитные товары.
  • Автовосстановление лота — после продажи бот пополняет количество и снова активирует лот.
  • Автодеактивация — лот выключается при нулевом остатке и включается обратно после пополнения склада.
  • Импорт товаров — массовая загрузка склада из файла/текста, по строке на единицу.

🚀 Продвижение лотов
  • Автоподнятие — подъём лотов по интервалам с рандомным джиттером (антиспам), отдельная настройка на каждый лот.
  • Корректная работа с FunPay — правильное определение game_id / node_id и поддержка мультикатегорий (то, на чём ломаются многие самоделки).
  • Поднять сейчас — ручной подъём в один тап из панели.

💰 Автоцена по рынку (фишка)
  • Бот сам сканирует конкурентов в категории и держит вашу цену на уровне рынка.
  • Три стратегии: среднее, медиана, дешевле всех.
  • Усечение выбросов — мусорные лоты по 1 ₽ не сбивают расчёт.
  • Шаг скидки и границы мин/макс — вы всегда в безопасном коридоре цен.
  • Свои лоты исключаются из расчёта, изменение цены — только при реальном отклонении (антидёрганье).

💬 Общение с покупателями
  • Умный автоответчик — команды и шаблоны с переменными {username} {order_id} {product_name} {date} {time}, точное/частичное совпадение, счётчик срабатываний.
  • Приветствие при первом контакте.
  • Режим «не в сети» — вне рабочих часов покупатель получает авто-сообщение.
  • Чёрный список — бот игнорирует забаненных покупателей.
  • Защита от спама — дедуп входящих, авто-прочтение чатов, кулдаун ответов.

📈 Аналитика и контроль
  • Отчёты — продажи по дням с динамикой, топ товаров, заканчивающийся товар, профиль покупателя (LTV), сводный дашборд.
  • Экспорт заказов в CSV и статистики в Excel.
  • Ежедневная сводка — раз в день бот сам присылает отчёт в Telegram.
  • Монитор баланса — уведомление об изменении и алерт при падении ниже порога.
  • Уведомления обо всём: заказы, сообщения, выдача, ошибки, поднятия, пополнения, смены цен.

🛡 Инфраструктура
  • Вечный онлайн — поддержание сессии, переподключение, мониторинг аккаунта.
  • Плагины — загрузка / выгрузка / вкл-выкл без перезапуска, API для разработчиков.
  • Роли и права — owner / admin / moderator, rate-limit, антифлуд.
  • Автобэкапы базы по расписанию.
  • Мультиаккаунт — несколько golden_key, отдельный runner на каждый.
  • Авто-миграции — новые поля БД добавляются на старте, без ручных ALTER.


━━━ 🏆 ПОЧЕМУ ЭТОТ БОТ ━━━

Критерий🤖 Этот бот✋ Вручную🧩 Типовые самоделки
Выдача после оплатыМгновенно, 24/7Когда увидитеЧасто без проверки наличия
Цена относительно рынкаАвто по конкурентамРаз в неделю рукамиНет / процент от своей
Поднятие лотовАвто + антиспамЗабудетеЛомается на мультикатегориях
УправлениеTelegram с телефонаКонфиги / веб-панель
УстойчивостьАвто-рестарт сервисовПадает на ошибке FunPay
АналитикаОтчёты + сводка + CSVВ головеБазовая статистика


━━━ 🧱 ТЕХНОЛОГИИ ━━━

СлойСтек
ЯзыкPython 3.12, полностью async / asyncio
Telegramaiogram 3.x (FSM, inline-меню, middleware)
База данныхSQLAlchemy 2.0 async — SQLite или PostgreSQL
FunPayСобственный async-клиент (auth, runner, raise, lots, chat)
ПарсингBeautifulSoup4 + lxml
Логиloguru (ротация, уровни, категории)
ДеплойDocker + docker-compose


━━━ 🚀 УСТАНОВКА ━━━

🐳 Способ 1 — Docker (рекомендуется)
Форматирование (BB-код):
# 1. Распаковать архив и зайти в папку
cd funpay_bot

# 2. Создать конфиг из примера
cp .env.example .env

# 3. Заполнить .env (см. блок ниже)

# 4. Собрать и запустить в фоне
docker compose up -d --build

# 5. Смотреть логи
docker compose logs -f bot

🐍 Способ 2 — напрямую через Python
Форматирование (BB-код):
cd funpay_bot

# виртуальное окружение
python -m venv .venv
.venv\Scripts\activate          # Windows
source .venv/bin/activate       # Linux / macOS

# зависимости
pip install -r requirements.txt

# конфиг
copy .env.example .env          # Windows
cp .env.example .env            # Linux / macOS

# запуск
python main.py


━━━ ⚙️ КОНФИГУРАЦИЯ ━━━

Минимум для старта (.env):
Код:
# Telegram
BOT_TOKEN=123456:ABC-DEF...          # от @BotFather
ADMIN_IDS=123456789                  # ваш Telegram ID (через запятую — несколько)

# FunPay
FUNPAY_GOLDEN_KEY=ваш_golden_key     # cookie аккаунта FunPay

# База (по умолчанию SQLite — менять не нужно)
DATABASE_URL=sqlite+aiosqlite:///data/funpay_bot.db
# PostgreSQL:
# DATABASE_URL=postgresql+asyncpg://funpay:funpay@db:5432/funpay

  1. Залогиньтесь на funpay.com в браузере.
  2. Нажмите F12 → вкладка Application (Chrome) или Storage (Firefox).
  3. Слева: Cookieshttps://funpay.com.
  4. Найдите cookie golden_key и скопируйте значение в FUNPAY_GOLDEN_KEY.
⚠️ golden_key = полный доступ к аккаунту. Никому не передавайте и не публикуйте.

Код:
# ── Автоцена по рынку ──
AUTOPRICE_ENABLED=true
AUTOPRICE_INTERVAL=3600        # пересчёт, сек
AUTOPRICE_TRIM=0.1            # отсечь 10% выбросов

# ── Автоподнятие ──
AUTORAISE_ENABLED=true
AUTORAISE_MIN_INTERVAL=14400   # 4 часа
AUTORAISE_JITTER=600           # рандом до 10 мин (антиспам)

# ── Автоответы / антиспам ──
AUTORESPONSE_COOLDOWN=20       # не чаще, сек на покупателя
AUTOREAD_ENABLED=true          # авто-прочтение чатов
GREETING_ENABLED=false         # приветствие при первом контакте

# ── Режим «не в сети» ──
AWAY_ENABLED=false
WORK_HOURS_START=9
WORK_HOURS_END=23

# ── Сводка и баланс ──
DAILY_DIGEST_HOUR=21           # ежедневный отчёт в 21:00 (-1 = выкл)
BALANCE_ALERT_THRESHOLD=0      # алерт при балансе ниже (0 = выкл)

# ── Уведомления ──
NOTIFY_MESSAGES=true
NOTIFY_ORDERS=true
BLACKLIST_ENABLED=true


━━━ 📱 ПЕРВЫЙ ЗАПУСК ━━━

  1. Запустите бота (Docker или Python).
  2. Откройте своего бота в Telegram → команда /start.
  3. Появится главное меню: Статистика · Отчёты · Товары · Заказы · Лоты · Автоответы · Плагины · Настройки · Логи.
  4. Товары → добавьте товар и склад.
  5. Лоты → создайте лот, укажите node_id, привяжите товар.
  6. Включите нужные авто-функции (выдача, поднятие, автоцена).
  7. Готово — магазин работает 24/7. 🎉


━━━ 🗂 СТРУКТУРА ━━━

Код:
funpay_bot/
├── bot/          фабрика Bot/Dispatcher, middleware, роутеры
├── handlers/     разделы Telegram-панели (FSM, inline-меню)
├── services/     бизнес-логика
│   ├── funpay/   async-клиент FunPay (auth, runner, raise, lots, chat)
│   ├── autodelivery.py    автовыдача
│   ├── autoraise.py       автоподнятие
│   ├── autoprice.py       автоцена по рынку
│   ├── autoresponder.py   автоответчик + режим «не в сети»
│   ├── balance_monitor.py монитор баланса
│   ├── digest.py          ежедневная сводка
│   └── manager.py         супервизор сервисов (авто-рестарт)
├── database/     async engine, репозитории, авто-миграции
├── utils/        отчёты, бэкапы, хелперы
└── main.py       точка входа


━━━ 🗺 ROADMAP ━━━

  • ✅ Автовыдача, автоподнятие, автоответчик
  • ✅ Автоцена по средней рыночной
  • ✅ Отчёты, CSV-экспорт, ежедневная сводка
  • ✅ Монитор баланса, режим «не в сети», чёрный список
  • 🔜 Авто-ответ на отзывы, статистика по конкурентам
  • 🔜 Графики продаж картинкой в Telegram
  • 💡 Ваши предложения — пишите в комментарии


━━━ 📝 CHANGELOG ━━━

v1.2
  • ➕ Автоцена по рынку (среднее / медиана / дешевле всех)
  • ➕ Раздел «Отчёты»: продажи, топ товаров, остатки, профиль покупателя, CSV
  • ➕ Ежедневная сводка, монитор баланса, режим «не в сети», чёрный список
  • 🐛 Исправлен спам одинаковыми уведомлениями (дедуп + авто-прочтение чатов)
  • 🐛 Исправлено автоподнятие: корректные game_id/node_id и мультикатегории
v1.1
  • ➕ Плагины, мультиаккаунт, автобэкапы
v1.0
  • 🚀 Первый релиз: автовыдача, автоподнятие, автоответчик, панель в Telegram


━━━ ❓ FAQ ━━━

golden_key истёк или скопирован не полностью. Возьмите заново (спойлер выше) и перезапустите бота.
Проверьте node_id лота (ID категории из ссылки). game_id бот определяет сам — в логе должно быть Raised game <id>.
Да. Перечислите ключи через запятую в FUNPAY_GOLDEN_KEY — поднимется отдельный runner на каждый.
Для старта — SQLite (по умолчанию). Под нагрузку и мультиаккаунт — PostgreSQL: поменяйте DATABASE_URL.
Бот ходит на FunPay как обычный браузер с вашим cookie, поднятия рандомизированы (антиспам). Но автоматизация — на ваш риск; используйте разумные интервалы.



▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

💬 Вопросы, баги и идеи — в комментарии
Обновления выходят в этой же теме. Подпишитесь, чтобы не пропустить.

Если бот полезен — поставьте реакцию 👍 и оставьте отзыв

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Скачать: https://mega.nz/file/ThJxlRxA#VbLjsAOwO4-qrN_xC5T6khvZ7hnaUSGvFL5RZMUOpds
а база товаров по рублю у него есть? ну типо шоб ввел команду/включил кнопочку и он сам выставляет эти товары
 

piska123133

Новичок
Автор темы
12
2
Совет мой тебе, пиши в теме меньше воды, выглядит вырвиглазно, к примеру:
━━━ 🗂 СТРУКТУРА ━━━
Зачем это вообще в теме написано? Захотят сами посмотрят, + не пиши тему нейронкой, я пока листал её ахуел от того какая она огромная, кстати как вырубить этот шрифт я не понял поэтому пишу так)
почистил

он не для таких тугодумов как я создан, я незнаю как им пользоваться


а база товаров по рублю у него есть? ну типо шоб ввел команду/включил кнопочку и он сам выставляет эти товары
Сейчас такой функции нет. Бот умеет управлять уже существующими лотами (цена, вкл/выкл, поднятие, авто-пополнение,
авто-цена) и выдавать товар, но сам новые лоты на FunPay не создаёт и «базы товаров по 1₽» с авто-выставлением — нет. Я это добавлю в следущем апдейте
 

сёмка тапочки2.0

Известный
79
14
почистил


Сейчас такой функции нет. Бот умеет управлять уже существующими лотами (цена, вкл/выкл, поднятие, авто-пополнение,
авто-цена) и выдавать товар, но сам новые лоты на FunPay не создаёт и «базы товаров по 1₽» с авто-выставлением — нет. Я это добавлю в следущем апдейте
та мне хватило шоб хоть ктото дал эту сраную базу лотов по рублю , я возможно и сам бы повыставлял их, катку в доте сыграл , выдохся - пару десятков разделов закрыл лотами - еще катка и так далее
 

piska123133

Новичок
Автор темы
12
2
Вышел мини апдейт 3.1 с упором на фикс багов и мобильность, все нововведения можно посмотреть выше.
До пятницы апдейтов не будет по личным причинам.