NodeJS Microsoft Bot Framework API在团队群聊中创建对话

bsxbgnwa  于 2023-05-06  发布在  Node.js
关注(0)|答案(1)|浏览(184)

我正在尝试使用NodeJS中的Microsoft Bot Framework向Teams Group Chat发送主动消息。
向团队频道或单个成员发送主动消息有效。但我正在努力实现同样的群聊。
这是我的代码:

postMessageToUser: async (text) => {        
        const audience = undefined;

        var convoParams = {
            isGroup: true,
            members: [
                {
                  id: '29:1iOfFpGevlFyx2SH9V0-KC0Xe4tBIZOSDLDK9a2ZMETtQdRUxQQ7qMBzHFC74VFD3__Vw1uJyzQr7QiBM7TXXXX',
                },
                {
                  id: '29:11lf7x9OmbdGw8aJGAuH3i7_PQYyM1hs6BDZpDo7Wac-n4VCCfLau0TNxvHbfy11dx8x2Sm5BX0dBxNSur_XXXX',
                },
                {
                  id: '29:1VSgyY9QkxAhwmtRNhYGxNvtg5HqvQFQP0Yq9wwop05OCJa_rkTRQGV2Rtq_sspay-1eLN3fuXgy0B0m6qcXXXX',
                }
              ],
            tenantId: "e3988cc8-cd1d-4332-b600-6908eedfXXXX",
            activity: MessageFactory.text(text)
        };

        await adapter.createConversationAsync(bot_config.MicrosoftAppId, "msteams", serviceUrlCache, audience, convoParams, async context => {
            console.log("ok we have context..");

            await context.sendActivity(MessageFactory.text(text));
        });
    },

但这似乎不起作用。API返回以下错误:

body: '{"error":{"code":"BadSyntax","message":"Incorrect conversation creation parameters"}}',

澄清一下,此群聊已存在。我不想创建新的群聊。

z2acfund

z2acfund1#

Microsoft Bot Framework可用于各种场景,因此并非所有功能都适用于所有设置。在这种情况下,在Teams中,你不能“创建”一个对话,因为它已经存在了,所以你需要改为SendToConversation。请参阅此处以获得更详细的答案:MS Teams bot -在新创建的组中创建对话返回405 BadArgument

相关问题