gpt4 book ai didi

c# - 如何让BOT发起对话

转载 作者:太空宇宙 更新时间:2023-11-03 12:03:35 28 4
gpt4 key购买 nike

我创建了一个可与新的多圈 QnAmaker 功能配合使用的 QnABot。 BOT 在与模拟器一起使用时可以正常启动对话,但在 Iframe 或 Azure 测试环境中使用时则不会。任何人都可以帮助我了解我需要添加或更改代码以使其启动的内容。需要澄清的是,当我在本地运行代码时,它可以正常工作。它在 iframe 或类似的框架中不起作用

    protected override async Task OnMembersAddedAsync(IList<ChannelAccount> membersAdded, ITurnContext<IConversationUpdateActivity> turnContext, CancellationToken cancellationToken)
{
foreach (var member in membersAdded)
{
// Greet anyone that was not the target (recipient) of this message.
if (member.Id != turnContext.Activity.Recipient.Id)
{
await turnContext.SendActivityAsync(MessageFactory.Text($"Welcome to the IBC Leave Bot, I can help you answer questions about your leave.\n\n Type HELP to get some ideas about what to ask me"), cancellationToken);
}
}
}
}

最佳答案

你不能从服务器端做任何事情,你必须从客户端发起对话。在 Azure 测试环境或 Iframe(直线)上,它在您发送第一条消息时完成。

这是一个嵌入机器人的 html 页面示例

<!DOCTYPE html>
<html>
<head>
<title>
chatbot
</title>
<meta charset="UTF-8">
<link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />
</head>
<body>
<div id="bot" />
<script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>
<script>
function guid() {
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}

function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}

var userId = guid().toUpperCase();
var userName = 'User-' + Math.floor((1 + Math.random()) * 10000);

var secret = 'XXXXXX-BotSecret-XXXXXXX';

var user = {
id: userId,
name: userName
};

var bot = {
id: 'Demo-WebAppBot',
name: ' Demo ChatBot'
};


var botConnection = new BotChat.DirectLine({
secret: secret,
webSocket: true
});

console.log("Init bot component");

BotChat.App({
botConnection: botConnection,
user: user,
bot: bot,
resize: 'detect'
}, document.getElementById("bot"));
<!-- Conversation is initiated here by sending a dummy message to the bot -->
botConnection.postActivity({ type: "event", from: user, name: "firstMessage", value: "ping" }).subscribe(id => console.log("Conversation updated"));
</script>
</body>
</html>

关于c# - 如何让BOT发起对话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56055982/

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