узел телебота потоков изображения - PullRequest
0 голосов
/ 04 октября 2019

У меня проблемы с отправкой «потока» изображений в Telegram через telebot .

В документации Telebot перечислены потоки в качестве допустимого типа ввода следующим образом:

sendPhoto(<chat_id>, <file_id | path | url | buffer | stream>, {caption, fileName, serverDownload, replyToMessage, replyMarkup, notification})

У меня нет проблем с параметрами пути, URL-адреса или буфера, но я не уверен, что делатьс потоками?

// Path    
msg.reply.photo('out.png');

// URL
msg.reply.photo('http://thecatapi.com/api/images/get');

// Buffer
fs.readFile("out.png", function (err, buf) {
  if (err) throw err;
  msg.reply.photo(buf)
});

Я пытаюсь отправить изображение gnuplot в качестве примера, но я не знаю, как получить поток из gnuplot в аргумент потока для msg.reply.photo. Я видел в документации по gnuplot, что выводом по умолчанию является stdout, если не указано иное, но означает ли это, что мне нужно перехватить то, что пишется в stdout, и каким-то образом перенаправить его в ответ?

var g = gnuplot()
        .set('term png')
        .set('title "Some Math Functions"')
        .set('xrange [-10:10]')
        .set('yrange [-2:2]')
        .set('zeroaxis')
        .plot('(x/4)**2, sin(x), 1/x')
        .end();

Донне хочу записывать файл в файловую систему с помощью gnuplot, чтобы я мог просто прочитать его снова. Любая помощь будет оценена.

...