Проактивные сообщения с помощью разговорного бота MS Teams Node js (BotFrameWork v4) - PullRequest
0 голосов
/ 08 июля 2020

Я пытаюсь отправлять проактивные сообщения в MS Teams, я основывался на образце MS, который вы можете найти по этой ссылке и развернуть в Dev BotFrameWork , теперь я хочу для предоставления упреждающих сообщений, таких как отдельная служба, например, на странице формы HTML, где я буду запрашивать у пользователя сообщение и адрес электронной почты, кому вы хотите отправить сообщение, а также текст сообщения, я попытался предоставить эту функцию ниже, как путь к моему API, и вызвать ее, когда я получаю запрос со страницы HTML, в этом конкретном примере я буду отправлять сообщения только ограниченной группе пользователей, у меня есть MS TeamsID, ​​tenantID и все данные каналов каждого пользователя, хранящиеся в MYSql DB.

Но я не знаю, как подключить это к моей конечной точке сообщений на 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...