Как передать вложения от пользователя к агенту (Human Handoff) с помощью бота?

У меня есть бот с использованием С #. Он имеет черту человеческого выключения. Мы интегрировали решение, предоставляемое системой передачи обслуживания человека, где агент может одновременно разговаривать с одним пользователем. Здесь ссылка на решение, которое мы использовали для передачи обслуживания человека https://github.com/tompaana/intermediator-bot-sample. Наш бот работает нормально и может общаться с агентом с помощью этого решения, но основная проблема возникает, когда пользователь хочет поделиться изображением или любыми вложениями от пользователя к агенту или от агента к пользователю. Бот показывает, что изображение отправлено, но пользователь не может его увидеть. Более простой случай случается с агентом. введите здесь описание изображения Изображение агента при отправке вложения пользователю. введите описание изображения здесь

А также изображение пользователя, которое не может видеть изображение, отправленное агентом.


person shivani singh    schedule 21.01.2020    source источник


Ответы (2)


образец, который вы используете для Human HandOff, не обновлялся более года, поэтому становится трудно найти решения для поддержки различных функций, относящихся к одному и тому же. Однако при рассмотрении примеров проблем возникла аналогичная проблема. в котором образец не поддерживает смайлики, изображения или файлы для принимающего пользователя. Если пользователь отправляет любую из вышеупомянутых функций, получатель получит пустое сообщение, поскольку оно поддерживает только текстовые сообщения.

Предварительное решение, предложенное пользователем, заключается в создании простого расширения метода. для отправки сообщений изображения / файла. Вы можете пойти дальше и попробовать, чтобы увидеть, работает ли он в вашем случае.

Надеюсь это поможет.

person ranusharao    schedule 21.01.2020

Вам нужно отредактировать исходный код библиотеки, чтобы добиться того, что вы пытаетесь.

В этом файле MessageRouter, метод RouteMessageIfSenderIsConnectedAsync, вы можете получить доступ к message.Attachments, затем передать его как параметр в SendMessageAsync в строке 432, затем из SendMessageAsync в строке 160, вы можете передать его методу CreateMessageActivity, а затем в файле ConnectorClientMessageBundle, вы можете получить доступ к вложению и прикрепить его к messageActivity.

person Chithambara Kumar    schedule 21.01.2020