问题标签 [proactive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何使用 Bot Framework V4 C# SDK 在 Teams 中迁移 1:1 主动消息功能
我有一个 Bot Framework V3 SDK 实现(工作正常),它可以使用 Microsoft Teams Bot(安装在同一团队中)与特定团队中的任何用户发起 1:1 私人聊天。我在尝试将其迁移到 V4 SDK 时遇到问题。
我阅读了各种文章和其他问题,除非用户首先联系机器人(以避免向用户发送垃圾邮件),否则不可能做到这一点,但这不适用于 V3 版本,也不是我需要的功能的选项.
原始解决方案使用程序集的“ CreateOrGetDirectConversation
”扩展方法Microsoft.Bot.Connector.Teams
,但在程序集的 V4 版本中不可用。
我尝试使用CreateDirectConversation
/CreateDirectConversationAsync
方法但没有成功(它们总是导致“错误请求”错误)。
这是使用 V3 库实际工作的代码:
而且我发现迁移非常困难。我错过了什么吗?
api - Alexa Proactive Events API - 如何确定用户是否禁用了 Alexa 通知?
在我们的 Alexa 技能中,我们想要确定用户是否禁用了 Alexa 通知权限。因此,我们在 Skill.json 中添加了以下内容:
然后,我们创建了一个 Intent Handler 来响应 type 的请求AlexaSkillEvent.ProactiveSubscriptionChanged
。
我们已经验证,当用户授予 Alexa 通知权限时会调用此处理程序,但当用户禁用 Alexa 通知权限时不会调用此处理程序。
我们如何确定用户是否在我们的技能中禁用了 Alexa 通知?
.net-core - BOT 框架主动消息不起作用
我正在为托管在 IIS 中并在 Azure 中注册为 BOT 通道注册 BOT 的 BOT 处理主动消息。
我得到以下错误,
消息:操作返回无效状态代码“未授权”
StackTrace:在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 在 Microsoft.Bot.Connector.ConversationsExtensions.d__17.MoveNext()
代码如下所示,
-- 通知.cs
编辑 1:
我正在尝试将主动消息发送到系统托盘图标中显示的机器人。我们创建了一个 windows 应用程序,通过它我们向用户发送 windows 通知。当用户单击通知时,它会打开系统托盘图标中存在的机器人,并且它应该在 BOT 中显示与主动消息相同的消息通知消息。
我们使用直线 API 来创建对话参考。我们正在传递相同的对话引用并使用 BotApadater 的 ContinueConversationAsync 从打开的机器人中填充相同的消息。form.cs 和 Notify.cs 的整个代码在 windows 应用程序中返回,bot 托管在 IIS 上并在 Azure 中注册为 BOT Channel 注册 BOT。
目前,我们没有收到未经授权的错误并且代码已成功执行,但我们没有收到来自机器人的任何主动消息。为了打开机器人,我们在 Windows 应用程序中使用 iframe URL。
请帮助我在这里做错了什么或提出其他一些方法。
窗口系统托盘应用 Form.cs 方法
**编辑2:**请参考下面的截图,我们在向以下URL发送请求后得到三个活动ID, https://directline.botframework.com/v3/directline/conversations/ “+ conversationToken.conversationId +”/活动”
其中我们使用的是索引1活动,因为它包含服务 URL 和需要主动向其发送消息的用户详细信息,并且它没有 BOT 详细信息(Bot 属性),因此我们手动分配它。
alexa - 我可以在没有 AWS lambda 的情况下使用 Alexa 技能提醒 API 和主动事件 API 吗?
我想将 Proactive Event API 和 Reminder API 集成到 Alexa 技能中。我看到了一些使用 aws lambda 的示例。我想知道我是否可以使用我自己的服务来使用它?
sms - 通过 OTA-SMS 向 USIM/SIM 卡发送 APDU 命令 DISPLAY TEXT
我使用 SMS-SUBMIT 消息将命令 DISPLAY TEXT 发送到手机。为什么我的手机屏幕上看不到任何文字?
细节:
根据 ETSI TS 23.048 我的 SMS-SUBMIT 消息,我不使用任何安全功能(无 KIC、KID、RC/CC/DS)
我的显示文本命令
D0 3F ; 这是一个长度为 0x3f 的主动命令
81 03 01 21 81;命令为DISPLAY TEXT,高优先级,等待用户
82 02 81 02 ; 它是从 SIM 发送到显示器的
8D 34 04 ; 编码为 8 位默认 SMS (ASCII),消息:
48 65 6C 6C 6F 20 77 6F 72 6C 64 21 20 49 20 61 6D 20
; “你好世界!我是”
61 6E 20 61 6C 74 65 72 6E 61 74 69 76 65 20 53 49 4D
; “另一种 SIM 卡”
20 54 6F 6F 6C 6B 69 74 20 73 74 61 63 6B 2E
; “工具包堆栈。”
我合并 SMS-SUBMIT 和 DISPLAY TEXT 并通过 SMS 在 SIM 上发送它们。但是我在tne手机的屏幕上没有收到任何文字。为什么?
c# - Microsoft Teams 机器人向团队的每个成员发送主动消息
我正在使用 Microsoft C# 机器人框架 v4 构建一个机器人。当机器人第一次加入团队时,我希望它主动 1:1 向团队的每个成员发送消息,介绍自己。我知道应该可以与用户开始聊天,即使用户之前没有与机器人进行过交互。此过程在文档中进行了描述:
当使用主动消息向用户发送欢迎消息时,您必须记住,对于大多数接收消息的人来说,他们不会知道为什么会收到消息。这也是他们第一次与您的应用互动;这是你创造良好第一印象的机会。最好的欢迎信息将包括:
- 他们为什么会收到此消息。用户应该非常清楚为什么他们会收到消息。如果您的机器人安装在频道中,并且您向所有用户发送了欢迎消息,请让他们知道安装在哪个频道中以及可能是谁安装了它。
对我来说,这表明我应该能够与频道的每个成员发起聊天消息,但我无法让机器人向频道中除我以外的任何人发送消息。在 Microsoft 提供的TeamsConversationBot 示例中,有一个 MessageAllMembers() 方法似乎是我正在寻找的方法,但是当我在代码中调用它并将机器人添加到 Teams 中的团队时,机器人只会向我发送消息。
这是我正在使用的 MessageAllMembers() 代码:
它没有抛出任何异常,只是没有按照我的预期进行。
.net-core - 使用 Bot Framework V4 在 Teams 中发送主动式 1:1 消息
我正在尝试使用 Teams SDK 将主动 1:1 消息从机器人发送到团队,代码如下
我对此有以下问题,
除非用户在部署后进行了先前的对话,否则机器人无法发送主动消息
机器人部署
Bill to Bot - 工程
Bot to Bill - 作品
机器人重新部署
Bot to Bill - 不起作用,因为重新部署后现在对话中没有成员
Bill to Bot - 工程
Bot to Bill - 重新部署后,Bill 进行对话时现在可以工作
Bot 多次向用户发送相同的消息
Bill to Bot - 工程
Bot to Bill - 主动工作 - 按照应有的方式发送 1 条已定义的消息
Sim to Bot - 工作
Bot to Sim - 发送 2 条相同的消息,因为现在对话中有两个成员
Will to Bot - 有效
Bot to Will - 发送 3 条相同的消息,因为现在对话中有 3 个成员
注意:我将 Teams 用户 ID 存储在 DB 中,并使用它们向用户发送直接消息
任何有关如何纠正此问题的帮助将不胜感激。谢谢。
javascript - Teams botframework 发送主动消息 REST api
我尝试使用团队机器人(botfreamwork)创建新的对话并发送主动消息。
我用这个文件来做到这一点。
我发布到:SERVICE_URL/v3/conversations/
身体:
BOT_ID - 我输入了机器人的应用程序 ID(前缀为“28:”)
USERֹ_ID - 我从用户收到的消息中复制了 USER_ID(不是在主动消息中)
TENANT_ID - 我从团队的链接中获取了租户 ID
我收到此错误:
我多次尝试更改用户 ID:我更改为出现在 ADD 中的用户,我更改了前缀 29: 并且没有前缀 29: - 没有任何帮助,此错误继续出现。
我错过了什么?
botframework - Microsoft Azure 机器人服务主动向群组(会议)聊天发送消息
我想实现以下场景:在一个应该在现实世界中的房间(不一定在 MS Teams 中)举行的会议中,我希望 Microsoft Azure 聊天机器人在没有人的情况下向会议聊天室发布消息必须将机器人添加到该会议聊天中。
我注意到,仍然不可能向 MS Teams 发送真正的主动消息,因此需要一种解决方法:在他添加机器人(例如,通过个人团队应用程序)时捕获包括用户 team-chat-id 的对话参考。如果团队应用程序通过策略推送给组织内的所有用户,则此方法效果很好。
然而,这种解决方法在会议聊天中是不可能的,在机器人应该写入它的时候可能不存在。因此,不可能捕捉到要发布的对话参考。
此外,我注意到甚至不存在 MS Graph 端点,也没有逻辑应用程序中的连接器,用于在没有通道上下文的情况下向多个用户发布团队消息。
您是否看到此方案的任何解决方法,还是根本不支持?
alexa - 在 Alexa 中发送通知时如何在 Alexa 屏幕设备上不显示 ssml 标签
我已经实现了 Alexa Proactive 事件以通过我们在 Alexa 中的技能发送通知。它工作正常。但问题是我们已经添加了 SSML 标签说像这样以数字 2212545 说话来处理音频。现在这个标签显示在 Alexa 设备的屏幕上。我们不想显示 SSML 标签。请谁能告诉我们如何在显示这是我要发送的正文时在我们的 Alexa 通知中删除这些 SSML 标签
{"时间戳":"2021-02-23T07:06:00.693Z","referenceId":"db8b343f-5639-431c-a436-e7c6eee604c4","expiryTime":"2021-02-24T07:06:00.693Z" ,"event":{"name":"AMAZON.MessageAlert.Activated","payload":{"state":{"status":"UNREAD"},"messageGroup":{"creator":{"name" : "用户 ID 2212545 的金额 5000 将于 2021 年 10 月 2 日记入"},"count":1}}},"relevantAudience":{"type":"Unicast","payload":{"user" : 用户身份}}}