Я бы порекомендовал добавить локаль к данным канала события обратного канала.Таким образом, на стороне бота вы можете просто получить доступ к локали во входящей деятельности без необходимости десериализации каких-либо объектов JSON при получении события.Обратите внимание, что вы также можете использовать текст или значение вместо channelData.См. Фрагменты кода ниже.
Событие обратного канала BotChat
// Send back channel event
botConnection.postActivity({
from: userinfo,
name: 'setLocale',
type: 'event',
channelData: "es"
}).subscribe(id => console.log(id));
Бот - C #
public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
{
if (turnContext.Activity.Type == ActivityTypes.Message)
{
...
} else if (turnContext.Activity.Type == "event") {
// Check for `setLocale` events
if (turnContext.Activity.Name == "setLocale") {
await turnContext.SendActivityAsync($"Your locale is set to {turnContext.Activity.ChannelData}");
}
}
else
{
await turnContext.SendActivityAsync($"{turnContext.Activity.Type} event detected");
}
}
Надеждаэто помогает!