Я новичок ie с Symfony. Я создал приложение Symfony, и у меня есть папка BotMan в моем каталоге Symfony root, поэтому я хочу интегрировать этого бота в свое приложение. Моя структура каталогов выглядит так:
my_symfony_project/
bin/
config/
migrations/
...
my_botman_project/
Итак, как я могу «включить» классы BotMan в мой проект Symfony, чтобы иметь возможность использовать их как любой другой класс Symfony? Мне нужно изменить файл services.yaml? Как? Я знаю, может быть, это глупый вопрос, но пока не понимаю, как это работает. Заранее спасибо.
Изменить : Внесены некоторые изменения ...
Я снова установил BotMan, но как отдельную composer зависимость, и теперь у меня есть «ботман» "папка внутри vendor. После этого я создал шаблон веточки с веб-виджетом и метод с маршрутом «/ botman / chat». Виджет появляется, но я не знаю, как получить в нем чат. Немного подробнее с кодом:
Мой шаблон (mybot / index. html .twig):
<script src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/widget.js'></script>
HomeController. php (только метод ботмана)
/**
* @Route("/botman/chat", name="mybot")
*/
public function botman(Request $request)
{
DriverManager::loadDriver(\BotMan\Drivers\Web\WebDriver::class);
// Configuration for the BotMan WebDriver
$config = [];
// Create BotMan instance
$botman = BotManFactory::create($config);
// Give the bot some things to listen for.
$botman->hears('(hello|hi|hey)', function (BotMan $bot) {
$bot->reply('Hello!');
});
// Set a fallback
$botman->fallback(function (BotMan $bot) {
$bot->reply('Sorry, I did not understand.');
});
// Start listening
//$botman->listen();
//return new Response("hi");
return $this->render('mybot/index.html.twig', [
]);
}
Редактировать # 2 : Наконец-то я нашел ответ ...
Чтобы использовать бота, вам необходимо вернуть пустой ответ, потому что заголовки уже были отправлены Botman. После этого, если вы включите только виджет в свой шаблон ...
<script src='https://cdn.jsdelivr.net/npm/botman-web-widget@0/build/js/widget.js'></script>
Вы заметите, что виджет пуст и содержит только ответ в JSON. Поэтому я решил написать свой шаблон, используя чат-бота Пита Лоуренса в качестве руководства, и я не использую готовый виджет. Ссылка на закрытую проблему GitHub, которая помогла мне решить эту .