custom-dbs
Enmap

Enmap

index.js
// Load Enmap
const Enmap = require('enmap');
 
// Create giveaways table
const giveawayDB = new Enmap({ name: 'giveaways' });
 
const { GiveawaysManager } = require('givify');
const GiveawayManagerWithOwnDatabase = class extends GiveawaysManager {
    // This function is called when the manager needs to get all giveaways which are stored in the database.
    async getAllGiveaways() {
        // Get all giveaways from the database
        return giveawayDB.fetchEverything().array();
    }
 
    // This function is called when a giveaway needs to be saved in the database.
    async saveGiveaway(messageId, giveawayData) {
        // Add the new giveaway data to the database
        giveawayDB.set(messageId, giveawayData);
        // Don't forget to return something!
        return true;
    }
 
    // This function is called when a giveaway needs to be edited in the database.
    async editGiveaway(messageId, giveawayData) {
        // Replace the old giveaway data with the new giveaway data
        giveawayDB.set(messageId, giveawayData);
        // Don't forget to return something!
        return true;
    }
 
    // This function is called when a giveaway needs to be deleted from the database.
    async deleteGiveaway(messageId) {
        // Remove the giveaway data from the database
        giveawayDB.delete(messageId);
        // Don't forget to return something!
        return true;
    }
};
 
// Create a new instance of your new class
const manager = new GiveawayManagerWithOwnDatabase(client, {
    default: {
        botsCanWin: false,
        embedColor: '#FF0000',
        embedColorEnd: '#000000',
        reaction: '🎉'
    }
});
// We now have a manager property to access the manager everywhere!
client.manager = manager;