@atri-bot/core 2.0.0-beta.1 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +17 -15
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -149,7 +149,7 @@ declare class Bot {
|
|
|
149
149
|
}
|
|
150
150
|
//#endregion
|
|
151
151
|
//#region src/plugin.d.ts
|
|
152
|
-
interface
|
|
152
|
+
interface PluginRuntime<T extends object = object, Extra extends object = object> {
|
|
153
153
|
atri: ATRI;
|
|
154
154
|
bot: ATRI['bot'];
|
|
155
155
|
ws: ATRI['bot']['ws'];
|
|
@@ -157,19 +157,21 @@ interface Plugin<T extends object = object> extends PluginOptions<T> {
|
|
|
157
157
|
logger: Logger;
|
|
158
158
|
refreshConfig: () => Promise<void>;
|
|
159
159
|
saveConfig: (config?: T) => Promise<void>;
|
|
160
|
-
regMessageEvent: <K extends keyof MessageHandler>(this: Plugin<T>, event: Omit<MessageEvent<K>, 'type' | 'pluginName'>) => void;
|
|
161
|
-
regCommandEvent: <K extends keyof MessageHandler, U extends Argv>(this: Plugin<T>, event: Omit<CommandEvent<K, U>, 'type' | 'pluginName'>) => void;
|
|
162
|
-
regNoticeEvent: <K extends keyof NoticeHandler>(this: Plugin<T>, event: Omit<NoticeEvent<K>, 'type' | 'pluginName'>) => void;
|
|
163
|
-
regRequestEvent: <K extends keyof RequestHandler>(this: Plugin<T>, event: Omit<RequestEvent<K>, 'type' | 'pluginName'>) => void;
|
|
160
|
+
regMessageEvent: <K extends keyof MessageHandler>(this: Plugin<T, Extra>, event: Omit<MessageEvent<K>, 'type' | 'pluginName'>) => void;
|
|
161
|
+
regCommandEvent: <K extends keyof MessageHandler, U extends Argv>(this: Plugin<T, Extra>, event: Omit<CommandEvent<K, U>, 'type' | 'pluginName'>) => void;
|
|
162
|
+
regNoticeEvent: <K extends keyof NoticeHandler>(this: Plugin<T, Extra>, event: Omit<NoticeEvent<K>, 'type' | 'pluginName'>) => void;
|
|
163
|
+
regRequestEvent: <K extends keyof RequestHandler>(this: Plugin<T, Extra>, event: Omit<RequestEvent<K>, 'type' | 'pluginName'>) => void;
|
|
164
164
|
}
|
|
165
|
-
|
|
165
|
+
type Plugin<T extends object = object, Extra extends object = object> = PluginRuntime<T, Extra> & PluginOptions<T, Extra>;
|
|
166
|
+
type PluginOptions<T extends object = object, Extra extends object = object> = Extra & {
|
|
166
167
|
defaultConfig?: T;
|
|
167
168
|
pluginName: string;
|
|
168
|
-
install: (
|
|
169
|
-
uninstall: (
|
|
170
|
-
}
|
|
171
|
-
type definePluginReturnType<T extends object> = (atri: ATRI) => Promise<Plugin<T>>;
|
|
172
|
-
declare function definePlugin<T extends object>(_pluginOptions: PluginOptions<T>
|
|
169
|
+
install: () => MaybePromise<void>;
|
|
170
|
+
uninstall: () => MaybePromise<void>;
|
|
171
|
+
} & ThisType<Plugin<T, Extra>>;
|
|
172
|
+
type definePluginReturnType<T extends object, Extra extends object = object> = (atri: ATRI) => Promise<Plugin<T, Extra>>;
|
|
173
|
+
declare function definePlugin<T extends object, Extra extends object = object>(_pluginOptions: PluginOptions<T, Extra>): definePluginReturnType<T, Extra>;
|
|
174
|
+
declare function definePlugin<T extends object, Extra extends object = object>(_pluginOptions: () => MaybePromise<PluginOptions<T, Extra>>): definePluginReturnType<T, Extra>;
|
|
173
175
|
//#endregion
|
|
174
176
|
//#region src/atri.d.ts
|
|
175
177
|
interface ATRIConfig {
|
|
@@ -179,14 +181,14 @@ interface ATRIConfig {
|
|
|
179
181
|
logDir: string;
|
|
180
182
|
saveLogs: boolean;
|
|
181
183
|
maxFiles?: number;
|
|
182
|
-
plugins?: definePluginReturnType<any>[];
|
|
184
|
+
plugins?: definePluginReturnType<any, any>[];
|
|
183
185
|
}
|
|
184
186
|
declare class ATRI {
|
|
185
187
|
config: ATRIConfig;
|
|
186
188
|
logger: Logger;
|
|
187
189
|
bot: Bot;
|
|
188
190
|
plugins: {
|
|
189
|
-
[key: string]: Plugin<any>;
|
|
191
|
+
[key: string]: Plugin<any, any>;
|
|
190
192
|
};
|
|
191
193
|
configs: {
|
|
192
194
|
[key: string]: any;
|
|
@@ -195,10 +197,10 @@ declare class ATRI {
|
|
|
195
197
|
private removeUselessLogs;
|
|
196
198
|
constructor(config: ATRIConfig);
|
|
197
199
|
init(): Promise<void>;
|
|
198
|
-
installPlugin<T extends object>(plugin: definePluginReturnType<T>): Promise<void>;
|
|
200
|
+
installPlugin<T extends object, Extra extends object>(plugin: definePluginReturnType<T, Extra>): Promise<void>;
|
|
199
201
|
uninstallPlugin(pluginName: string): Promise<void>;
|
|
200
202
|
loadConfig<T extends object>(pluginName: string, defaultConfig?: T, refresh?: boolean): Promise<T>;
|
|
201
203
|
saveConfig<T extends object>(pluginName: string, config: T): Promise<void>;
|
|
202
204
|
}
|
|
203
205
|
//#endregion
|
|
204
|
-
export { ATRI, ATRIConfig, Bot, BotConfig, BotEvents, CommandContext, CommandEvent, MaybePromise, MessageEvent, NonEmptyArray, NoticeEvent, Plugin, PluginOptions, RegEventOptions, RequestEvent, definePlugin, definePluginReturnType, sortObjectArray };
|
|
206
|
+
export { ATRI, ATRIConfig, Bot, BotConfig, BotEvents, CommandContext, CommandEvent, MaybePromise, MessageEvent, NonEmptyArray, NoticeEvent, Plugin, PluginOptions, PluginRuntime, RegEventOptions, RequestEvent, definePlugin, definePluginReturnType, sortObjectArray };
|