#javascript #node.js #post #discord.js
Вопрос:
Поэтому я добавляю проверку, можно ли отправить вложение вместе с сообщением, и перед отправкой я хочу знать, поместится ли вложение в сообщение.
Наивным ответом, конечно, было бы просто проверить, превышает ли размер вложения 8, 50 или 100 МБ в зависимости от статуса повышения гильдии, но на самом деле это не ответ.
Ограничение по размеру относится ко всему запросу, а не к вложению.
Чтобы попробовать это, создайте файл, например
truncate -s 8388607 test
и попробуйте отправить его в Discord, либо с вашим обычным клиентом, либо с кодом, например:
console.log(fs.statSync('test').size);
msg.channel.send({files: [{attachment: fs.readFileSync('test'), name: 'test'}]}).catch(console.error);
Размер файла даже на один байт меньше 8 МБ, но вы все равно не сможете его отправить.
Итак, вопрос в том, как я могу увидеть, какого размера будет мой запрос на сообщение?
Могу ли я подготовить запрос, проверить его размер, а затем отправить его (если он находится в пределах допустимого размера)?