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

https://github.com/max36895/alisa


https://github.com/max36895/alisa

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

        

# Поддержка
Поддержка и развитие движка прекращена. На данный момент есть 2 поддерживаемых проекта,написанных на php и ts. Их главное преимущество заключается в поддержке последних версий протокола, высокой скорости работы, а также возможность создания навыка/бота сразу на несколько платформ одновременно.
Ссылки на проекты:
- php - [https://github.com/max36895/universal_bot](https://github.com/max36895/universal_bot)
- ts - [https://github.com/max36895/universal_bot-ts](https://github.com/max36895/universal_bot-ts)

Любая помощь и поддержка приветствуется :)

# Структура
```$xslt
api - Дополнительные инструменты для бота
alisa - Блоки для отображения контента
component - Вспомогательные компоненты
processing - В данной папке находятся параметры для бота и класс Command
kernel - Ядро бота
example - Пример бота.
```

# Запуск
Для запуска необходим следующий минимальный код
```php
require_once __DIR__ . '/bot/YandexBot.php'; // Полный путь к боту

$yandexBot = new YandexBot(); // создаем объект класса
if ($yandexBot->output) { // проверяем параметры
$yandexBot->name = 'newBot'; // Даем имя боту (используется для логов)

$button = ['играть']; // Кнопки
$yandexBot->setButtons($button); // Инициализация кнопки

$yandexBot->dirAllCommand = __DIR__ . '/param/allCommand.php'; // Путь к своим командам, которые должны обрабатываться

require_once __DIR__ . '/param/newCommand.php'; // Класс, который обрабатывает новые команды
$yandexBot->newCommand = new newCommand(); // Инициализируем класс

$yandexBot->welcome = [
'Текст для приветствия',
]; // Обязательно должно быть инициализированно. Данные сообщения получает пользователь при заходе в навык, а так же при приветствии пользователя.
$yandexBot->help = [
'Помощь при работе с навыком',
]; // Обязательнл должно быть инициализированно. Так как именно из этого текста пользователь понимает что делает навык. Так же необходимо чтобы пройти модерацию.

echo $yandexBot->alisa(); // Запускаем навык

} else {
echo 'Ok';
}
```

# Навыки
Вся логика навыков находится в классах `Bot` и `Yandexlisa`
## Bot
Основной класс, отвечающий за взаимодействие навыка.
Именно в данном классе происходит поиск команд, а так же обработка стандартных команд, и новых запрограммированных команд.
### Описание переменных
- `welcome` - Массив фраз для приветствия пользователь(Обязательный параметр)
- `params` - Параметры используются для обработки новых команд
- `randomText` - Массив фраз, когда навык совершенно не понял что от него хотят
- `goodName` - Массив фраз, где навык говорит что у пользователя красивое имя
- `help` - Массив фраз для помощь (Обязательный параметр)
- `about` - Массив фраз рассказывающий о вас (Если не заполнен, то берется значение из `help`)
- `by` - Массив фраз для прощания с пользователем
- `botParamsJson` - Данные пользователя в формате json
- `name` - Имя навыка
- `isLog` - Тригер для записи логов
- `isVk` - Проверка что это бот для ВК
- `commandText` - Запрос пользователя
- `clientKey` - Идентификатор пользователя
- `commandTextFull` - Полный запрос пользователя
- `messageId` - Порядковый номер сообщения
- `newCommand` - Путь до массива с обработкой дополнительных команд в навыке
- `processingCommand` - Класс отвечающий за логику обработки новых команд
- `url` - Адрес сайта
- `keyCommand` - Ключ команды(не используется)

## YandexAlisa
Класс унаследованный от `Bot`.
Отвечает непосредствено за инициализацию параметров, а также за отображение результата.
### Описание переменных

- `output` - Полученый запрос
- `sessionId` - Идентификатор сессии
- `skillId` - Идентификатор навыка
- `userId` - Идентификатор пользователя
- `meta` - Мета информация пользователя
- `nlu` - Полученый nlu