Custom Events
Seyfert allows to load, integrate and execute custom “events” to be called anywhere, for the sake of this example an simple event will be created called ourEvent
.
Integrating
First we need to let know Seyfert typing system that we will have an custom event.
declare module "seyfert" { interface CustomEvents { ourEvent: (text: string) => void; }}
Loading event
This is just here to flex that you don’t have to do anything, just put your events in the designated folder in seyfert.config
.
import { createEvent } from 'seyfert';
export default createEvent({ data: { name: "ourEvent", once: false }, run: (text) => { console.log(text); }});
Executing
import { Client } from "seyfert";
const client = new Client();
(async () => { await client.start(); client.events?.runCustom('ourEvent', 'Hello, world!');})();
declare module "seyfert" { interface CustomEvents { ourEvent: (text: string) => void; }}
After running the code, you should see Hello, world!
in the console. That’s it!