UNPKG

@getsolara/solara.db

Version:

Optional database functionality for @getsolara/solara.js using quick.db

32 lines 1.67 kB
module.exports = { name: "$deleteUserVar", description: "Deletes a variable associated with a specific user (optionally per-server). Args: varName;userID;[scope=global]", takesBrackets: true, execute: async (context, args) => { if (!context.client.db) { return "[Error: $deleteUserVar requires database features to be enabled. Ensure @getsolara/solara.db is installed and configured correctly.]"; } if (args.length < 2) return "[Error: $deleteUserVar requires varName and userID]"; const varName = args[0].trim(); const userId = args[1].trim(); const scope = args[2]?.trim().toLowerCase() || 'global'; if (!varName) return "[Error: Variable name cannot be empty for $deleteUserVar]"; if (!/^\d{17,19}$/.test(userId)) return "[Error: Invalid userID for $deleteUserVar]"; let dbKey; if (scope === 'local') { if (!context.guild) return "[Error: Local scope for $deleteUserVar requires a guild context]"; dbKey = `userGuildVars_${context.guild.id}_${userId}_${varName}`; } else if (scope === 'global') { dbKey = `userVars_${userId}_${varName}`; } else { return "[Error: Invalid scope for $deleteUserVar. Use 'global' or 'local'.]"; } try { await context.client.db.delete(dbKey); return ""; } catch (e) { console.error(`Solara.db Error ($deleteUserVar): Failed to delete key '${dbKey}'. Error: ${e.message}`); return `[DB Error deleting user variable '${varName}': ${e.message}]`; } } };