lolka
lolka

Reputation: 41

How to send a large message to api.telegram.org

I'm having trouble sending large messages via bot telegrams. During the search for the problem, I threw off all the extra binding and tested it with curl.

In the case of sending a message with text up to about 1500, everything works, I sent it like this:

curl -s -X POST https://api.telegram.org/bot<ТОКЕН>/sendMessage -d chat_id = <ID_CHATA> -d text = "1100ertyikgnfdhgmcndgbtowewerttysadasdsasadsadddssasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsas "asadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsadsasasadsasasadsasasadsasasadsasasadsadsasasadsadsasasadsadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasasadsas"

In the case of sending a large message, it stops working, in this case I send a text of 2200 characters in size:

curl -s -X POST https://api.telegram.org/bot<ТОКЕН>/sendMessage -d chat_id = <ID_CHATA> -d text = "2200ertyikgnfdhgmcndgbtowewerttysadasdsasadsadddssasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsas asadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasertyikgnfdhgmcndgbtowewerttysadasdsasadsadddssasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasas adsasasadsasasadsasasadsasasadsasasadsasasadsasasadsasasadsadsasasadsadsasasadsadsasasadsasasadsasasadsasasadsasasadsasasadsasasasasasasasasasasasadsasasadsasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsas

Using the -vvvvvv switch for curl, I saw the following details: In the first case (when the message is small and sending is triggered) I see:

Expect: 100-continue HTTP / 1.1 100 Continue HTTP / 1.1 200 OK

In the second case (when I send a large message and the sending does not work) I see:

Expect: 100-continue HTTP / 1.1 100 Continue Empty reply from server Connection #0 to host api.telegram.org left intact Closing connection #0

Upvotes: 3

Views: 3994

Answers (1)

0stone0
0stone0

Reputation: 44029

There seems to be an error in the second CURL request. the -d param requires a string;

curl -s -X POST https://api.telegram.org/bot<ТОКЕН>/sendMessage -d "chat_id=<ID_CHATA>" -d "text='200ertyikgnfdhgmcndgbtowewe'"

Also you close the string before the last char, curl doesn't like that;

" sasasasasasasasasasasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsasadsas

If I edit your second command to use -d "", I can send it as expected. Even with a message of 2578 chars works just fine.

Google tels me there is an 4096 UTF8 char limit; Git Telegram even send an TOO_LONG if the text param is too long ;) So

Edit based on comment; Full command for bash;

curl -s -X POST https://api.telegram.org/bot123456:abcdefghijk/sendMessage -d "chat_id=123456" -d "text='Test'"

If this does not work for you, please show the error you receive after running the command

Upvotes: 1

Related Questions