在 iframe 中启动外部机器人并触发特定流程

我们希望在 Discourse 站点中集成一个第三方聊天机器人,帮助新用户在他们加入社区并支付会员费(通过 订阅插件)之前了解我们的社区宗旨。我们希望通过站点内的帖子和号召性用语(CTA)中的链接或按钮点击来触发该机器人,并启动预设的对话流程。

该机器人(示例链接)可以通过 iframe 嵌入,或在 </body> 标签前插入以下脚本进行集成:

<script src="https://widget.flowxo.com/embed.js" data-fxo-widget="eyJ0aGVtZSI6IiM2N2MxOGUiLCJ3ZWIiOnsiYm90SWQiOiI1ZjYwNmFmZGJhYmU5NjAwNGIwODc4NTMiLCJ0aGVtZSI6IiM2N2MxOGUiLCJsYWJlbCI6IkV4YW1wbGVib3QifX0=" async defer></script>

因此,我(非程序员 :wink:)构建了一个主题组件,包含上述代码以及一个额外的脚本,用于在点击具有特定 ID 的链接时触发特定的流程:

<script type="text/javascript">

        // 等待页面加载完成
        window.onload = function() {

          // 获取页面上 ID 为 "mylink" 的链接引用
          var a = document.getElementById("mylink");

          // 设置链接点击时执行的代码
          // 通过为 "onclick" 分配一个函数实现
          a.onclick = function() {

            // 此处填写你的代码...
            FxoMessenger.create();
           FxoMessenger.on('stateChanged', function(state) {
      if (state === 'connected') {
        FxoMessenger.sendMessage('这是触发机器人流程的文本!');
      }
    });
            // 如果你不希望链接实际跳转到另一个页面,
            // 例如我们示例中的 "google.com",
            // 则在此块末尾返回 false。
            // 请注意,这也会阻止事件冒泡,
            // 这可能是我们想要的行为,但并不总是适用。
            return false;
          }
        }

理论上这应该可以工作,但不幸的是,Discourse 帖子中的链接会自动移除其 ID。请问是否有办法实现这一需求?感谢帮助!