Dialog Flow – мощная платформа для создания диалоговых интерфейсов, чат-ботов и виртуальных помощников. Одним из общих требований в этих приложениях является отображение многострочных ответов, где каждая строка представляет собой отдельное сообщение или часть информации. В этой статье блога мы рассмотрим несколько методов реализации новых строк в ответах потока диалогов, а также примеры кода. Давайте погрузимся!
Метод 1: использование разрывов строк (\n)
Один из самых простых способов введения новой строки в ответ потока диалога — использование символа разрыва строки (\n) в ответном сообщении. Вот пример:
def webhook_handler(request):
response = {
"fulfillmentMessages": [
{
"text": {
"text": [
"Hello! This is line 1.\nThis is line 2."
]
}
}
]
}
return response
Метод 2: использование разрывов строк HTML (
)
Если вы создаете веб-приложение или чат-бот, вы можете использовать разрывы строк HTML (
) для получения многострочных ответов. Dialog Flow позволяет отправлять подробные ответы в виде сообщений о выполнении. Вот пример:
def webhook_handler(request):
response = {
"fulfillmentMessages": [
{
"text": {
"text": [
"Hello! This is line 1.<br>This is line 2."
]
}
}
]
}
return response
Метод 3: использование сообщений с несколькими ответами
Вместо отправки одного ответного сообщения вы можете разделить контент на несколько сообщений выполнения. Dialog Flow отобразит их как отдельные строки. Вот пример:
def webhook_handler(request):
response = {
"fulfillmentMessages": [
{
"text": {
"text": [
"Hello! This is line 1."
]
}
},
{
"text": {
"text": [
"This is line 2."
]
}
}
]
}
return response
Метод 4: использование расширенных ответов
Поток диалога поддерживает расширенные ответы, включая карточки и карусели. Вы можете использовать эти функции для отображения многострочного содержимого. Вот пример расширенного ответа из нескольких строк:
def webhook_handler(request):
response = {
"fulfillmentMessages": [
{
"card": {
"title": "Multiline Response",
"subtitle": "This is line 1.\nThis is line 2.",
"imageUri": "https://example.com/image.png"
}
}
]
}
return response