Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ITAM Telegram Бот

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

Возможности

  • Многоязычная поддержка: Поддержка нескольких языков с интеграцией i18n
  • Управление коворкинг-пространством:
    • Бронирование и управление коворкинг-пространствами
    • Управление расписанием
  • Управление клубом:
    • Клубные мероприятия и события
    • Управление участниками
  • Профили пользователей:
    • Регистрация и управление профилями пользователей
    • Система административных привилегий
  • Рассылка: Возможность отправки сообщений нескольким пользователям
  • Планировщик задач: Автоматическое планирование задач с использованием APScheduler

Стек

  • Python 3.x
  • aiogram (Фреймворк для Telegram ботов)
  • PostgreSQL (База данных)
  • APScheduler (Планировщик задач)
  • i18n (Интернационализация)

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

├── src/
│   ├── bot/           # Основной функционал бота
│   ├── controllers/   # Контроллеры бизнес-логики
│   ├── repositories/  # репозитории базы данных
│   └── utils/         # Всспомогательные функции
├── translations/     # файлы локализации
├── docker/           # конфигурация Docker
├── postgres/         # скрипты базы данных
└── requirements/     # зависимости

Развертывание у себя

  1. Клонируйте репозиторий

  2. Создайте виртуальное окружение:

    python -m venv venv
    source venv/bin/activate  # Для Unix/macOS
    .\venv\Scripts\activate  # Для Windows
  3. Установите зависимости:

    pip install -r requirements/dev.txt
  4. Создайте файл .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')
  1. Установите PostgreSQL 15 (подробнее про базу см. postgres/readme.md)
  2. Создайте базу данных:
    createdb your_db_name
  3. Примените скрипт создания таблиц:
    psql -d your_db_name -f postgres/create_tables.sql
  4. Не забудьте установить пароль для пользователя
  5. Надо поднять Redis
   sudo systemctl start redis
  1. Запустите бота:
make run
  1. Вы великолепны🏆

⚠️Внимательно с .env в .gitignore, чтобы вы не внесли чувствительные данные ⚠️

Развертывание в Docker

Для запуска бота с использованием Docker:

make dev-db
make dev-build
make dev-logs #для просмотра логов

🎉

Лицензия

License: MIT

💬 Связь

Если обнаружили ошибку или есть вопросы — пишите в телеграме @derebasik

About

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

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages