@getsolara/solara.db
Version:
Optional database functionality for @getsolara/solara.js using quick.db
23 lines • 1.26 kB
JavaScript
module.exports = {
name: "$getMessageVar",
description: "Gets a variable associated with a specific message ID. Args: varName;messageID",
takesBrackets: true,
execute: async (context, args) => {
if (!context.client.db) {
return "[Error: $getMessageVar requires database features to be enabled. Ensure @getsolara/solara.db is installed and configured correctly.]";
}
if (args.length < 2) return "[Error: $getMessageVar requires varName and messageID]";
const varName = args[0].trim();
const messageId = args[1].trim();
if (!varName) return "[Error: Variable name cannot be empty in $getMessageVar]";
if (!/^\d{17,20}$/.test(messageId)) return "[Error: Invalid messageID provided to $getMessageVar]";
const dbKey = `messageVars_${messageId}_${varName}`;
try {
const value = await context.client.db.get(dbKey);
return value !== null && value !== undefined ? String(value) : "";
} catch (e) {
console.error(`Solara.db Error ($getMessageVar): Failed to get key '${dbKey}'. Error: ${e.message}`);
return `[DB Error getting message variable '${varName}': ${e.message}]`;
}
}
};