Skip to content

sandexzx/MarketPlaceBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏠 Telegram Marketplace Bot

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

✨ Основные возможности

Для администраторов:

  • Создание и управление обычными объявлениями об аренде
  • Добавление рекламных объявлений с особой механикой показа
  • Редактирование всех параметров объявлений (фото, описание, цена, контакты)
  • Просмотр подробной статистики по объявлениям
  • Удаление объявлений

Для пользователей:

  • Просмотр объявлений в формате карусели
  • Удобная навигация между объявлениями
  • Быстрый переход к менеджеру для аренды
  • Управление уведомлениями о новых объявлениях

🛠 Технический стек

  • Python 3.11+
  • aiogram 3.x
  • SQLAlchemy
  • SQLite/PostgreSQL
  • Pillow
  • python-dotenv

📥 Установка

  1. Клонируйте репозиторий:
git clone https://github.com/sandexzx/MarketPlaceBot.git
cd marketplace-bot
  1. Создайте виртуальное окружение:
python -m venv venv
source venv/bin/activate  # для Linux/macOS
venv\Scripts\activate     # для Windows
  1. Установите зависимости:
pip install -r requirements.txt
  1. Создайте файл .env в корневой директории проекта:
BOT_TOKEN=your_bot_token_here
ADMIN_IDS=123456789,987654321  # ID администраторов через запятую
  1. Создайте необходимые директории:
mkdir data
mkdir media
  1. Добавьте приветственную картинку (опционально):
cp your_welcome_image.png media/welcome.PNG

🚀 Запуск

python main.py

💻 Использование

Команды бота

  • /start - Начало работы с ботом
  • /help - Справка по использованию
  • /ads - Просмотр объявлений
  • /admin - Панель администратора (только для админов)
  • /notifications - Управление уведомлениями

Административная панель

Доступна по команде /admin для пользователей, чьи Telegram ID указаны в ADMIN_IDS:

  • Добавление объявлений (фото, описание, цена, контакты)
  • Добавление рекламных объявлений
  • Редактирование существующих объявлений
  • Просмотр статистики
  • Удаление объявлений

📚 Структура проекта

marketplace-bot/
├── bot/
│   ├── database/          # Модели и утилиты БД
│   ├── handlers/          # Обработчики команд
│   ├── keyboards/         # Клавиатуры и кнопки
│   └── utils/             # Вспомогательные функции
├── data/                  # База данных
├── media/                 # Медиафайлы
├── main.py               # Точка входа
├── requirements.txt      # Зависимости
└── .env                  # Конфигурация

🔧 Конфигурация

Основные настройки находятся в файле bot/config.py:

  • Пути к медиафайлам и базе данных
  • Максимальное количество фото в объявлении
  • Таймауты и другие параметры

📝 Особенности реализации

  • Использование FSM (Finite State Machine) для управления состояниями
  • Поддержка множественной загрузки фотографий
  • Система показа рекламных объявлений с вероятностью 20%
  • Отслеживание статистики просмотров
  • Уведомления пользователей о новых объявлениях

👨‍💻 Автор

  • Aleksandr Zverev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages