从Skype Chatbot转发英雄卡功能按钮(或深层链接聊天机器人并传递参考)

时间:2018-05-07 16:01:30

标签: botframework chatbot skypedeveloper

有没有办法创建一个英雄卡,其中的按钮在转发给其他用户时仍然有效?

我们希望构建一个聊天机器人,让您与其他人分享内容。首先,您通过聊天机器人(主要通过按钮)进行设置,然后将其转发给您的某个联系人,以便他们可以参与。使用Facebook Messenger,我们可以直接调用共享操作,弹出共享对话框,用户可以将该卡转发给联系人。在卡的按钮中使用m.me/123?ref=456 URL,接收者可以在正确的上下文中与聊天机器人打开对话。我设法为Telegram做了类似的事情。

我尝试用其他服务复制它。使用Skype无法明确调用共享操作,但我可以写一条消息"请将下一张卡转发给您要与之共享的用户:" [然后我显示那张卡片]。现在我给那张卡片一个带有postBack动作的按钮,该按钮应打开正确的上下文,但该按钮似乎不起作用。点按它时,不会向聊天机器人发送回帖。

有没有办法实现类似于我用Skype描述的Facebook Messenger?或者有没有办法深入链接到聊天机器人传递一些参考?

(无论如何,我宁愿让第二个用例更晚,用户在他们的网站上放置一个分享按钮,然后在与聊天机器人的对话中打开Skype,传递参考。我有那个用于Messenger和电报。)

编辑:我想做的事情基本上如下。我使用nodejs,但只使用ChatConnector类而不是UniversalBot类。

connector.send([
    {
        type: 'message',
        address,
        textFomrat: 'plain',
        text: 'Forward the next message to people you want to share THING with:',
    },
    {
        type: 'message',
        address,
        attachments: [{
            contentType: 'application/vnd.microsoft.card.hero',
            content: {
                title: name,
                images: [{
                    url: image_url
                }],
                buttons: [{
                    type: 'postBack',
                    title: 'Chat with this bot about THING',
                    value: 'open:' + thing_id,
                }]
            }
        }],
    }
], callback);

1 个答案:

答案 0 :(得分:0)

我不确定你是如何向其他用户发送卡片的,但这里是.net中的一个示例,其中发送的按钮将按预期为其他用户运行:

SELECT 
 h1.Date AS Date,
 h1.Currency AS Currency1,
 h2.Currency AS Currency2,
 h1.Account AS Account,
 SUM(h1.Size) AS Size1,
 SUM(h2.Size) AS Size2,
 h1.MaturityDate AS MaturityDate
FROM
 htable h1 JOIN htable h2 ON 
 h1.AssetClass = 'FX' AND
 h2.AssetClass = 'FX' AND
 h1.Date = h2.Date AND
 (SUBSTR(h1.Ticker, 7, 3) <> h1.Currency) AND
 (SUBSTR(h2.Ticker, 7, 3) = h2.Currency) AND
 h1.SecID = h2.SecID
GROUP BY h1.Date, h1.Currency, h2.Currency, h1.Account, h1.MaturityDate
HAVING SUM(h1.Size) <> 0 AND SUM(h2.Size) <> 0)