This commit is contained in:
upagge 2020-05-03 02:50:36 +03:00
parent 5c4474223e
commit 33bdfde706
No known key found for this signature in database
GPG Key ID: 15CD012E46F6BA34

View File

@ -2,7 +2,7 @@
Абстрактная реализация, которая позволяет создавать ботов. Боты позволяют автоматизировать взаимодействие с пользователем. Абстрактная реализация, которая позволяет создавать ботов. Боты позволяют автоматизировать взаимодействие с пользователем.
Боты позволяют автоматизировать общение с клиентами, отвечая по запрограммированию сценарию. Боты позволяют автоматизировать общение с клиентами, отвечая по запрограммированию сценарию.
# Dependency ## Dependency
maven: maven:
``` ```
@ -13,7 +13,7 @@ maven:
</dependency> </dependency>
``` ```
### Основные понятия ## Основные понятия
**Unit** - некая единица сценария, по которому проходит пользователь, отправляя свои сообщения. **Unit** - некая единица сценария, по которому проходит пользователь, отправляя свои сообщения.
Каждый юнит хранит в себе ключевые слова или регулярное выражение, ссылки на следующие Unit-ы, а так же значение Каждый юнит хранит в себе ключевые слова или регулярное выражение, ссылки на следующие Unit-ы, а так же значение
@ -24,7 +24,7 @@ Unit можно найти в [этом репозитории](https://github.c
**Сценарий** - это связанные между собой юниты. **Сценарий** - это связанные между собой юниты.
### Принцип работы ## Принцип работы
Для понимания рассмотрим небольшой пример по схеме изображенной ниже. Так же небольшие примеры обработки есть в тестах. Для понимания рассмотрим небольшой пример по схеме изображенной ниже. Так же небольшие примеры обработки есть в тестах.
@ -45,7 +45,7 @@ Unit можно найти в [этом репозитории](https://github.c
приоритеты равны, то случайный Unit. В нашем примере, на первое сообщение, пользователь получил Unit1, поэтому следующее приоритеты равны, то случайный Unit. В нашем примере, на первое сообщение, пользователь получил Unit1, поэтому следующее
сообщение пользователя будет ассоциироваться с множеством: Unit2, Unit3 и Unit4. сообщение пользователя будет ассоциироваться с множеством: Unit2, Unit3 и Unit4.
### Програмная реализация ## Програмная реализация
Данная библиотека предназначена только на определение того, какой Unit отдавать. Для использования библиотеки необходимо Данная библиотека предназначена только на определение того, какой Unit отдавать. Для использования библиотеки необходимо
в первую очередь создать наследника класса `Unit` (самый простой вариант лежит в тестах). Следом создается объект класса в первую очередь создать наследника класса `Unit` (самый простой вариант лежит в тестах). Следом создается объект класса
@ -57,7 +57,7 @@ Unit, который был отправлен пользователю.
Далее у объекта `AutoResponder` вызывается метод `answer`, который возвращает следующий для пользователя Unit. Далее у объекта `AutoResponder` вызывается метод `answer`, который возвращает следующий для пользователя Unit.
### Программные особенности ## Программные особенности
1. Существует возможность задать юнит, который будет возвращаться при отсутствии юнита, удовлетворяющего сообщению 1. Существует возможность задать юнит, который будет возвращаться при отсутствии юнита, удовлетворяющего сообщению
пользователя (без ключевых слов, и т.п.). Для этого у объекта `AutoResponder` вызывается метод `setDefaultUnit`. пользователя (без ключевых слов, и т.п.). Для этого у объекта `AutoResponder` вызывается метод `setDefaultUnit`.