我目前正在批准我的应用进入商店的批准过程。剩下的问题之一是:
1. Employer and Employee both didn’t receive any notification in the channel bot
我的机器人当前在manifest.json中设置为notificationOnly
,因为我不需要/希望用户直接发送消息。
查看“主动消息传递”文档,对于哪些消息以及何时发送它们会通过上述失败有点模糊。
我需要将消息发送到频道吗?
我当前正在使用NodeJS
谢谢
答案 0 :(得分:0)
这是一个很长的答案,涉及很多领域,只是因为我不确定100%是否知道您没有收到哪种通知。如果问题无法解决,请在问题中添加其他详细信息,我将对此答案进行编辑。
如果您遵循上面链接的《故障排除指南》,则您的用户应该会收到聊天通知。如果没有,您可以尝试更新您的MS Teams桌面或移动客户端。 @
提及用户和/或频道也可能会有所帮助
通常,关键问题是需要从下面添加trustServiceUrl
代码。通常,忽略此操作会显示500错误,但对于Teams而言,它似乎不会创建通知。基本上,您需要设置turncontext.activity的几个属性并信任serviceUrl。
实例化一些关键变量:
const teamsChannel = '19:8d60061c3d10xxxxxxxxxxxxxxxx@thread.skype';
const serviceUrl = 'https://smba.trafficmanager.net/amer/';
发送活动
// This ensures that your bot can send to Teams - serviceUrl ensures notifications, too
turnContext.activity.conversation.id = teamsChannel;
turnContext.activity.serviceUrl = serviceUrl;
MicrosoftAppCredentials.trustServiceUrl(serviceUrl);
await turnContext.sendActivity(yourActivity);
您也可以create Activity Feed Notifications。要点是您需要:
text
和summary
channelData
设置为true的notifications.alert
此代码将完成以下任务:
const msg = MessageFactory.text('my message');
msg.summary = 'my summary';
msg.channelData = {
notification: {
alert: true,
},
};
return await dc.context.sendActivity(msg);
结果:
注意:要接收通知,您和您的用户必须跟随该频道。