Имитация набора текста - Компоновщик Bot Framework
Я пытаюсь добавить набор текста для своего бота с помощью Composer, но я не знаю, как получить доступ к операции набора текста.
[Activity
type = Typing
]
Я также пробовал язык разметки chatdown, но, похоже, это тоже неправильно.
[Typing][Delay=3000]
Ни один из указанных выше форматов.lg не имитирует набор текста.
3 ответа
Фактически, набор текста работает в Bot Framework Composer, вы также можете увидеть его в действии здесь: https://youtu.be/wG8emu4v6hk?t=955 (краткий момент в 15:55). Источник образца можно найти здесь: https://github.com/vishwacsena/composer-build-2020/tree/master/Birthday-bot2
Действие отправляется точно так, как вы описали, но оно отображается только до тех пор, пока не будет отправлен следующий ответ. На приведенном в качестве примера снимке экрана задержка вызвана HTTP-запросом, и в это время отображается активность набора текста. Если ваши ответы следуют друг за другом быстро, вы можете вообще не увидеть индикатор набора текста, поскольку процесс идет слишком быстро.
[Activity
type = Typing
]
Я также смог смоделировать описанное выше в моем собственном проекте Bot Framework Composer, где я использовал настраиваемое действие для имитации короткой задержки. Во время задержки отображается активность набора.
Typing indicator
на компоновщике бота нужно реализовать следующим образом:
Чтобы он заработал, вам необходимо выполнить следующие шаги:
Включение ПО промежуточного слоя ввода в Bot Composer:
Важно то, что вы должны включить
typing middleware
к
true
нравится
"showTyping": true,
Сделать можно так:
Step: 1
"features": {
"removeRecipientMentions": false,
"showTyping": true,
"traceTranscript": false,
"useInspection": false,
"setSpeak": {
"voiceFontName": "en-US-JennyNeural",
"fallbackToTextForSpeechIfEmpty": true
}
}
Добавьте свою активность набора в SendResponse
[Activity
Type = Typing
]
Примечание. Вставьте код, щелкнув по отображаемому коду, как показано ниже:
Затем вставьте свой код активности ввода ниже:
Добавьте время задержки, чтобы можно было отобразить время:
[Activity
Value = ${3000}
Type = ${"delay"}
]
Примечание. То же, что и выше. Сначала покажите код, затем вставьте действие задержки. Означает, что нажмите "Показать код" и вставьте
delay activity
там
Окончательный вывод:
окончательный результат должен быть таким, как показано ниже:
Примечание: для
Bot Fremework SDK
можно реализовать так:
//take some delay and reply card
await turnContext.SendActivitiesAsync(new Activity[] { new Activity { Type = ActivityTypes.Typing }, new Activity { Type = "delay", Value = 3000 } });
Надеюсь, что приведенные выше шаги будут реализованы
typing indicator
в разговоре с ботом и на
SDK
а также
Composer
Друг, как вы решили проблему задержки с "Middleware"
"feature": {
"UseShowTypingMiddleware": true,
"UseInspectionMiddleware": false,
"RemoveRecipientMention": false
}
Я также хотел бы включить эту задержку в разговор моего чат-бота.