Вы можете создать магазин, как показано ниже, и добавить c пользовательские данные channelData, я использовал simpleUpdatein Пакет для него
const store = window.WebChat.createStore(
{},
({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/POST_ACTIVITY') {
action = window.simpleUpdateIn(action, ['payload', 'activity', 'channelData', 'myData'], () => myDataObj);
}
return next(action);
}
);
Затем добавить этот магазин в экземпляр прямой линии, например
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({
token: '@Model.Token',
}),
userID: '@Model.UserId'
store,
}, document.getElementById('webchat'));
Теперь на стороне бота вы можете получить к нему доступ через контекстный объект, полный путь ниже
dialogContext.Context.Activity.ChannelData
. Вы также можете взглянуть на этот Пример для получения дополнительной информации.