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