Telegram REST API, отправить новую строку в тексте сообщения? - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу отправить сообщение через Telegram API в блоке <pre> или ``` (режим анализа HTML или уценки, у меня нет предпочтений).

Текст представляет собой длинную строку с некоторымиразрывы строк.Чтобы его было легче читать, я хочу отправить его в виде кода.Новые строки имеют формат \n, поэтому Telegram API справится с этим.

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

Может ли кто-нибудь помочь мне с этим?

Это код, который я сейчас использую:

$url = "https://api.telegram.org/$telegram_apikey/sendMessage?chat_id=$telegram_chatid&parse_mode=Markdown&text=```" . $message ."```";
        $telegramResult = file_get_contents($url
);

Где сообщение выглядит примерно так:

-------------------------------------------- \n
------------ IMPORT RESULTS ---------------- \n
-------------------------------------------- \n
Product count: 12345 \n
Created: 1234 \n
Total time:  200 \n
-------------------------------------------- \n

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Я вижу, что вы нашли решение, но вам может быть лучше использовать urlencode для кодирования $message.

Это должно преобразовать ваши новые строки в %0A, а также преобразовать любые другие нелегальные или потенциально опасные символы, такие как &, # или ?, если они появляются в вашем сообщении.

0 голосов
/ 25 апреля 2018

Я получил это работает.

Вместо отправки \n в Telegram необходимо отправить %0A.

...