Упреждающее сообщение, сборщик сообщений для мессенджера FB с типом сообщения и тегами в nodejs с использованием Azure функций - PullRequest
1 голос
/ 20 марта 2020

Для отправки сообщений FB Messenger через 24 часа закрытия окна

Эта документация: https://developers.facebook.com/docs/messenger-platform/send-messages/message-tags

Этот код:

const { ActivityTypes, BotFrameworkAdapter } = require('botbuilder');
    const adapter = new BotFrameworkAdapter({
    appId: process.env.MicrosoftAppId,
    appPassword: process.env.MicrosoftAppPassword
});

module.exports = async function (context, req) {    
    if (!req.body) {
        context.res = {
            status: 400,
            body: "Please pass a conversation reference in the request body"
        };
        return;
    }
    var msg = { type: ActivityTypes.Message };
    msg.text = "hello"
    const conversationReference = req.body;
    await adapter.continueConversation(conversationReference, async turnContext => {    
         await turnContext.sendActivity(msg);    
    });

    context.res = {
        body: 'Message sent!'
    };

};

Я пытаюсь добавить теги сообщения и попытался:

 msg.sourceEvent({
    facebook: {
        messaging_type: 'MESSAGE_TAG',
        tag: 'ACCOUNT_UPDATE'
    }
});

, но я получаю сообщение msg.sourceEvent не является функцией. А также:

msg.messaging_type = 'MESSAGE_TAG';
msg.tag = 'ACCOUNT_UPDATE';

, который не работает и продолжает работать со сбоями сохранения: вы отправляете сообщения вне 24-часового окна.

Кто-нибудь знает, как заставить это работать?

1 Ответ

1 голос
/ 20 марта 2020

Возможно реализовать спецификацию канала c функциональность с помощью свойства channelData объекта деятельности.

await turnContext.sendActivity({
    text: 'Hello!',
    channelData: {
        messaging_type: 'MESSAGE_TAG',
        tag: 'ACCOUNT_UPDATE'
    }
});
...