【发布时间】:2020-07-07 23:13:13
【问题描述】:
我需要一种方法,通过使用直线的集成网络聊天窗口,将数据从 Angular 应用程序发送到我的 MSFT 机器人框架的 C# 实现。
我们的特定用例意味着当用户在我的 Angular 应用程序中打开网络聊天窗口时,我需要向团队中的用户发送消息列表。我目前在创建窗口时执行以下操作:
window.WebChat.renderWebChat(
{
directLine,
userID: id + '',
username: 'user'
},
this.botWindowElement.nativeElement
);
directLine
.postActivity({
from: { id: id + '', name: 'webchat_user' },
name: 'requestWelcomeDialog',
type: 'event',
value: 'token'
})
.subscribe(
id => console.log(`Posted activity, assigned ID ${id}`),
error => console.log(`Error posting activity ${error}`)
);
然后当用户连接时我有这个方法来处理
protected override async Task OnTeamsMembersAddedAsync(IList<TeamsChannelAccount> membersAdded, TeamInfo teamInfo, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
{
foreach (TeamsChannelAccount member in membersAdded)
{
if (member.Id != turnContext.Activity.Recipient.Id)
{
await turnContext.SendActivityAsync(MessageFactory.Text($"Welcome {member.Name}!"), cancellationToken);
}
}
}
我正在寻找一种方法来获取我从 Angular 应用程序发送到 C# 后端的对象,而不会产生意外的副作用。然后,此对象将用于重新创建用户使用不同机器人创建的聊天历史记录。
【问题讨论】:
-
欢迎来到 Stack Overflow。你的问题是什么?请查看方便的指南,了解您可以采取哪些步骤来更快地获得更好的答案:stackoverflow.com/help/how-to-ask
标签: c# angular botframework