如何使bot代码独立于频道(我想要一个用于facebook工作和DirectLine的bot代码)

如何使bot代码独立于频道(我想要一个用于facebook工作和DirectLine的bot代码),facebook,botframework,direct-line-botframework,Facebook,Botframework,Direct Line Botframework,我的目标是使用单个bot代码在两个不同的频道DirectLine和DirectLine上运行botFacebook@work。我将举一个我在使用facebook频道和directLine频道时面临的问题的例子。我的问题如下: 虽然DirectLine中的标记支持链接或URL,但facebook不支持,我必须制作一张单独的英雄卡。 即使我在facebook上通过英雄卡使用url,skype链接也无法连接,因为链接“sip:**@xxx.com”被单独更改为xxx。 我无法从“from.name”中

我的目标是使用单个bot代码在两个不同的频道DirectLine和DirectLine上运行botFacebook@work。我将举一个我在使用facebook频道和directLine频道时面临的问题的例子。我的问题如下:

虽然DirectLine中的标记支持链接或URL,但facebook不支持,我必须制作一张单独的英雄卡。 即使我在facebook上通过英雄卡使用url,skype链接也无法连接,因为链接“sip:**@xxx.com”被单独更改为xxx。 我无法从“from.name”中获取用户的名称

那么,解决这一问题的最佳方法是什么?我是否应该为每个通道编写函数?这是唯一的选择。
最后我想要的是一个独立于用于聊天的频道的bot代码

为活动使用一个简单的切换框。在messagesController中设置频道,然后格式化活动。Facebook频道不支持为每个频道设置问题的文本。因此,无法从Facebook频道直接连接到Skype


Facebook@work只向bot框架返回相应用户的id。然后,我们必须使用Facebook api获取具有相应id的用户名。

hi@Gp_1993,欢迎来到StackOverflow。似乎标题中的问题和文本中的问题是不同的,似乎您还有另外两个不同的问题(一个是“sip”问题,另一个是“From.Name”)。这给回答者增加了一些困惑,也许这就是为什么你会投反对票。我建议你澄清这个问题(或者分为不同的Stackoverflow问题并添加更多细节),让我们更容易帮助你hi@JustShadow谢谢你的回答……但这两个问题是相互关联的:)我想知道的是如何使用相同的bot框架c#代码,独立于用于聊天的频道。所以我只是列举了使用两种不同渠道时所面临的问题的例子,即Directline和Facebook@work:)到目前为止,无法通过factory为所有频道生成丰富的消息(更多的是未格式化的文本)。您需要为每个通道生成特定的响应。微软推出2017年版自适应卡-。它是一种开源方法,通过声明可视化的开放标准来解决这个问题。在这里,你可以找到as today的状态:哦…好的,谢谢你…你可以把它作为答案。对于每个频道,我也必须创建不同的HeroCard。这就是我现在所做的,看起来很奇怪,加上Herocards在不同的频道中以不同的方式出现,就像根据文本的长度一样。