Discord.js(); 如何发送文件(它总是发送一个0字节的文件?)

我在使用ytdl下载后无法发送文件。 我注意到这是非常奇怪的,它会成功发送文件到服务器,只要我手动命名除标题之外的东西…否则它只发送一个0字节的文件到我的服务器。 我试图在我的标题scheme上运行各种string方法,认为这可能是错误的,但没有奏效。 我有一个预感,也许是有关: https : //github.com/hydrabolt/discord.js/issues/1907

但男人我不知道我是无能的。 任何帮助将不胜感激。 以下是我的来源。 发送文件有问题的函数是命令==='ytm'

const Discord = require('discord.js'); //need discord.js library of course. const config = require("./config.json"); //load up the token and prefix from our object configuration file. const bot = new Discord.Client(); //establishing the bot as the client. "bot" means "client" when looking at the documentation! bot.on('ready', () => { console.log('I am ready!'); }); bot.on('message', message => { if(message.author.bot) return; //prevents the bot from reacting to itself. if(message.content.indexOf(config.prefix) !== 0) return; //reads out the first character of the message, and if its not our prefix we don't do break away const args = message.content.slice(config.prefix.length).trim().split(/ +/g); //setting up to split things into arguments for handling commands, and usage of the prefix const command = args.shift().toLowerCase(); if (command === 'ping') { message.channel.send('pong'); //console.log(args); //console.log(command); } if (command === 'ytm') { const fs = require('fs'); const ytdl = require('ytdl-core'); url = args[0]; //console.log(ytdl.getURLVideoID(url)); //tried to actually work with the "title" information outside of the callback. apparently impossible? ytdl.getInfo(url,function(err, info){ var title = info['title']; var length = title.length; title = title.substring(0, (length / 3)); title = title.trim(); title = './' + title + '.mp3' console.log(title); //console.log(info['size']); ytdl(url, {filter:'audioonly', format:'mp3'}).pipe(fs.createWriteStream(title.toString())); message.channel.send("Here's your mp3, boi.", {files:[(title)]}); //message.channel.sendFile(('./' + title), title, 'Heres your mp3, boi,'); //deprecated? }) } }); bot.login(config.token);