summary refs log tree commit diff
path: root/src/util/plugin/Plugin.ts
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2022-08-13 02:42:08 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2022-09-04 10:48:54 +0200
commit2c40b1ebae53ebd8af4a375d8d3eb2bdb425c2dd (patch)
tree4a2d42982c02dc77949ffbcb98e4d3e96d42f017 /src/util/plugin/Plugin.ts
parentfeat(plugins): loader (diff)
downloadserver-2c40b1ebae53ebd8af4a375d8d3eb2bdb425c2dd.tar.xz
feat(plugins): event system
Diffstat (limited to '')
-rw-r--r--src/util/plugin/Plugin.ts18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/util/plugin/Plugin.ts b/src/util/plugin/Plugin.ts

index 246e9931..96e05843 100644 --- a/src/util/plugin/Plugin.ts +++ b/src/util/plugin/Plugin.ts
@@ -1,5 +1,13 @@ -export class Plugin { - onPluginLoaded() { - console.log('no onpluginloaded!') - } -} \ No newline at end of file +import EventEmitter from "events"; +import { TypedEventEmitter } from "@fosscord/util"; + +type PluginEvents = { + error: (error: Error | unknown) => void; + loaded: () => void; +}; + +export class Plugin extends (EventEmitter as new () => TypedEventEmitter<PluginEvents>) { + async init() { + // insert default config into database? + } +}