Многофункциональный Telegram бот для управления коворкинг-пространствами, клубами и профилями пользователей. Бот поддерживает несколько языков и включает функции управления коворкинг-пространствами, клубной деятельностью и административными задачами.
- Многоязычная поддержка: Поддержка нескольких языков с интеграцией i18n
- Управление коворкинг-пространством:
- Бронирование и управление коворкинг-пространствами
- Управление расписанием
- Управление клубом:
- Клубные мероприятия и события
- Управление участниками
- Профили пользователей:
- Регистрация и управление профилями пользователей
- Система административных привилегий
- Рассылка: Возможность отправки сообщений нескольким пользователям
- Планировщик задач: Автоматическое планирование задач с использованием APScheduler
- Python 3.x
- aiogram (Фреймворк для Telegram ботов)
- PostgreSQL (База данных)
- APScheduler (Планировщик задач)
- i18n (Интернационализация)
├── src/
│ ├── bot/ # Основной функционал бота
│ ├── controllers/ # Контроллеры бизнес-логики
│ ├── repositories/ # репозитории базы данных
│ └── utils/ # Всспомогательные функции
├── translations/ # файлы локализации
├── docker/ # конфигурация Docker
├── postgres/ # скрипты базы данных
└── requirements/ # зависимости
-
Клонируйте репозиторий
-
Создайте виртуальное окружение:
python -m venv venv source venv/bin/activate # Для Unix/macOS .\venv\Scripts\activate # Для Windows
-
Установите зависимости:
pip install -r requirements/dev.txt
-
Создайте файл
.envна основе.env.template:
BOT_TOKEN='ваш_токен_бота' # Токен Telegram-бота (взять у @BotFather)
BOT_NAME='имя_вашего_бота' # Имя бота (без @)
POSTGRES_USER='пользователь_базы_данных' # Например, 'postgres'
POSTGRES_PASSWORD='пароль_базы_данных' # Пароль у пользователя
POSTGRES_DB='имя_базы_данных' # Например, 'mybotdb'
POSTGRES_HOST='хост_базы_данных' # Обычно 'localhost' или '127.0.0.1'
REDIS_HOST='хост_редис' # Обычно 'localhost' или '127.0.0.1'
SECRET='ваш_секретный_ключ' # Cложная строка (Пример: '123qwe@$#@4_2')
- Установите PostgreSQL 15 (подробнее про базу см. postgres/readme.md)
- Создайте базу данных:
createdb your_db_name
- Примените скрипт создания таблиц:
psql -d your_db_name -f postgres/create_tables.sql
- Не забудьте установить пароль для пользователя
- Надо поднять Redis
sudo systemctl start redis- Запустите бота:
make run- Вы великолепны🏆
Для запуска бота с использованием Docker:
make dev-db
make dev-build
make dev-logs #для просмотра логов🎉
Если обнаружили ошибку или есть вопросы — пишите в телеграме @derebasik