如何解决机器人如何从任务模块提交的上下文中发送私人消息?
我有一个用例,在另一个用户通过任务模块提交后,机器人需要向团队中的用户发送私人消息。消息基本上是,“Joe Schmo 与您分享了一些东西。”
我已尝试在此处使用此代码示例,而我将参考以下内容:https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/javascript_nodejs/57.teams-conversation-bot/bots/teamsConversationBot.js#L172
然而,它似乎只在上下文是发送给机器人的消息时才有效,无论是私人的还是在频道中。
当从 task/submit
事件调用此代码时,context
对象被修改为抛出错误:
(node:14206) UnhandledPromiseRejectionWarning: TypeError: Cannot perform 'get' on a proxy that has been revoked
发生此错误的行很简单:
const ref = TurnContext.getConversationReference(context.activity);
在调试时我注意到在 messageAllMembersAsync
函数开始时 context
对象有一个 activity
,但是在执行 TeamsInfo.getPagedMembers()
之后 activity
是null
。
我需要做什么才能让 messageAllMembersAsync
在提交任务模块的上下文中工作?
解决方法
- 保存proactive messages
- 当用户 2 完成任务后,您可以使用 required information about user 1 向用户 1 发送消息。
检查如何使用 /api/notify
发送主动消息:Proactive Message sample code
如果您遇到任何问题,请告诉我们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。