node-telegram-api icon indicating copy to clipboard operation
node-telegram-api copied to clipboard

Send file with file_id

Open sidelux opened this issue 8 years ago • 3 comments

How can i send an image by set file_id? I tried:

bot.send(new File().file('FILEIDXXXXX','image').to(chat));

But the response is:

Error: value required in setHeader("Content-Length", value). at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:344:11) at FormData. (/home/fenix/chatBot/node_modules/form-data/lib/form_data.js:321:13) at /home/fenix/chatBot/node_modules/form-data/lib/form_data.js:265:7 at /home/fenix/chatBot/node_modules/async/lib/async.js:251:17 at done (/home/fenix/chatBot/node_modules/async/lib/async.js:126:15) at /home/fenix/chatBot/node_modules/async/lib/async.js:32:16 at /home/fenix/chatBot/node_modules/async/lib/async.js:248:21 at /home/fenix/chatBot/node_modules/async/lib/async.js:572:34 at /home/fenix/chatBot/node_modules/form-data/lib/form_data.js:105:13 at FSReqWrap.oncomplete (fs.js:82:15)

So i think that is not correct and i can't find an example, what can i do? Thanks!

sidelux avatar May 24 '16 17:05 sidelux

It appears that File.file() method's first param must be a relative or absolute path to a file that sits on the same machine that runs your telegram bot. This method does not support sending files using already uploaded files that are assigned unique file ID string provided by Telegram API.

PR would be great

laurynas-karvelis avatar Dec 24 '18 10:12 laurynas-karvelis

for now, you can use the api methods directly:

bot.api.sendPhoto({ photo: 'FILEXXXXX', chat_id: xxxx })

mdibaiee avatar Dec 24 '18 11:12 mdibaiee

I’ll try thanks a lot

sidelux avatar Dec 24 '18 11:12 sidelux