标签: botframework

Telegram 机器人在群聊中不回复

我使用Microsoft Bot Framework制作了一个简单的聊天机器人,并将其与 Telegram 集成。每当我私下给他发消息时,他都表现得很好,但每当我将他与我的朋友放在一个小组中时,即使我提到他,他也不会回复。 /setjoingroups已启用, 也是如此/setprivacy

telegram telegram-bot botframework

3
推荐指数
1
解决办法
1万
查看次数

如何发布 Azure 机器人

刚刚学习如何使用Azure 机器人服务Azure Bot Framework. 我按照Azure 官方教程在 Azure 门户中创建了一个机器人。这个机器人需要在某个地方发布吗?我在某处读到你Build-->Test-->Publish-->Evaluate。我已经按照此处的说明在 Azure 门户中对其进行了测试。不确定它的发布部分。

azure azure-machine-learning-studio botframework azure-bot-service

3
推荐指数
1
解决办法
666
查看次数

加载 Webchat 控件后立即从机器人发送问候/欢迎消息

我正在使用 Microsoft 的 C# Bot 框架开发机器人。我试图在用户发送任何内容之前向用户发送欢迎消息作为介绍。

经过研究,我HandleSystemMessage在a的情况下使用function和发送消息在某种程度上实现了这一点ConversationUpdate,如下所示:

if (activity.Type == ActivityTypes.ConversationUpdate) 
{
    IConversationUpdateActivity update = activity;
    if (update.MembersAdded.Any())
    {
        foreach (var newMember in update.MembersAdded)
        {
            if (newMember.Id != activity.Recipient.Id)
            {
                ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));

                Activity reply = activity.CreateReply();
                reply.Text("Hello, how can I help you?");
                await connector.Conversations.ReplyToActivityAsync((Activity)bubble);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我用这种方法面临的问题:

  • 在模拟器中,当您点击上面的刷新按钮或用户开始输入时,如果它已经闲置了一段时间,就会出现欢迎消息。这是我正在寻找的行为,它按预期工作。
  • 现在,当使用Bot Framework Web Chat组件时,此消息会在用户发起对话时发送,即当用户键入内容并将其发送给机器人时。这不是我想要的,而是我希望在加载 Web 聊天控件后立即从机器人显示消息,因为消息将包含有关如何使用机器人的一些说明。

我认为我的问题可以使用另一种ActivityType或者一些 Javascript 'hacky' 方式来解决,但直到现在我找不到解决方案。

c# botframework

3
推荐指数
1
解决办法
2338
查看次数

如何从 Ansible 调用 Azure CLI 函数

我正在尝试为机器人框架创建 Ansible 剧本。从它的外观来看,REST API 不能用于创建机器人,但可以从 Azure CLI https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-tools-az 获得-cli?view=azure-bot-service-3.0

有没有办法从 Ansible 调用 Azure CLI 函数,因为创建资源模块将无法处理它?

azure ansible botframework

3
推荐指数
1
解决办法
4144
查看次数

如何使用 V4 在 C# 中获取 Microsoft bot 框架中的用户名?

我正在尝试使用最新的机器人版本 v4 在聊天机器人应用程序中获取用户名。如何在更新的机器人版本 v4 中获取用户名?

c# chatbot botframework

3
推荐指数
1
解决办法
4843
查看次数

如何使用 bot builder sdk v4 中的中间件区分 Bot 到用户和用户到 Bot 消息?

我在 sdk V4 Bot 中实现了一个中间件来拦截 bot 和用户之间的每条消息并记录该自定义 mongo Db。我正在尝试为使用 SDK v4 构建的 Bot 实现类似的概念。看起来我可以使用以下代码添加中间件,但是不确定如何区分机器人到用户和用户到机器人之间的消息。

V3 机器人代码

bot.use({
    botbuilder: function (session, next) {
        logUserConversation(session)
        next()
    },
    send: function (event, next) {
        logBotsConversation(event)
        next()
    }
})
Run Code Online (Sandbox Code Playgroud)

中间件的 V4 bot 代码

botAdapter.use(async (turnContext, next) => {
    // How to find which messages/activity object is from user to bot

    await next();
    // How to find which messages/activity object is from bot to user.
});
Run Code Online (Sandbox Code Playgroud)

middleware node.js microsoft-cognitive botframework

3
推荐指数
1
解决办法
810
查看次数

如何更新已从 BOT 发送给用户的自适应卡?

我已经发送了包含捕获详细信息和按钮的卡片。从任务模块单击提交后,该模块将通过 http API 保存详细信息,此处的活动类型为“调用”。现在我必须更新现有的自适应卡。

我有更新消息的代码,但如何更新卡或再次重新发送卡。

                connector = new ConnectorClient(new Uri(activity.ServiceUrl));
                reply = activity.CreateReply($"You sent {activity.Text} which was {activity.Text.Length} characters");
                var msgToUpdate = await connector.Conversations.ReplyToActivityAsync(reply);
                Activity updatedReply = activity.CreateReply($"This is an updated message");
                await connector.Conversations.UpdateActivityAsync(reply.Conversation.Id, msgToUpdate.Id, updatedReply);
Run Code Online (Sandbox Code Playgroud)

c# botframework microsoft-teams adaptive-cards

3
推荐指数
1
解决办法
5752
查看次数

获取 DialogSet.add():测试时添加的对话框无效

我正在尝试为我的机器人对话框构建一些测试。我将相同的测试代码(和修改后的测试数据)与两个具有相同对话框名称的不同机器人一起使用。因此,两个机器人的 test.js 文件是相同的。但是,当我尝试在第二个机器人上通过 Mocha 运行我的测试时,我得到了一个Error: DialogSet.add(): Invalid dialog being added.每次测试的消息。我的第一个机器人不会发生这种情况。我什至尝试将第二个机器人中的对话框文件替换为(工作)中的对话框文件,但我仍然遇到相同的错误。因此,我在机器人之间找不到任何不同之处。我什至用第一个机器人的文件替换了所有有问题的文件(测试、测试数据/对话和对话框本身),但仍然出现相同的错误。最后,机器人之间的所有 botbuilder 包和其他依赖项都是相同的版本。我在这里不知所措......有人有任何想法吗?

这是正在调用的对话框。我省略了实际的对话框步骤,但这应该与问题无关,因为所有的对话框添加活动都发生在构造函数中。

const { TextPrompt, ChoicePrompt, ConfirmPrompt, ChoiceFactory, ComponentDialog, WaterfallDialog, DialogSet, DialogTurnStatus } = require('botbuilder-dialogs');
const { VistaServiceHelper } = require('../helpers/vistaServiceHelper');
const { TrackingServiceHelper } = require('../helpers/trackingServiceHelper');
const { CosmosDbStorage } = require('botbuilder-azure');

const LINE_PROMPT = 'linePrompt';
const ORDER_PROMPT = 'orderPrompt';
const CRITERIA_PROMPT = 'criteriaPrompt';
const SEARCH_CRITERIA = ['GO', 'PO'];
const WATERFALL_DIALOG = 'waterfallDialog';
const CONFIRM_PROMPT = 'confirmPrompt';

// Static texts
const escalateMessage = `Escalation message here` …
Run Code Online (Sandbox Code Playgroud)

mocha.js node.js botframework

3
推荐指数
1
解决办法
515
查看次数

Microsoft Teams:将我的自定义应用程序安装到我组织的团队时“出现问题”

我为 Microsoft Teams 创建了一个应用程序,可以将其添加到团队中。该应用程序是使用 Microsoft Bot 框架创建的聊天机器人。我已经制作了其他两个具有类似功能的应用程序,可以很好地安装。

当我使用 App Studio(并链接到现有机器人)创建我的应用程序时,一切都很好,但是当我尝试将其添加到团队时,我收到“出现问题”消息,并且也没有向我的机器人发送请求。 ..

有没有人遇到过类似的问题,或者有人知道如何调试吗?我的清单如下。

清单如下(替换了 id)。

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.5/MicrosoftTeams.schema.json",
    "manifestVersion": "1.5",
    "version": "0.0.2",
    "id": "my-id-is-here",
    "packageName": "nl.getsofia.teams.acceptance",
    "developer": {
        "name": "Sofia Melius B.V.",
        "websiteUrl": "https://www.getsofia.nl",
        "privacyUrl": "https://www.getsofia.nl/",
        "termsOfUseUrl": "https://www.getsofia.nl/"
    },
    "icons": {
        "color": "color.png",
        "outline": "outline.png"
    },
    "name": {
        "short": "Sofia Acceptance 2",
        "full": "Sofia Acceptance Nice"
    },
    "description": {
        "short": "ACCEPTANCE bot",
        "full": "ACCEPTANCE bot long description"
    },
    "accentColor": "#FFFFFF",
    "bots": [
        {
            "botId": "my-bot-id-is-here",
            "scopes": [
                "personal",
                "team"
            ],
            "commandLists": …
Run Code Online (Sandbox Code Playgroud)

json microsoft-appstudio botframework microsoft-teams

3
推荐指数
1
解决办法
1647
查看次数

我应该使用哪种机器人解决方案,Botframework 或 Composer 工具或 Power Virtual Agent?Power 虚拟代理成本高吗?

我已经使用 C# 使用机器人框架并托管在 azure 中。我们的机器人与 LUIS 集成并使用 SharePoint 列表来回答常见问题。我们想升级我们的机器人,现在我们看到了许多新的机器人解决方案,如强大的虚拟代理和作曲家。是否值得切换到任何新解决方案?如果是,哪个更好,费用是多少。

azure botframework azure-bot-service bot-framework-composer

3
推荐指数
1
解决办法
1907
查看次数