https://github.com/max36895/alisa
https://github.com/max36895/alisa
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/max36895/alisa
- Owner: max36895
- Created: 2019-04-12T12:54:26.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-04T08:32:37.000Z (over 4 years ago)
- Last Synced: 2024-12-27T00:41:41.936Z (6 months ago)
- Language: PHP
- Size: 106 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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