【问题标题】:Facebook Messenger API:how to break line in a messageFacebook Messenger API:如何在消息中换行
【发布时间】:2018-10-12 20:37:09
【问题描述】:

在 Facebook Messenger 聊天中,我们可以通过按“SHIFT+ENTER”来换行。
那么如何通过 Facebook Graph API(Messenger API)来换行。
我在一些答案中看到 Graph API 接受 <center></center> 而不是 <br> 并且其 API 的其他一些部分似乎接受 \r\n

目前是否有任何发送换行符的方法,是否有记录?

【问题讨论】:

  • 由于text 属性无论如何都有 320 个字符的限制,如果他们没有启用带有换行符的发布文本,我不会感到惊讶。也许宁愿在你的最后换行符处拆分文本,然后将它们作为单独的消息发送?

标签: facebook facebook-graph-api facebook-messenger


【解决方案1】:

原来Line break in Facebook status update via Graph API 可能会给你想要的东西:

使用\u000A

对我来说,它解决了我在使用 Facebook SendApi 时遇到的类似问题,用于 Facebook Messenger Bot。

【讨论】:

    【解决方案2】:

    如果你使用 php,你应该使用 chr(10) 。它的工作方式类似于'\n''<br>'。您也可以使用 <center></center> 。它对我有用。

    【讨论】:

    • @FMan .. k 亲爱的.. 但它对我来说很好。给我你的代码。
    • 理想情况下,他应该为此使用 PHP_EOL
    【解决方案3】:

    我必须使用 \n\n 来换行。

    例如

    "Sorry, We don't have any information ragarding this.\n\nSay 'Hi' to startover"
    

    在 facebook messenger 中显示关注

    Sorry, We don't have any information ragarding this.
    Say 'Hi' to startover
    

    【讨论】:

    • 您好。您能否添加一些示例以获得更清晰的答案。 tnx
    • 我在发送给聊天机器人的字符串中使用了“\n\n”作为换行符。它适用于 PHP。示例“这是我发送给聊天机器人的一些文本。\n\n 这是一个新行”。
    【解决方案4】:

    我试图在用户触摸我的 Messenger 机器人中的“开始”之前显示的欢迎文本中换行。我发现“\n”有效,但仅在 Messenger 的移动版本中有效。暂时无法在网络上使用。假设这会在某个时候得到解决,因为 Facebook 在本周(2016 年 9 月 12 日)的博客文章中显示了换行符https://messengerblog.com/bots/messenger-platform-1-2-link-ads-to-messenger-enhanced-mobile-websites-payments-and-more

    【讨论】:

      【解决方案5】:

      虽然没有记录,但我想“\r\n”会起作用。 对于具有换行符的消息或帖子,Graph api 将 json 响应返回为“\r\n”。

      【讨论】:

        【解决方案6】:

        我不能 100% 确定您使用什么语言来构建您的机器人,但如果您使用的是 PHP,那么 \n 需要用双引号字符串括起来,例如

          $message = "Message \n with a line break";
        

        使用单引号 (') 将不起作用。

        如果使用 PHP 更好的解决方案是使用 PHP_EOL 常量

        无论您使用哪种语言来构建您的机器人,都可能有类似的怪癖

        【讨论】:

          【解决方案7】:

          使用特定语言的行分隔符。

          Java System.lineseprator 
          
          php PHP_EOL 
          
          Python os.linesep 
          
          Nodejs os.EOL 
          

          当我们在字符串中使用特殊字符时,JSON 转换将其理解为字符串的一部分。

          【讨论】:

            【解决方案8】:

            在 Python 中,\\n 按预期换行。

            【讨论】:

              【解决方案9】:

              将文本中的 "\n" 转换为 "\n" => 它工作... 使用 PHP,这是我的代码:(已测试)

              $_text = str_replace(array("\r\n", "\r", "\n"), "\\n", $_text); 
              

              【讨论】:

                猜你喜欢
                • 2017-10-06
                • 1970-01-01
                • 1970-01-01
                • 2016-08-06
                • 1970-01-01
                • 1970-01-01
                • 2019-02-26
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多