2016-12-07 1 views
2

Столкнувшись с проблемой при использовании Microsoft Bot Framework. Я разрабатываю бота, который будет работать в Skype. Мне нужно создать карту героя с двумя кнопками (Да/Нет) и отправить его пользователю. Должен сказать, что использовать Microsoft Bot Framework API и Python (но язык не имеет значения, я думаю). Использовать тип - 'imBack' и value - string. При нажатии кнопки сообщение появится в чате, значение . Это плохо для меня. Я хочу скрыть сообщение от пользователя в этом случае, так это то, что он получил только мой бот. В соответствии с documentation можно сделать. Но я не работаю для меня.Microsoft Bot Framework. Скрыть текстовое сообщение от пользователей

Отправка контекста с действиями

Это может быть полезно, чтобы отправить обратно в контекст бота (например, запрос ID) , не показывая эту информацию пользователю в сообщении. Чтобы сделать это , вы можете добавить скрытый XML в видимую строку, показанную пользователю, , которая видна только вашему боту.

Visible сообщение < контексте hiddenId = '10'/>

написано в документации. Буду очень благодарен за помощь.

ответ

2

Вы хотите использовать Postback не imBack, если вы хотите, чтобы скрыть сообщение от конечного пользователя:

Различия между Postback() и imBack() действия является тонким. Цель заключается в том, что imBack() покажет сообщение, отправленное боту в фид пользователей, где postBack() спрячет отправленное сообщение от пользователя . Не все каналы (например, Skype) в настоящее время поддерживают postBack(), поэтому эти каналы просто вернутся к использованию imBack(). Обычно это не изменит поведение вашего бота, но это означает, что если вы используете , включая данные, такие как идентификатор заказа в postBack(), он может быть виден по определенным каналам, если вы этого не ожидали.

+0

Спасибо Ларсу за ваш быстрый ответ. Я видел эту возможность в документации, но мне нужно использовать skype в качестве основного канала для сообщений о доставке, и, насколько мне известно, skype не поддерживает postBack() –

+1

Исправить. Это известное ограничение по Skype, которое они скоро разрешат. – Lars

+0

Отлично! Потому что эта функция действительно необходима. Я буду ждать обновления. Thx! –

0

Просто подсказка, которая бы спасла меня некоторое время. На сегодняшний день postBack поддерживается в skype. Однако есть разница в поведении по сравнению с эмулятором.

В эмуляторе объект, помещенный в свойство Value кнопок действия карты, появится в сообщении. Свойство Value. В случае Skype объект будет выглядеть как строка в свойстве message.Text.

Хотя это не помогает различать, нажимает ли пользователь кнопку или пишет какой-то текст (в отличие от того, что происходит в эмуляторе), это все же лучше, чем прямое создание скрытого xml, imo.