Добавление линий разрыва в Bot Framework при использовании JavaScript - PullRequest
3 голосов
/ 13 апреля 2020

Я использую Microsoft Bot Framework и развернул его в веб-чате, мой бот печатал сообщения в правильном формате, как хотелось бы, с помощью линий разрыва "\ n \ n", затем я использую следующий учебник https://github.com/microsoft/BotFramework-WebChat/blob/master/README.md для интеграции JavaScript с моим ботом для удаления значка вложения (как показано на рисунке ниже) This photo shows what I mean by the attachment icon

После использования JavaScript и удаления найденного значка вложения что линии разрыва (\ n) перестали работать,

Кто-нибудь знает, что случилось?

Предыдущий формат (без использования JavaScript):

line1

line2

Текущий формат (с использованием JavaScript):

line1
line2

Следующий код был добавлен в «wwwroot» для удаления значка вложения:

<!DOCTYPE html>
<html lang="en-US">
<head>
    <script crossorigin="anonymous" src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
</head>
<body>
    <div id="webchat" role="main"></div>
    <script>
    (async function () {
            window.WebChat.renderWebChat(
                {
                    directLine: window.WebChat.createDirectLine({ token: "MY-TOKEN" }),
                    styleOptions: {
                        markdownRespectCRLF: true,
                        // hide upload button
                        hideUploadButton: true
                    }
                },
                document.getElementById('webchat')
            );

            document.querySelector('#webchat > *').focus();
        })().catch(err => console.error(err));
    </script>
</body>
</html>

My c# код для отправки Активность:

string reply = "Line 1 \n\n Line 2";
await turnContext.SendActivityAsync(MessageFactory.Text(reply), cancellationToken);

Ответы [ 3 ]

2 голосов
/ 20 апреля 2020

Попробуйте использовать это:

\n\n&nbsp;\n\n

2 голосов
/ 15 апреля 2020

Попробуйте использовать это:

IMessageActivity message = Activity.CreateMessageActivity();
message.Type = ActivityTypes.Message;
message.Text = "your \n text";
message.Locale = "en-Us";
message.TextFormat = TextFormatTypes.Plain;
await turnContext.SendActivityAsync(message);
1 голос
/ 16 апреля 2020

Если у вас возникли проблемы с вставкой пустой строки в канал Bot Framework, вы можете попробовать отправить сообщение, подобное этому, чтобы увидеть, как канал интерпретирует различные строки пробелов: "1\n\n&nbsp;\n\n2\n\n\u00A0\n\n3\n\n\xA0\n\n4 \n5<br><br>6\n\n \n\n7 \r\n \r\n8<br/><br/>9\n&nbsp;\n10 \n11"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...