Описание класса Bot | Universal Bot

Bot
in

Класс отвечающий за запуск приложения.

В нем происходит инициализации параметров, выбор типа приложения, запуск логики и возврат корректного результата.

Table of Contents

$content Полученный запрос. В основном JSON или объект. bool|string|null
$botController Контроллер с логикой приложения. BotController|null
$auth Авторизационный токен если есть (Актуально для Алисы). Передастся в том случае, если пользователь произвел авторизацию в навыке. string|null
__construct() Bot constructor. mixed
initAuth() Проверяем что пользователь авторизовался в приложении. void
initTypeInGet() Инициализация типа бота через GET параметры. bool
initConfig() Инициализация конфигурации приложения. void
initParams() Инициализация параметров приложения. void
initBotController() Подключение логики приложения. void
getBotClassAndType() Возвращаем корректно заполненный тип приложения, а также класс, отвечающий за возврат результата. array
run() Запуск приложения. string
test() Тестирование навыка. mixed
getSkillContent() Возвращаем корректную конфигурацию для конкретного типа приложения. array

Properties

$content

Полученный запрос. В основном JSON или объект.

private bool|string|null $content

$botController

Контроллер с логикой приложения.

protected BotController|null $botController

$auth

Авторизационный токен если есть (Актуально для Алисы). Передастся в том случае, если пользователь произвел авторизацию в навыке.

private string|null $auth

Methods

__construct()

Bot constructor.

public __construct( [ $type : string|null = null ] ) : mixed
Parameters
$type : string|null = null

Тип приложения (alisa, vk, telegram).

Return values
mixed

initAuth()

Проверяем что пользователь авторизовался в приложении.

protected initAuth( ) : void

В случае успеха, auth не будет равен null

initTypeInGet()

Инициализация типа бота через GET параметры.

public initTypeInGet( ) : bool

Если присутствует get['type'], и он корректен (Равен одному из типов бота), тогда инициализация пройдет успешно.

Tags
api
Return values
bool

initConfig()

Инициализация конфигурации приложения.

public initConfig( $config : array|null ) : void
Parameters
$config : array|null

Конфигурация приложения.

Tags
api

initParams()

Инициализация параметров приложения.

public initParams( $params : array|null ) : void
Parameters
$params : array|null

Параметры приложения.

Tags
api

initBotController()

Подключение логики приложения.

public initBotController( $fn : BotController ) : void
Parameters
$fn : BotController

Контроллер с логикой приложения.

Tags
api

getBotClassAndType()

Возвращаем корректно заполненный тип приложения, а также класс, отвечающий за возврат результата.

protected getBotClassAndType( [ $userBotClass : TemplateTypeModel|null = null ] ) : array
Parameters
$userBotClass : TemplateTypeModel|null = null

Пользовательский класс для обработки команд.

Return values
array

run()

Запуск приложения.

public run( [ $userBotClass : TemplateTypeModel|null = null ] ) : string

В случае ошибки кинет исключение

Parameters
$userBotClass : TemplateTypeModel|null = null

Пользовательский класс для обработки команд.

Tags
throws
api
Return values
string

test()

Тестирование навыка.

public test( [ $isShowResult : bool = false ] [, $isShowStorage : bool = false ] [, $isShowTime : bool = true ] [, $userBotClass : TemplateTypeModel|null = null ] [, $userBotConfig : string|null = null ] ) : mixed

Отображает только ответы навыка. Никакой прочей информации (изображения, звуки, кнопки и тд) не отображаются!

Для корректной работы, внутри логики навыка не должно быть пользовательских вызовов к серверу бота.

Parameters
$isShowResult : bool = false

Отображать полный ответ навыка.

$isShowStorage : bool = false

Отображать данные из хранилища.

$isShowTime : bool = true

Отображать время выполнения запроса.

$userBotClass : TemplateTypeModel|null = null

Пользовательский класс для обработки команд.

$userBotConfig : string|null = null

Шаблон с пользовательским типом приложения

Tags
throws
api
Return values
mixed

getSkillContent()

Возвращаем корректную конфигурацию для конкретного типа приложения.

protected getSkillContent( $query : string , $count : int , $state : array|null , $userBotConfig : string|null ) : array
Parameters
$query : string

Пользовательский запрос.

$count : int

Номер сообщения.

$state : array|null

Данные из хранилища.

$userBotConfig : string|null

Шаблон с пользовательским типом приложения

Tags
throws
Return values
array

Search results