Телеграм-бот для управления объявлениями об аренде с функциями администрирования и просмотра. Бот позволяет создавать, редактировать и удалять объявления, а также включает систему показа рекламных объявлений и уведомлений пользователей.
- Создание и управление обычными объявлениями об аренде
- Добавление рекламных объявлений с особой механикой показа
- Редактирование всех параметров объявлений (фото, описание, цена, контакты)
- Просмотр подробной статистики по объявлениям
- Удаление объявлений
- Просмотр объявлений в формате карусели
- Удобная навигация между объявлениями
- Быстрый переход к менеджеру для аренды
- Управление уведомлениями о новых объявлениях
- Python 3.11+
- aiogram 3.x
- SQLAlchemy
- SQLite/PostgreSQL
- Pillow
- python-dotenv
- Клонируйте репозиторий:
git clone https://github.com/sandexzx/MarketPlaceBot.git
cd marketplace-bot- Создайте виртуальное окружение:
python -m venv venv
source venv/bin/activate # для Linux/macOS
venv\Scripts\activate # для Windows- Установите зависимости:
pip install -r requirements.txt- Создайте файл
.envв корневой директории проекта:
BOT_TOKEN=your_bot_token_here
ADMIN_IDS=123456789,987654321 # ID администраторов через запятую- Создайте необходимые директории:
mkdir data
mkdir media- Добавьте приветственную картинку (опционально):
cp your_welcome_image.png media/welcome.PNGpython 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