Подтвердить что ты не робот

API Facebook Messenger: как разбить строку в сообщении

В чате Facebook Messenger мы можем разбить строку, нажав "SHIFT + ENTER".
Итак, как разбить линию на Facebook Graph API (Messenger API).
Я видел в нескольких ответах, что Graph API принимает <center></center> вместо <br>, а некоторые другие части их API, похоже, принимают \r\n.

Есть ли какой-либо способ отправки разрыва строки и есть ли там, где он задокументирован?

4b9b3361

Ответ 1

Если вы используете php, вы должны использовать chr(10). Он работает как '\n' или '<br>'. Также вы можете использовать <center></center>. Он работает для меня.

Ответ 3

Я не уверен на 100%, какой язык вы используете для создания своего бота, но если вы используете PHP, то \n нужно обернуть в строки с двойной кавычкой, например,

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

использование одинарных кавычек (') не будет работать.

Хотя лучшим решением при использовании PHP будет использование константы PHP_EOL

Какой бы язык вы не использовали для создания своего бота, могут иметь сходные причуды

Ответ 4

Я пытался получить разрыв строки в приветственном тексте, который появляется до того, как пользователи коснутся "Начало работы" в моем боксе Messenger. Я обнаружил, что "\n" работал, но ТОЛЬКО в мобильной версии Messenger. На данный момент он не работает в Интернете. Предполагая, что это будет исправлено в какой-то момент, потому что Facebook показывает разрывы строк в своем блоге на этой неделе (9/12/2016) https://messengerblog.com/bots/messenger-platform-1-2-link-ads-to-messenger-enhanced-mobile-websites-payments-and-more

Ответ 5

Хотя это не документировано, но я полагаю, что "\ r\n" будет работать. График api возвращает ответ json как "\ r\n" для сообщений или сообщений, имеющих разрыв строки.

Ответ 6

Используйте специальные разделители строк.

Java System.lineseprator 

php PHP_EOL 

Python os.linesep 

Nodejs os.EOL 

Когда мы используем специальный символ в строке, то преобразование JSON понимает его как часть строки.

Ответ 7

Преобразуйте "\n" в текст в "\n" = > он работает... С Php это мой код: (проверено)

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