UNPKG

@getsolara/solara.canvas

Version:

Optional canvas and image manipulation functionality for @getsolara/solara.js

29 lines 1.54 kB
module.exports = { name: "$createCanvas", description: "Creates a new canvas context for drawing. Args: width;height", takesBrackets: true, execute: async (context, args) => { if (context.client.canvasInitialized === false) { return "[Error: $createCanvas requires canvas features to be enabled. Ensure @getsolara/solara.canvas is installed and configured correctly.]"; } if (args.length < 2) return "[Error: $createCanvas requires width and height]"; const width = parseInt(args[0], 10); const height = parseInt(args[1], 10); if (isNaN(width) || isNaN(height) || width <= 0 || height <= 0 || width > 4000 || height > 4000) { return "[Error: Invalid canvas dimensions for $createCanvas (1-4000 for width/height)]"; } try { const { createCanvas } = require('canvas'); context.canvas = createCanvas(width, height); context.canvasContext = context.canvas.getContext('2d'); return ""; } catch (e) { if (e.code === 'MODULE_NOT_FOUND' && e.message.includes('canvas')) { console.error("Solara.canvas ($createCanvas): 'canvas' module not found. This is a dependency of @getsolara/solara.canvas."); return "[Error: $createCanvas - canvas module missing.]"; } console.error("Solara.canvas Error ($createCanvas):", e); return `[Error creating canvas: ${e.message}]`; } } };