Поддержка и развитие движка прекращена. На данный момент есть 2 поддерживаемых проекта,написанных на php и ts. Их главное преимущество заключается в поддержке последних версий протокола, высокой скорости работы, а также возможность создания навыка/бота сразу на несколько платформ одновременно. Ссылки на проекты:
Любая помощь и поддержка приветствуется :)
api - Дополнительные инструменты для бота
alisa - Блоки для отображения контента
component - Вспомогательные компоненты
processing - В данной папке находятся параметры для бота и класс Command
kernel - Ядро бота
example - Пример бота.
Для запуска необходим следующий минимальный код
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
Основной класс, отвечающий за взаимодействие навыка. Именно в данном классе происходит поиск команд, а так же обработка стандартных команд, и новых запрограммированных команд.
welcome
- Массив фраз для приветствия пользователь(Обязательный параметр)params
- Параметры используются для обработки новых командrandomText
- Массив фраз, когда навык совершенно не понял что от него хотятgoodName
- Массив фраз, где навык говорит что у пользователя красивое имяhelp
- Массив фраз для помощь (Обязательный параметр)about
- Массив фраз рассказывающий о вас (Если не заполнен, то берется значение изhelp
)by
- Массив фраз для прощания с пользователемbotParamsJson
- Данные пользователя в формате jsonname
- Имя навыкаisLog
- Тригер для записи логовisVk
- Проверка что это бот для ВКcommandText
- Запрос пользователяclientKey
- Идентификатор пользователяcommandTextFull
- Полный запрос пользователяmessageId
- Порядковый номер сообщенияnewCommand
- Путь до массива с обработкой дополнительных команд в навыкеprocessingCommand
- Класс отвечающий за логику обработки новых командurl
- Адрес сайтаkeyCommand
- Ключ команды(не используется)
Класс унаследованный от Bot
.
Отвечает непосредствено за инициализацию параметров, а также за отображение результата.
output
- Полученый запросsessionId
- Идентификатор сессииskillId
- Идентификатор навыкаuserId
- Идентификатор пользователяmeta
- Мета информация пользователяnlu
- Полученый nlu