Node-telegram-bot-api: 400 Bad Request: wrong file identifier/HTTP URL specified

Created on 25 Sep 2017  路  17Comments  路  Source: yagop/node-telegram-bot-api

I am using the latest version of the library.

Expected Behavior

This has to handle http://dl.nex1music.ir/1396/07/03/Mohsen%20Salehi%20-%20Bigharari.mp3 URL, but gives an error. The given URL works out of the library properly.

Actual Behavior

2017-09-25T17:35:53.528481+00:00 app[web.1]: Unhandled rejection Error: ETELEGRAM: 400 Bad Request: wrong file identifier/HTTP URL specified
2017-09-25T17:35:53.528493+00:00 app[web.1]: at BaseError (/app/node_modules/node-telegram-bot-api/src/errors.js:10:5)
2017-09-25T17:35:53.528495+00:00 app[web.1]: at TelegramError (/app/node_modules/node-telegram-bot-api/src/errors.js:56:5)
2017-09-25T17:35:53.528496+00:00 app[web.1]: at request.then.err (/app/node_modules/node-telegram-bot-api/src/telegram.js:213:15)
2017-09-25T17:35:53.528496+00:00 app[web.1]: at tryCatcher (/app/node_modules/bluebird/js/release/util.js:16:23)
2017-09-25T17:35:53.528497+00:00 app[web.1]: at Promise._settlePromiseFromHandler (/app/node_modules/bluebird/js/release/promise.js:512:31)
2017-09-25T17:35:53.528497+00:00 app[web.1]: at Promise._settlePromise (/app/node_modules/bluebird/js/release/promise.js:569:18)
2017-09-25T17:35:53.528498+00:00 app[web.1]: at Promise._settlePromise0 (/app/node_modules/bluebird/js/release/promise.js:614:10)
2017-09-25T17:35:53.528498+00:00 app[web.1]: at Promise._settlePromises (/app/node_modules/bluebird/js/release/promise.js:693:18)
2017-09-25T17:35:53.528499+00:00 app[web.1]: at Async._drainQueue (/app/node_modules/bluebird/js/release/async.js:133:16)
2017-09-25T17:35:53.528500+00:00 app[web.1]: at Async._drainQueues (/app/node_modules/bluebird/js/release/async.js:143:10)
2017-09-25T17:35:53.528500+00:00 app[web.1]: at Immediate.Async.drainQueues (/app/node_modules/bluebird/js/release/async.js:17:14)
2017-09-25T17:35:53.528501+00:00 app[web.1]: at runCallback (timers.js:672:20)
2017-09-25T17:35:53.528501+00:00 app[web.1]: at tryOnImmediate (timers.js:645:5)
2017-09-25T17:35:53.528502+00:00 app[web.1]: at processImmediate [as _immediateCallback] (timers.js:617:5)

Steps to reproduce the Behavior

bot.onText(/^\/320$/, (msg, match) => {
    bot.sendChatAction(msg.chat.id,'upload_audio');
    bot.sendAudio(msg.chat.id, 'http://dl.nex1music.ir/1396/07/03/Mohsen%20Salehi%20-%20Bigharari.mp3');
});

Most helpful comment

with sendPhoto, and the URL works fine, and the photo starts with a letter.
https://trello-attachments.s3.amazonaws.com/5666779e6c24bb815183689c/597f79754996f872478fb5c8/600x264/79a80ac19fe1a4390cba895c920944f2/S61028-20071611.jpg

All 17 comments

Same here.

Same here too, with sendPhoto, and the photo URL works fine. Small jpeg image with 27KB. And it's the same image URL that I'm using in Facebook Messenger Bot that works. :(

https://wtmqerubko.localtunnel.me//img/promocao/20180212-20180217/10.jpg

with sendPhoto, and the URL works fine, and the photo starts with a letter.
https://trello-attachments.s3.amazonaws.com/5666779e6c24bb815183689c/597f79754996f872478fb5c8/600x264/79a80ac19fe1a4390cba895c920944f2/S61028-20071611.jpg

Same here! 50 similar photos works fine. I have problem only with this one

https://s8.hostingkartinok.com/uploads/images/2018/08/d895b2471743055da86415f4af06b010.jpg

same here with sendPhoto and sendDocument 3 out of 86 got problem

Same here. Any solution?

+1 for sending audio

I was able to fix it in my case.

I was generating the file name dynamically and it had a hidden newline at the end.

I ran .replace(/\n$/, "") on the value before passing it to send audio and it worked.

I have the same issue with sendPhoto. Still not solution?

+1 still no solution ?

@alytvynov Post the url here. It works in a lot of cases.

still having the same issue

I had solved this problem. And I answred here: https://stackoverflow.com/a/62672868/12866353

Hope this will help.

Having the same issue with sendPhoto

Having the same issue with sendPhoto

would you mind providing the image URL?

Having the same issue with sendPhoto

would you mind providing the image URL?

https://telegram.ke.precisionag.org/photo/images/explore.jpg

It looks like your image is too big to send.

image

API doc says:

Provide Telegram with an HTTP URL for the file to be sent. Telegram will download and send the file. 5 MB max size for photos and 20 MB max for other types of content.

Having the same issue with sendPhoto

would you mind providing the image URL?

https://telegram.ke.precisionag.org/photo/images/explore.jpg

It looks like your image is too big to send.

API doc says:

Provide Telegram with an HTTP URL for the file to be sent. Telegram will download and send the file. 5 MB max size for photos and 20 MB max for other types of content.

You're right, I changed the file size and it the sendPhoto method worked, thanks

Was this page helpful?
0 / 5 - 0 ratings

Related issues

antonrifco picture antonrifco  路  3Comments

Hostile picture Hostile  路  3Comments

saeedhei picture saeedhei  路  4Comments

sidelux picture sidelux  路  3Comments

dimawebmaker picture dimawebmaker  路  3Comments