A powerful and extendable Discord bot, with it's own module system :3 thevoid.cafe/projects/voidy
at develop 25 lines 712 B view raw
1import type { ResourceStep, ResourceStepContext } from "../../types/Step"; 2import type { Resource, ButtonResource } from "../../types/Resource"; 3 4export const buttonStep: ResourceStep = { 5 name: "button", 6 7 match(resource: Resource): boolean { 8 return resource.type === "button"; 9 }, 10 11 process(resource: Resource, { cache, module }: ResourceStepContext): Resource | null { 12 const btn = resource as ButtonResource; 13 14 if (!btn.id || !btn.execute) { 15 console.warn(`[ButtonStep] Skipping invalid button: missing id or execute`); 16 return null; 17 } 18 19 // Auto-prefix id with module origin 20 btn.id = `${module.id}.${btn.id}`; 21 22 cache.set("button", btn.id, btn); 23 return btn; 24 }, 25};