UserAppController
extends BotController
in
Пример, позволяющий сохранить данные в локальном хранилище.
Локальное хранилище работает только для Алисы. Во всех других ботах, будет использована база данных.
Class LocalStorageController
Table of Contents
$buttons | Кнопки отображаемые в приложении. | Buttons |
---|---|---|
$card | Карточки отображаемые в приложении. | Card |
$text | Текст который отобразится пользователю. | string |
$tts | Текст который услышит пользователь. | string|null |
$nlu | Обработанный nlu в приложении. | Nlu |
$sound | Звуки которые будут присутствовать в приложении. | Sound |
$userId | Идентификатор пользователя. | string|null |
$userToken | Пользовательский токен. Инициализируется когда пользователь авторизовался (Актуально для Алисы). | string|null |
$userMeta | Meta данные пользователя. | array|null |
$messageId | Id сообщения(Порядковый номер сообщения), необходим для того, чтобы понять в 1 раз пишет пользователь или нет. | string|int|null |
$userCommand | Запрос пользователя в нижнем регистре. | string|null |
$originalUserCommand | Оригинальный запрос пользователя. | string|null |
$payload | Дополнительные параметры к запросу. | array|null |
$userData | Пользовательские данные, сохраненные в приложении (Хранятся в бд либо в файле. Зависит от параметра mmApp.isSaveDb). | array|null |
$isAuth | Запросить авторизацию для пользователя или нет (Актуально для Алисы). | bool |
$userEvents | Определяет статус пользовательских событий, таких как успешная авторизация, либо оценка приложения. | array |
$state | Пользовательское локальное хранилище (Актуально для Алисы и Маруси). | array|null |
$isScreen | Наличие экрана. | bool |
$isEnd | Завершение сессии. | bool |
$isSend | Отправлять в конце запрос или нет. (Актуально для Vk и Telegram) False тогда, когда все запросы отправлены внутри логики приложения, и больше ничего отправлять не нужно. | bool |
$requestObject | Полученный запрос. | array|null |
$oldIntentName | Идентификатор предыдущего действия пользователя. | string|null |
$thisIntentName | Идентификатор текущего действия пользователя. Чтобы не сохранять идентификатор предыдущей команды, стоит передавать null. | string|null |
$emotion | Эмоция, с которой будет общаться приложение. Актуально для Сбер. | string|null |
$appeal | Манера общения с пользователем. Общаемся на "Вы" или на "ты". | string|null |
$isSendRating | Отправляет запрос на оценку приложения | string |
action() | Обработка пользовательских команд. | void |
__construct() | BotController constructor. | mixed |
intents() | Получение всех обрабатываемых команд приложения. | array |
getIntent() | Поиск нужной команды в пользовательском запросе. | string|null |
action() | Обработка пользовательских команд. | void |
run() | Запуск приложения. | void |
Properties
$buttons
Кнопки отображаемые в приложении.
public
Buttons
$buttons
$card
Карточки отображаемые в приложении.
public
Card
$card
$text
Текст который отобразится пользователю.
public
string
$text
$tts
Текст который услышит пользователь.
public
string|null
$tts
$nlu
Обработанный nlu в приложении.
public
Nlu
$nlu
$sound
Звуки которые будут присутствовать в приложении.
public
Sound
$sound
$userId
Идентификатор пользователя.
public
string|null
$userId
$userToken
Пользовательский токен. Инициализируется когда пользователь авторизовался (Актуально для Алисы).
public
string|null
$userToken
$userMeta
Meta данные пользователя.
public
array|null
$userMeta
$messageId
Id сообщения(Порядковый номер сообщения), необходим для того, чтобы понять в 1 раз пишет пользователь или нет.
public
string|int|null
$messageId
$userCommand
Запрос пользователя в нижнем регистре.
public
string|null
$userCommand
$originalUserCommand
Оригинальный запрос пользователя.
public
string|null
$originalUserCommand
$payload
Дополнительные параметры к запросу.
public
array|null
$payload
$userData
Пользовательские данные, сохраненные в приложении (Хранятся в бд либо в файле. Зависит от параметра mmApp.isSaveDb).
public
array|null
$userData
$isAuth
Запросить авторизацию для пользователя или нет (Актуально для Алисы).
public
bool
$isAuth
$userEvents
Определяет статус пользовательских событий, таких как успешная авторизация, либо оценка приложения.
public
array
$userEvents
$state
Пользовательское локальное хранилище (Актуально для Алисы и Маруси).
public
array|null
$state
$isScreen
Наличие экрана.
public
bool
$isScreen
$isEnd
Завершение сессии.
public
bool
$isEnd
$isSend
Отправлять в конце запрос или нет. (Актуально для Vk и Telegram) False тогда, когда все запросы отправлены внутри логики приложения, и больше ничего отправлять не нужно.
public
bool
$isSend
$requestObject
Полученный запрос.
public
array|null
$requestObject
$oldIntentName
Идентификатор предыдущего действия пользователя.
public
string|null
$oldIntentName
$thisIntentName
Идентификатор текущего действия пользователя. Чтобы не сохранять идентификатор предыдущей команды, стоит передавать null.
public
string|null
$thisIntentName
$emotion
Эмоция, с которой будет общаться приложение. Актуально для Сбер.
public
string|null
$emotion
$appeal
Манера общения с пользователем. Общаемся на "Вы" или на "ты".
public
string|null
$appeal
$isSendRating
Отправляет запрос на оценку приложения
public
string
$isSendRating
Methods
action()
Обработка пользовательских команд.
public
action(
$intentName :
mixed
)
: void
Если intentName === null, значит не удалось найти обрабатываемых команд в запросе. В таком случе стоит смотреть либо на предыдущую команду пользователя. Либо вернуть текст помощи.
Parameters
- $intentName : mixed
Название действия.
__construct()
BotController constructor.
public
__construct(
)
: mixed
Return values
mixedintents()
Получение всех обрабатываемых команд приложения.
protected
final intents(
)
: array
Return values
arraygetIntent()
Поиск нужной команды в пользовательском запросе.
protected
final getIntent(
$text :
string
)
: string|null
В случае успеха вернет название действия.
Parameters
- $text : string
Текст, в котором происходит поиск вхождений.
Return values
string|nullaction()
Обработка пользовательских команд.
public
abstract action(
$intentName :
string|null
)
: void
Если intentName === null, значит не удалось найти обрабатываемых команд в запросе. В таком случе стоит смотреть либо на предыдущую команду пользователя. Либо вернуть текст помощи.
Parameters
- $intentName : string|null
Название действия.
run()
Запуск приложения.
public
run(
)
: void