与MS团队对话Bot Node js(BotFrameWork v4)的主动消息

时间:2020-07-08 17:45:13

标签: node.js botframework microsoft-teams

我正在尝试向MS团队发送主动消息,我以自己在Link处找到并在Dev BotFrameWork部署的MS样本为基础,现在我想提供主动消息就像一个单独的服务,例如在HTML表单页面中,我是否要向用户请求要发送消息的消息和电子邮件,以及消息的文本,因此我试图提供此功能,例如路径的API,并在我从HTML页面接收请求时调用此方法,在此特定示例中,我只会将邮件发送给受限用户组,我将MS TeamsID,tenantID和每个用户的所有渠道数据存储在一个MYSql数据库。

但是我不知道如何将其连接到Dev.BotFramework上的消息端点。

有人可以帮我吗?

注意:当我在团队对话中向机器人提供电子邮件和文本时,此代码有效,但我想像外部服务一样提供

async SendPrivateMessageAsync(context, who, text) {
    var dados = {}
    var membros = []
    const user = require('./sql').selectSingleUser
    who = who.replace(/\s*,\s*/g, ",")
    who = who.split(',')
    for (var n in who) {
        dados = (await user(this.poolConnection, who[n])
            .then(resp => {
                return resp[0]
            })
            .catch(err => {
                console.log(err)
            })
        )
        membros.shift()
        membros.push(dados)
        const message = MessageFactory.text(`Aviso: ${text}`);
        var ref = TurnContext.getConversationReference(context.activity);
        ref.user = membros[0];
        await context.adapter.createConversation(ref,
            async (t1) => {
                const ref2 = TurnContext.getConversationReference(t1.activity);
                await t1.adapter.continueConversation(ref2, async (t2) => {
                    await t2.sendActivity(message);

                });
            });
       await context.sendActivity(MessageFactory.text('All messages were sent'))
    }
    return true
}

0 个答案:

没有答案