⚠️ NOTE: This README is a work in progress! The project is still evolving, and this documentation will be expanded. Check back later for updates!
SmartAdBot — это Telegram-бот для автоматизации рассылок рекламных сообщений с поддержкой интерактивных кнопок и управления через админ-панель. Проект разработан для упрощения маркетинговых кампаний в Telegram.
- Рассылка сообщений пользователям бота.
- Поддержка инлайн-кнопок для интерактивных сообщений.
- Управление через команды (
/sender
). - Асинхронная работа с базой данных PostgreSQL.
- FSM (Finite State Machine) для управления состояниями бота.
- Язык: Python 3.13
- Фреймворк: aiogram 3.x
- База данных: PostgreSQL + SQLAlchemy 2.0 + AsyncPG
- Управление зависимостями: Poetry
- Тестирование: Pytest + pytest-asyncio
- Линтинг: Black
- Контейнеризация: Docker + Docker Compose
- Установленный Python 3.13
- Установленный Docker и Docker Compose
- Установленный Poetry
git clone https://github.com/gewog/SmartAdBot.git
cd SmartAdBot
Создайте файл .env в корне проекта и заполните его по примеру .env.example:
TOKEN=ваш_токен_Telegram_бота
ADMIN_ID=ваш_Telegram_ID
SQLALCHEMY_URL=postgresql+asyncpg://postgres:пароль@localhost:5432/имя_базы_данных
poetry install
docker-compose up --build
poetry run python main.py
poetry run pytest tests/ -v
- Отправьте боту команду /start, чтобы начать взаимодействие.
- Используйте команду /sender <название_рассылки>, чтобы создать новую рассылку.
- Следуйте инструкциям бота для настройки сообщения и кнопок.
- Подтвердите рассылку, и бот отправит сообщение всем пользователям.
gewog
📧 gewoggewog@gmail.com
Проект распространяется под лицензией MIT.