File tree 5 files changed +63
-2
lines changed
5 files changed +63
-2
lines changed Original file line number Diff line number Diff line change 1
1
node_modules /
2
+ example /
2
3
test /
3
4
* .js
4
5
* .js.map
Original file line number Diff line number Diff line change @@ -18,7 +18,6 @@ const client = new GClient({
18
18
] ,
19
19
messagePrefix : '!' ,
20
20
devGuildId : process . env . DEV_SERVER ,
21
- cooldown : '30s' ,
22
21
intents : [ Intents . FLAGS . GUILDS , Intents . FLAGS . GUILD_MESSAGES ] ,
23
22
} ) ;
24
23
Original file line number Diff line number Diff line change 1
1
import { Client , ClientOptions } from 'discord.js' ;
2
+ import { ProviderInterface } from './structures/Provider' ;
2
3
import { Plugins } from './managers/PluginManager' ;
3
4
import { Commands } from './managers/CommandManager' ;
4
5
import { Listeners } from './managers/ListenerManager' ;
@@ -16,6 +17,7 @@ export interface GClientOptions extends ClientOptions {
16
17
messagePrefix ?: string ;
17
18
unknownCommandMessage ?: boolean ;
18
19
dirs ?: Array < string > ;
20
+ database ?: ProviderInterface | any ;
19
21
devGuildId ?: string ;
20
22
}
21
23
@@ -24,12 +26,13 @@ export interface GClientOptions extends ClientOptions {
24
26
export class GClient < Ready extends boolean = boolean > extends Client < Ready > {
25
27
public responses : Record < string , string > = Responses ;
26
28
public options : GClientOptions ;
27
- public database ?: any ;
29
+ public database ?: ProviderInterface | any ;
28
30
29
31
constructor ( options : GClientOptions ) {
30
32
super ( options ) ;
31
33
32
34
if ( options . dirs ) registerDirectories ( options . dirs ) ;
35
+ if ( options . database ) this . database = options . database ;
33
36
34
37
setImmediate ( async ( ) : Promise < void > => {
35
38
await Promise . all ( [
Original file line number Diff line number Diff line change
1
+ import Logger from 'js-logger' ;
2
+ import { Util } from '../util/Util' ;
3
+
4
+ export interface ProviderInterface {
5
+ init ( ) : void ;
6
+ get ( ) : Promise < any > | any ;
7
+ set ( ) : Promise < any > | any ;
8
+ delete ( ) : Promise < any > | any ;
9
+ }
10
+
11
+ const throwError = ( error , name ) => {
12
+ const trace = Util . resolveValidationErrorTrace ( [
13
+ name
14
+ ] ) ;
15
+
16
+ Logger . error ( error , trace ) ;
17
+ } ;
18
+
19
+ export class Provider implements ProviderInterface {
20
+ init ( ) {
21
+ throwError ( 'Init method is not implemented!' , this . constructor . name ) ;
22
+ return ;
23
+ }
24
+
25
+ get ( ) {
26
+ throwError ( 'Init method is not implemented!' , this . constructor . name ) ;
27
+ return ;
28
+ }
29
+
30
+ set ( ) {
31
+ throwError ( 'Init method is not implemented!' , this . constructor . name ) ;
32
+ return ;
33
+ }
34
+
35
+ delete ( ) {
36
+ throwError ( 'Init method is not implemented!' , this . constructor . name ) ;
37
+ return ;
38
+ }
39
+ }
Original file line number Diff line number Diff line change
1
+ import { Provider , ProviderInterface } from '../lib/structures/Provider' ;
2
+
3
+ export class MongooseProvider extends Provider implements ProviderInterface {
4
+ init ( ) {
5
+ return 'test' ;
6
+ }
7
+
8
+ async get ( ) {
9
+ return 'test' ;
10
+ }
11
+
12
+ async set ( ) {
13
+ return 'test' ;
14
+ }
15
+
16
+ async delete ( ) {
17
+ return 'test' ;
18
+ }
19
+ }
You can’t perform that action at this time.
0 commit comments