有没有办法创建一个英雄卡,其中的按钮在转发给其他用户时仍然有效?
我们希望构建一个聊天机器人,让您与其他人分享内容。首先,您通过聊天机器人(主要通过按钮)进行设置,然后将其转发给您的某个联系人,以便他们可以参与。使用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);
答案 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)