An open API service indexing awesome lists of open source software.

https://github.com/profatsky/chatbot-builder

No-code конструктор чат-ботов для Telegram с функционалом генерации кода
https://github.com/profatsky/chatbot-builder

aiogram aiogram-3 aiogram-bot aiogram-bot-template aiogram3 chatbot chatbot-telegram chatbots code-generation code-generator fastapi sqlalchemy-orm telegram telegram-bot telegram-bots vue3 vuejs

Last synced: 22 days ago
JSON representation

No-code конструктор чат-ботов для Telegram с функционалом генерации кода

Awesome Lists containing this project

README

        

# chatbot-builder

![GitHub top language](https://img.shields.io/github/languages/top/profatsky/chatbot-builder)
![GitHub](https://img.shields.io/github/license/profatsky/chatbot-builder)
![GitHub issues](https://img.shields.io/github/issues/profatsky/chatbot-builder)
![GitHub Repo stars](https://img.shields.io/github/stars/profatsky/chatbot-builder)

No-code конструктор чат-ботов для Telegram с функционалом **генерации кода**.

Конструктор позволяет создавать чат-ботов для мессенджера Telegram без навыков программирования и скачивать
сгенерированный код чат-бота для самостоятельного запуска и редактирования.

Каждый чат-бот, разрабатываемый в конструкторе, состоит из сценариев общения (диалогов) и готовых программных модулей
(плагинов), которые можно легко и быстро добавить в чат-бота.

## 💬 Диалоги
Диалоги - это сценарии общения с чат-ботами. Каждый диалог состоит из блоков - действий, которые совершает чат-бот.
Конструктор позволяет задавать чат-боту 6 типов действий:
- отправить текстовое сообщение пользователю
- отправить изображение пользователю
- задать пользователю вопрос и ожидать ответ определенного типа (текст, число, электронная почта, номер телефона)
- сохранить данные в CSV файл
- отправить письмо на email
- отправить запрос к API

Чтобы чат-бот понимал, когда запускать тот или иной сценарий общения с пользователем, необходимо явно указать тип
события, на которое будет реагировать чат-бот. На выбор доступно 3 типа событий:
- пользователь отправил определенное текстовое сообщение
- пользователь отправил определенную команду
- пользователь нажал на кнопку в меню чат-бота (предусмотрены два типа кнопок: reply и inline)

## 🔋 Плагины
Плагины - готовые программные модули, которые легко добавляются в чат-ботов. На выбор доступны несколько плагинов:
- статистика - добавляет функционал просмотра статистики чат-бота
- тех. поддержка - добавляет функционал тех. поддержки в чат-бота
- каталог - добавляет функционал просмотра и управления товарами в чат-боте

## 🚀 Генерация кода
Конструктор позволяет скачать код разработанного чат-бота в виде ZIP-архива. В генерируемом коде чат-ботов используется
библиотека [aiogram](https://github.com/aiogram/aiogram). Для запуска чат-бота необходимо установить Python и нужные
библиотеки из файла `requirements.txt`, который будет находиться в скачанном ZIP-архиве.

## ⚙️ Как запустить?
### Бекенд
Перейти в директорию `backend`.

Переименовать файл `.env.example` в `.env` и указать в нем необходимые данные:
```
CLIENT_APP_URL = http://localhost:5173

DB_HOST =
DB_PORT =
DB_NAME =
DB_USER =
DB_PASS =
TEST_DB_NAME =

JWT_SECRET =
```

Есть два способа запустить бекенд: с помощью Docker или вручную.

#### Запуск с помощью Docker
```commandline
docker-compose up -d
```

#### Запуск вручную
Настроить виртуальное окружения и установить зависимости:
```commandline
python -m venv venv

venv\Scripts\activate.bat - для Windows

source venv/bin/activate - для Unix

python -m pip install -r requirements.txt
```

Запустить:
```commandline
uvicorn src.main:app
```

### Фронтенд
Перейти в директорию `frontend`.

Установить необходимые зависимости:
```commandline
npm install
```

Переименовать файл `.env.example` в `.env.local` и указать в нем необходимые данные:
```commandline
VITE_API_URL=http://127.0.0.1:8000/api
```

Запустить:
```commandline
npm run dev
```