我无法通过telebot将图像“流”发送到Telegram。
远程机器人文档将流作为可接受的输入类型列出如下;
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将文件写入文件系统,这样我就可以再次读回它。任何帮助将不胜感激。