diskcord
v1.0.3
Published
Use Discord to store filesystem-like data on Node.js with encryption.
Readme
DiskCord
Use Discord to store filesystem-like data on Node.js with encryption.
Installation
npm i diskcordUsage
const { Cipher, loadBot } = require("diskcord");
// Optional: pass intents for discord.js
const bot = await loadBot("YOUR_DISCORD_BOT_TOKEN", intents);
//or
const bot = loadBot(client);
// Access the discord.js Client object
bot.client
// Can be a string, but for best performance use a 32-byte Buffer
// Save this value, otherwise you won't be able to decrypt files
const cipher = new Cipher("YOUR_PASSWORD_OR_KEY");
//availble cipher functions
cipher.encrypt(data)
cipher.decrypt(data)
// guildID: ID of the Discord server
// name: name of the volume
// chunkSize: optional, in bytes (useful for servers with higher file size limits)
let volume = await bot.makeVolume(cipher, guildID, name, chunkSize);
// Access the discord.js channel object used for storage
volume.channel
// Load an existing volume if you already have one
// channelID: Discord channel ID of the volume
// You must use the same cipher the volume was created with
volume = await bot.getVolume(cipher, channelID, chunkSize);
// Returns an object representing the tree
let tree = volume.getTree();
// Call this again to refresh the structure
// Create a new file
// path: array representing the file path
// data: Buffer or anything convertible to Buffer
await volume.makeFile(path, data);
// Read a file
// Returns a Buffer
await volume.readFile(path);
// Create a new folder
await volume.makeFolder(path);
// Rename a file or folder
await volume.rename(path, name);
// Delete a file or folder
await volume.delete(path);