Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bot Framework v4-启动与用户的聊天(主动消息)_Javascript_Azure_Botframework_Azure Bot Service - Fatal编程技术网

Javascript Bot Framework v4-启动与用户的聊天(主动消息)

Javascript Bot Framework v4-启动与用户的聊天(主动消息),javascript,azure,botframework,azure-bot-service,Javascript,Azure,Botframework,Azure Bot Service,我想开始与一个用户对话,而不是他已经与机器人聊天 当用户安装bot应用程序时,我正在获取会话ID 下面是如何使用processActivity事件捕获reference和serviceUrl 然后我使用continueConversation+reference const { BotFrameworkAdapter, } = require('botbuilder'); const adapter = new BotFrameworkAdapter({ appId: "xxxx

我想开始与一个用户对话,而不是他已经与机器人聊天

当用户安装bot应用程序时,我正在获取
会话ID

下面是如何使用
processActivity
事件捕获
reference
serviceUrl

然后我使用
continueConversation
+
reference

const {
    BotFrameworkAdapter,
} = require('botbuilder');
const adapter = new BotFrameworkAdapter({
    appId: "xxxx",
    appPassword: "xxxxy"
})
module.exports = async function(context, req) {
    console.log(adapter);
    try {

        adapter.processActivity(req, context.res, async (turnContext) => {
            const reference = turnContext.activity.conversation.id
            const serviceUrl = turnContext.activity.serviceUrl

            await adapter.continueConversation(reference, async (turnContext) => {
                try {
                    await turnContext.sendActivity("this is proacive message");

                } catch (e) {
                    console.log(e)
                }
            });

        });
    } catch (e) {
        console.log(e)
    }
    return;
};
我犯了这个错误

错误:BotFrameworkAdapter.sendActivity():缺少serviceUrl。

我已经检查了
turnContext.activity
值。我得到:
{“type”:“event”,“name”:“continueConversation”}“
所有其他值都未定义(serviceUrl也未定义)

我注意到
turnContext.activity
adapter.processActivity
中与
adapter.continueConversation
中不同,并且具有所有
serviceUrl
conversationId


如何编辑此代码示例以便能够向用户发送主动消息?

如果要将const引用用于BotFrameworkAdapter.continueConversation(),则const引用需要是ConversationReference,而不仅仅是Id

可通过以下方式检索对话引用:

const reference = TurnContext.getConversationReference(turnContext.activity);


如果要将const引用用于BotFrameworkAdapter.continueConversation(),则它必须是ConversationReference,而不仅仅是Id

可通过以下方式检索对话引用:

const reference = TurnContext.getConversationReference(turnContext.activity);