Skip to content

ntolkachev-gh/ai-community-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Community Bot 🤖

Telegram бот для управления мероприятиями AI сообщества с профессиональным веб-интерфейсом CRM.

🚀 Быстрый деплой на Heroku

Deploy

Что нужно для деплоя:

  1. Токен Telegram бота - получите у @BotFather
  2. Нажмите кнопку Deploy выше
  3. Введите токен бота и название приложения
  4. Дождитесь завершения деплоя (2-3 минуты)

После деплоя:

  • 🤖 Telegram бот готов к работе
  • 🌐 Веб-интерфейс: https://your-app-name.herokuapp.com
  • 📊 5 начальных мероприятий уже созданы
  • 🗄️ PostgreSQL база данных настроена автоматически

📱 Функционал

Telegram Bot

  • /start - Расширенная регистрация пользователя с сбором информации:
    • Полное имя
    • Компания и роль
    • Опыт с ИИ (выбор из вариантов)
    • Email для календаря
  • /profile - Просмотр своего профиля
  • /events - Просмотр доступных мероприятий
  • /my_events - Мои регистрации
  • Запись на мероприятия через inline кнопки
  • Отмена регистрации
  • Автоматические напоминания за день до мероприятия

🌐 CRM Веб-интерфейс

  • 📊 Панель управления с расширенной статистикой:
    • Общее количество пользователей
    • Количество завершенных профилей
    • Статистика мероприятий и регистраций
  • 👥 Управление пользователями с детальной информацией:
    • Полное имя, компания, роль
    • Опыт с ИИ
    • Статус завершения профиля
    • Email для календаря
  • 📅 Создание и редактирование мероприятий
  • 📋 Просмотр регистраций с фильтрацией
  • 🎨 Современный responsive дизайн
  • 📈 Аналитика участников и загруженности мероприятий

🛠️ Технологии

  • Python 3.11+
  • python-telegram-bot - Telegram Bot API
  • Flask - веб-фреймворк
  • SQLAlchemy - ORM для работы с БД
  • PostgreSQL - база данных (продакшн)
  • SQLite - база данных (локальная разработка)
  • Bootstrap 5 - UI фреймворк
  • APScheduler - планировщик задач для напоминаний

💻 Локальная разработка

# Клонируйте репозиторий
git clone https://github.com/ntolkachev-gh/ai-community-bot.git
cd ai-community-bot

# Создайте виртуальное окружение
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Установите зависимости
pip install -r requirements.txt

# Создайте тестовые данные
python seed_data.py

# Выполните миграцию базы данных (если нужно)
python migrate_database.py

# Для Heroku (если нужно обновить существующую базу):
# heroku run python heroku_migrate.py

# Запустите веб-интерфейс
python run_web_only.py

Откройте в браузере: http://localhost:8080

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

Получение токена бота

  1. Напишите @BotFather в Telegram
  2. Отправьте /newbot
  3. Введите название бота
  4. Введите username бота (должен заканчиваться на bot)
  5. Скопируйте полученный токен

Команды бота

Команда Описание
/start Расширенная регистрация с сбором информации о пользователе
/profile Просмотр своего профиля
/events Просмотр доступных мероприятий
/my_events Мои регистрации на мероприятия
/help Справка по командам

Веб-интерфейс

  • Главная: Статистика и последние регистрации
  • Пользователи: Список всех зарегистрированных пользователей
  • Мероприятия: Управление мероприятиями (создание, редактирование, удаление)
  • Регистрации: Просмотр всех регистраций с возможностью фильтрации

🏗️ Архитектура

├── app.py                 # Главный файл приложения
├── config.py              # Конфигурация для разных окружений
├── init_production_db.py  # Инициализация продакшн БД
├── requirements.txt       # Python зависимости
├── bot/                   # Telegram бот
│   ├── telegram_bot.py    # Основной класс бота
│   └── scheduler.py       # Планировщик напоминаний
├── web/                   # Веб-интерфейс
│   └── app.py            # Flask приложение
├── database/              # Модели базы данных
│   └── models.py         # SQLAlchemy модели
├── templates/             # HTML шаблоны
│   ├── base.html         # Базовый шаблон
│   ├── index.html        # Главная страница
│   └── ...               # Остальные страницы
└── static/               # Статические файлы (CSS, JS, изображения)

🚀 Деплой

Heroku (рекомендуется)

Используйте кнопку деплоя выше или:

# Ручной деплой
heroku create your-app-name
heroku addons:create heroku-postgresql:mini
heroku config:set BOT_TOKEN=your_bot_token_here
git push heroku main

Docker

# Соберите образ
docker build -t ai-community-bot .

# Запустите контейнер
docker run -p 5000:5000 -e BOT_TOKEN=your_token ai-community-bot

📊 База данных

Схема

  • users - Пользователи Telegram
  • events - Мероприятия
  • registrations - Регистрации пользователей на мероприятия

Миграции

База данных создается автоматически при первом запуске.

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

Переменные окружения

  • BOT_TOKEN - Токен Telegram бота (обязательно)
  • DATABASE_URL - URL базы данных (автоматически в Heroku)
  • SECRET_KEY - Секретный ключ Flask (генерируется автоматически)
  • FLASK_ENV - Окружение (development/production)

📈 Мониторинг

Heroku

# Просмотр логов
heroku logs --tail

# Подключение к базе данных
heroku pg:psql

# Статус приложения
heroku ps

🤝 Вклад в проект

  1. Форкните репозиторий
  2. Создайте ветку для новой функции
  3. Внесите изменения
  4. Создайте Pull Request

📄 Лицензия

MIT License

🆘 Поддержка

Если у вас есть вопросы или проблемы:

  1. Проверьте Issues на GitHub
  2. Создайте новый Issue с подробным описанием
  3. Включите логи ошибок и шаги для воспроизведения

Создано с ❤️ для AI сообщества

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors