Estoy creando un bot de discordia en discord.js que guarda mensajes en el servidor. Me gustaría que envíe un archivo comprimido .zip desde la carpeta de mensajes guardados. Sé cómo enviar un archivo adjunto, pero no sé cómo agregar archivos del directorio a este zip
Intenté esto:
Pero los archivos no se agregan en zip.
¿Alguien podría enviar un código fijo?
Gracias de antemano por su ayuda.
var fs = require("fs"); var JSZip = require("jszip"); var zip = new JSZip(); zip .folder("data"); .generateNodeStream({ type: 'nodebuffer', streamFiles: true }) .pipe(fs.createWriteStream("logs.zip")) .on('finish', function () { console.log("out.zip written."); });En la documentación de Discord.js en versión estable , la referencia de TextChannel tiene un método de envío que permite enviar archivos remotos y locales.
Ejemplo de código de documentación para enviar un archivo local:
// Send a local file channel.send({ files: [{ attachment: 'entire/path/to/file.jpg', name: 'file.jpg' description: 'A description of the file' }] }) .then(console.log) .catch(console.log); Puede crear un archivo de ruta absoluta con el módulo de ruta y dar como valor attachment .
const path = require('path'); const ABSOLUTE_PATH_FILE = path.resolve(__dirname, "./../files/filename.zip");