gpt4 book ai didi

node.js - Bot Framework Emulator 处理新成员的方式与 Bot Framework Webchat 不同吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:26 25 4
gpt4 key购买 nike

根据这个官方示例项目( https://github.com/microsoft/BotBuilder-Samples/blob/master/samples/typescript_nodejs/13.core-bot/src/bots/dialogAndWelcomeBot.ts ),我可以识别新成员并使用此(我的代码)向他们发送欢迎消息:

this.onMembersAdded(async (context) => {
const welcomeCardTemplate = require("../lib/data/resources/cards/welcomeCard.json");
const membersAdded = context.activity.membersAdded;
for (const member of membersAdded) {
if (member.id !== context.activity.recipient.id) {
const welcomeCard = CardFactory.adaptiveCard(welcomeCardTemplate );
await context.sendActivity({ attachments: [welcomeCard] });
}
}
});

使用模拟器时效果很好。一旦我连接到聊天,我就会收到欢迎消息,但是当使用 Azure 上的聊天或 WebChat 时,只有在我第一次在聊天中输入某种文本输入时才会触发它。

我注意到的一件事是,当我使用模拟器时,一旦我连接到聊天,两个事件就会发送到机器人,一个包含机器人的 ID,另一个包含用户的 ID,但当使用其他聊天选项(Azure 聊天和 WebChat)时,仅发送一项事件(其中 memberId 与收件人 ID 相同),因此它永远不会超出 if 语句。

我在这里错过了什么,为什么 Azure 聊天和 WebChat 只发送一项事件?

最佳答案

目前,在某些情况下(如您所描述的情况),WebChat 和 DirectLine 的行为与模拟器不同。有一个open issue对于这种特殊情况,您可以在其中找到更多信息。

如问题中所述,there is a workaround强制 ConversationUpdate 事件,您可以尝试测试它是否适合您的需求(我自己还没有尝试过)。

关于node.js - Bot Framework Emulator 处理新成员的方式与 Bot Framework Webchat 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56056885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com