c# - MS Bot Framework - 通过降价链接传递数据
问题描述
是否可以通过降价链接传递数据?例如:
var html = "[link1](test1) [link2](test2)";
var reply = message.CreateReply();
reply.Text = $"Welcome {newMember.Name + html}!";
client.Conversations.ReplyToActivityAsync(reply);
有没有办法让我知道点击了哪个链接的点击事件?
解决方案
在 bot 框架中,如果您尝试从链接单击(或该OpenUrl
类型的按钮)中收集数据。推荐的方法是使用 302 重定向。这是因为正如 stuartd 所指出的那样,您通常无法从前端访问任何内容。例如,如果你有一个 facebook 机器人,你将如何捕捉用户点击的内容,因为没有任何东西发送给机器人?这是您遇到的问题。当用户单击链接时,您基本上必须向机器人发送活动,但无法访问 Facebook 前端,您如何在点击时发送该活动?
如果您想在机器人中查看 302 重定向的示例,我制作了这个同时具有 Node 和 C# 版本的示例。该项目展示了如何使用OpenUrl
action 类型的按钮执行此操作,但也可以应用于链接。
推荐阅读
- c# - 如何找出为什么特定排序较慢
- python - 尝试修改实例变量python时遇到问题
- google-cloud-logging - 在 Cloud Logging 中具有现有过滤器的同时在所有字段中搜索值
- androidpublisher - 是否有明确的 Android Publisher API 错误消息列表
- neural-network - 针对 SNR 范围训练神经网络
- javascript - 操纵动态创建的对象的值?
- python - 如何比较excel工作表名称并将其返回到列表的字典
- python - 为什么 Python 包不像 R 那样附带文档?
- python - 我无法删除出现在 DataFrame 的金额列中的日期
- c - 如何在带有链表的哈希表中修复 C 中的分段错误