readme
This commit is contained in:
parent
7df0e3a12a
commit
714b6ab7ef
15
README.md
15
README.md
@ -1,5 +1,6 @@
|
|||||||
# Abstract autoresponder
|
# Abstract autoresponder
|
||||||
Абстрактная реализация, которая позволяет создавать ботов.
|
Абстрактная реализация, которая позволяет создавать ботов. Боты позволяют автоматизировать взаимодействие с пользователем.
|
||||||
|
Боты позволяют автоматизировать общение с клиентами, отвечая по запрограммированию сценарию.
|
||||||
|
|
||||||
### Основные понятия
|
### Основные понятия
|
||||||
|
|
||||||
@ -7,7 +8,7 @@
|
|||||||
Каждый юнит хранит в себе ключевые слова или регулярное выражение, ссылки на следующие Unit-ы, а так же значение
|
Каждый юнит хранит в себе ключевые слова или регулярное выражение, ссылки на следующие Unit-ы, а так же значение
|
||||||
приоритета и процент количества найденных ключевых слов к заданным ключевым словам. В данном модуле Unit является
|
приоритета и процент количества найденных ключевых слов к заданным ключевым словам. В данном модуле Unit является
|
||||||
абстрактным классом, так как юнит по задумке это расширяемый класс, который может не только отдавать текстовые
|
абстрактным классом, так как юнит по задумке это расширяемый класс, который может не только отдавать текстовые
|
||||||
сообщения, но и например сохранять пользовательскую информацию, и выполнять прочее функции. Примеры наследников
|
сообщения, но и, например, сохранять пользовательскую информацию, и выполнять прочие функции. Примеры наследников
|
||||||
Unit можно найти в [этом репозитории](https://github.com/uPagge/social-bot).
|
Unit можно найти в [этом репозитории](https://github.com/uPagge/social-bot).
|
||||||
|
|
||||||
**Сценарий** - это связанные между собой юниты.
|
**Сценарий** - это связанные между собой юниты.
|
||||||
@ -26,16 +27,16 @@ Unit можно найти в [этом репозитории](https://github.c
|
|||||||
• Unit1 —> Unit4 —> Unit9;
|
• Unit1 —> Unit4 —> Unit9;
|
||||||
• Unit10.
|
• Unit10.
|
||||||
|
|
||||||
Пользователь присылает боту свое первое сообщение, например «Привет». Если сообщение удовлетворяет регулярному
|
Пользователь присылает боту свое первое сообщение, например, «Привет». Если сообщение удовлетворяет регулярному
|
||||||
выражению или содержит необходимое количество ключевых слов Unit1, то возвращается Unit1, то же самое относится к Unit10.
|
выражению или содержит необходимое количество ключевых слов Unit1, то возвращается Unit1, то же самое относится к Unit10.
|
||||||
|
|
||||||
Если оба юнита удовлетворяют запросу пользователя, то будет возвращен юнит с большим приоритетом (поле priority). Если
|
Если оба юнита удовлетворяют запросу пользователя, то будет возвращен юнит с большим приоритетом (поле priority). Если
|
||||||
приоритеты равны, то рандомный Unit. В нашем примере, на первое сообщение, пользователь получил Unit1, поэтому следующее
|
приоритеты равны, то случайный Unit. В нашем примере, на первое сообщение, пользователь получил Unit1, поэтому следующее
|
||||||
сообщение пользователя будет ассоциироваться с множеством: Unit2, Unit3 и Unit4.
|
сообщение пользователя будет ассоциироваться с множеством: Unit2, Unit3 и Unit4.
|
||||||
|
|
||||||
### Програмная реализация
|
### Програмная реализация
|
||||||
|
|
||||||
Данная библиотека заточена только на определениие того, какой Unit отдавать, необходимо создать наследника
|
Данная библиотека предназначена только на определение того, какой Unit отдавать, необходимо создать наследника
|
||||||
класса `Unit` (самый простой вариант лежит в тестах). Следом создается объект класса `UnitPointerService`. Он отвечает
|
класса `Unit` (самый простой вариант лежит в тестах). Следом создается объект класса `UnitPointerService`. Он отвечает
|
||||||
за сохранение позиции пользователя в сценарии, простыми словами он сохраняет последний Unit, который был отправлен
|
за сохранение позиции пользователя в сценарии, простыми словами он сохраняет последний Unit, который был отправлен
|
||||||
пользователю.
|
пользователю.
|
||||||
@ -47,6 +48,6 @@ Unit можно найти в [этом репозитории](https://github.c
|
|||||||
|
|
||||||
### Программные особенности
|
### Программные особенности
|
||||||
|
|
||||||
1. Существует возможность отправлять дефолтный юнит, если не будет найден юнит удвлетворяющий сообщению пользователя (
|
1. Существует возможность задать юнит, который будет возвращаться при отсутствии юнита, удвлетворяющего сообщению
|
||||||
без ключевых слов, и т.п.). Для этого у объекта `AutoResponder` вызывается метод `setDefaultUnit`.
|
пользователя (без ключевых слов, и т.п.). Для этого у объекта `AutoResponder` вызывается метод `setDefaultUnit`.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user