djs-builder 0.5.41 → 0.6.0

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.
Files changed (156) hide show
  1. package/README.md +140 -303
  2. package/function/function.js +236 -0
  3. package/function/log.js +736 -0
  4. package/handler/helper.js +277 -0
  5. package/handler/starter.js +335 -0
  6. package/package.json +10 -42
  7. package/.tsbuildinfo +0 -1
  8. package/dist/discord/builder/components/Buttons.d.ts +0 -22
  9. package/dist/discord/builder/components/Buttons.d.ts.map +0 -1
  10. package/dist/discord/builder/components/Buttons.js +0 -91
  11. package/dist/discord/builder/components/Buttons.js.map +0 -1
  12. package/dist/discord/builder/components/Menus.d.ts +0 -31
  13. package/dist/discord/builder/components/Menus.d.ts.map +0 -1
  14. package/dist/discord/builder/components/Menus.js +0 -82
  15. package/dist/discord/builder/components/Menus.js.map +0 -1
  16. package/dist/discord/builder/permissions/perms.d.ts +0 -6
  17. package/dist/discord/builder/permissions/perms.d.ts.map +0 -1
  18. package/dist/discord/builder/permissions/perms.js +0 -66
  19. package/dist/discord/builder/permissions/perms.js.map +0 -1
  20. package/dist/discord/builder/system/Pagination.d.ts +0 -70
  21. package/dist/discord/builder/system/Pagination.d.ts.map +0 -1
  22. package/dist/discord/builder/system/Pagination.js +0 -227
  23. package/dist/discord/builder/system/Pagination.js.map +0 -1
  24. package/dist/discord/builder/system/collectors.d.ts +0 -27
  25. package/dist/discord/builder/system/collectors.d.ts.map +0 -1
  26. package/dist/discord/builder/system/collectors.js +0 -137
  27. package/dist/discord/builder/system/collectors.js.map +0 -1
  28. package/dist/discord/builder/utils.d.ts +0 -5
  29. package/dist/discord/builder/utils.d.ts.map +0 -1
  30. package/dist/discord/builder/utils.js +0 -10
  31. package/dist/discord/builder/utils.js.map +0 -1
  32. package/dist/discord/events-handler/eventLoader.d.ts +0 -13
  33. package/dist/discord/events-handler/eventLoader.d.ts.map +0 -1
  34. package/dist/discord/events-handler/eventLoader.js +0 -169
  35. package/dist/discord/events-handler/eventLoader.js.map +0 -1
  36. package/dist/discord/events-handler/events.d.ts +0 -8
  37. package/dist/discord/events-handler/events.d.ts.map +0 -1
  38. package/dist/discord/events-handler/events.js +0 -186
  39. package/dist/discord/events-handler/events.js.map +0 -1
  40. package/dist/discord/events-handler/login.d.ts +0 -9
  41. package/dist/discord/events-handler/login.d.ts.map +0 -1
  42. package/dist/discord/events-handler/login.js +0 -273
  43. package/dist/discord/events-handler/login.js.map +0 -1
  44. package/dist/discord/events-handler/prefix-register.d.ts +0 -23
  45. package/dist/discord/events-handler/prefix-register.d.ts.map +0 -1
  46. package/dist/discord/events-handler/prefix-register.js +0 -109
  47. package/dist/discord/events-handler/prefix-register.js.map +0 -1
  48. package/dist/discord/events-handler/prefix-responder.d.ts +0 -5
  49. package/dist/discord/events-handler/prefix-responder.d.ts.map +0 -1
  50. package/dist/discord/events-handler/prefix-responder.js +0 -155
  51. package/dist/discord/events-handler/prefix-responder.js.map +0 -1
  52. package/dist/discord/events-handler/prefixLoader.d.ts +0 -7
  53. package/dist/discord/events-handler/prefixLoader.d.ts.map +0 -1
  54. package/dist/discord/events-handler/prefixLoader.js +0 -74
  55. package/dist/discord/events-handler/prefixLoader.js.map +0 -1
  56. package/dist/discord/events-handler/slash-register.d.ts +0 -4
  57. package/dist/discord/events-handler/slash-register.d.ts.map +0 -1
  58. package/dist/discord/events-handler/slash-register.js +0 -85
  59. package/dist/discord/events-handler/slash-register.js.map +0 -1
  60. package/dist/discord/events-handler/slash-responder.d.ts +0 -3
  61. package/dist/discord/events-handler/slash-responder.d.ts.map +0 -1
  62. package/dist/discord/events-handler/slash-responder.js +0 -112
  63. package/dist/discord/events-handler/slash-responder.js.map +0 -1
  64. package/dist/discord/events-handler/slashLoader.d.ts +0 -7
  65. package/dist/discord/events-handler/slashLoader.d.ts.map +0 -1
  66. package/dist/discord/events-handler/slashLoader.js +0 -94
  67. package/dist/discord/events-handler/slashLoader.js.map +0 -1
  68. package/dist/discord/events-handler/starter.d.ts +0 -6
  69. package/dist/discord/events-handler/starter.d.ts.map +0 -1
  70. package/dist/discord/events-handler/starter.js +0 -85
  71. package/dist/discord/events-handler/starter.js.map +0 -1
  72. package/dist/discord/functions/anticrash.d.ts +0 -3
  73. package/dist/discord/functions/anticrash.d.ts.map +0 -1
  74. package/dist/discord/functions/anticrash.js +0 -55
  75. package/dist/discord/functions/anticrash.js.map +0 -1
  76. package/dist/discord/functions/devLogs.d.ts +0 -2
  77. package/dist/discord/functions/devLogs.d.ts.map +0 -1
  78. package/dist/discord/functions/devLogs.js +0 -137
  79. package/dist/discord/functions/devLogs.js.map +0 -1
  80. package/dist/discord/functions/logger.d.ts +0 -5
  81. package/dist/discord/functions/logger.d.ts.map +0 -1
  82. package/dist/discord/functions/logger.js +0 -57
  83. package/dist/discord/functions/logger.js.map +0 -1
  84. package/dist/discord/functions/mongoDb.d.ts +0 -4
  85. package/dist/discord/functions/mongoDb.d.ts.map +0 -1
  86. package/dist/discord/functions/mongoDb.js +0 -39
  87. package/dist/discord/functions/mongoDb.js.map +0 -1
  88. package/dist/discord/functions/similarity.d.ts +0 -3
  89. package/dist/discord/functions/similarity.d.ts.map +0 -1
  90. package/dist/discord/functions/similarity.js +0 -56
  91. package/dist/discord/functions/similarity.js.map +0 -1
  92. package/dist/discord/functions/terminal.d.ts +0 -2
  93. package/dist/discord/functions/terminal.d.ts.map +0 -1
  94. package/dist/discord/functions/terminal.js +0 -127
  95. package/dist/discord/functions/terminal.js.map +0 -1
  96. package/dist/discord/functions/utils.d.ts +0 -5
  97. package/dist/discord/functions/utils.d.ts.map +0 -1
  98. package/dist/discord/functions/utils.js +0 -11
  99. package/dist/discord/functions/utils.js.map +0 -1
  100. package/dist/discord/functions/versedb.d.ts +0 -3
  101. package/dist/discord/functions/versedb.d.ts.map +0 -1
  102. package/dist/discord/functions/versedb.js +0 -21
  103. package/dist/discord/functions/versedb.js.map +0 -1
  104. package/dist/discord/games/X-O.d.ts +0 -20
  105. package/dist/discord/games/X-O.d.ts.map +0 -1
  106. package/dist/discord/games/X-O.js +0 -166
  107. package/dist/discord/games/X-O.js.map +0 -1
  108. package/dist/discord/games/rps.d.ts +0 -21
  109. package/dist/discord/games/rps.d.ts.map +0 -1
  110. package/dist/discord/games/rps.js +0 -99
  111. package/dist/discord/games/rps.js.map +0 -1
  112. package/dist/discord/types/starter.d.ts +0 -144
  113. package/dist/discord/types/starter.d.ts.map +0 -1
  114. package/dist/discord/types/starter.js +0 -3
  115. package/dist/discord/types/starter.js.map +0 -1
  116. package/dist/discord/types/utils.d.ts +0 -3
  117. package/dist/discord/types/utils.d.ts.map +0 -1
  118. package/dist/discord/types/utils.js +0 -3
  119. package/dist/discord/types/utils.js.map +0 -1
  120. package/dist/discord/utils.d.ts +0 -15
  121. package/dist/discord/utils.d.ts.map +0 -1
  122. package/dist/discord/utils.js +0 -41
  123. package/dist/discord/utils.js.map +0 -1
  124. package/dist/index.d.ts +0 -4
  125. package/dist/index.d.ts.map +0 -1
  126. package/dist/index.js +0 -71
  127. package/dist/index.js.map +0 -1
  128. package/lib/discord/builder/components/Buttons.ts +0 -123
  129. package/lib/discord/builder/components/Menus.ts +0 -106
  130. package/lib/discord/builder/permissions/perms.ts +0 -66
  131. package/lib/discord/builder/system/Pagination.ts +0 -323
  132. package/lib/discord/builder/system/collectors.ts +0 -197
  133. package/lib/discord/builder/utils.ts +0 -9
  134. package/lib/discord/events-handler/eventLoader.ts +0 -166
  135. package/lib/discord/events-handler/events.ts +0 -160
  136. package/lib/discord/events-handler/login.ts +0 -265
  137. package/lib/discord/events-handler/prefix-register.ts +0 -117
  138. package/lib/discord/events-handler/prefix-responder.ts +0 -176
  139. package/lib/discord/events-handler/prefixLoader.ts +0 -83
  140. package/lib/discord/events-handler/slash-register.ts +0 -81
  141. package/lib/discord/events-handler/slash-responder.ts +0 -136
  142. package/lib/discord/events-handler/slashLoader.ts +0 -104
  143. package/lib/discord/events-handler/starter.ts +0 -85
  144. package/lib/discord/functions/anticrash.ts +0 -60
  145. package/lib/discord/functions/devLogs.ts +0 -128
  146. package/lib/discord/functions/logger.ts +0 -58
  147. package/lib/discord/functions/mongoDb.ts +0 -38
  148. package/lib/discord/functions/similarity.ts +0 -70
  149. package/lib/discord/functions/terminal.ts +0 -162
  150. package/lib/discord/functions/utils.ts +0 -4
  151. package/lib/discord/functions/versedb.ts +0 -17
  152. package/lib/discord/types/starter.ts +0 -158
  153. package/lib/discord/types/utils.ts +0 -2
  154. package/lib/discord/utils.ts +0 -17
  155. package/lib/index.ts +0 -37
  156. package/tsconfig.json +0 -21
@@ -1,144 +0,0 @@
1
- import { Client } from 'discord.js';
2
- export interface BotOptions {
3
- token?: string;
4
- logs?: {
5
- devLogs?: {
6
- enable: boolean;
7
- pathToWatch: any;
8
- webhookURL: string;
9
- mention?: string;
10
- };
11
- terminal?: boolean;
12
- waterMark?: boolean;
13
- };
14
- name?: string;
15
- avatar?: string;
16
- banner?: string;
17
- BotInfo?: {
18
- perms?: string[];
19
- serverId?: string;
20
- botInvite?: string;
21
- serverInvite?: string;
22
- ownerId?: string;
23
- partners?: string[];
24
- developers?: string[];
25
- };
26
- Status?: {
27
- state: 'online' | 'dnd' | 'idle' | 'invisible' | 'Streaming' | any;
28
- activities?: string[] | undefined;
29
- type?: number;
30
- delay?: number;
31
- };
32
- Database?: {
33
- mongo?: MongoDbOptions;
34
- verse?: LocalDb;
35
- };
36
- }
37
- export interface SlashOptions {
38
- path: string;
39
- global?: boolean;
40
- serverId?: string;
41
- logsId?: string;
42
- autoLoader?: {
43
- enable?: boolean;
44
- DEBOUNCE_DELAY?: number;
45
- };
46
- }
47
- export interface PrefixOptions {
48
- path: string;
49
- prefix: string;
50
- global?: boolean;
51
- serverIds?: string[];
52
- customPrefix?: {
53
- serverId: string;
54
- prefix: string;
55
- }[];
56
- similarity?: boolean;
57
- logsId?: string;
58
- autoLoader?: {
59
- enable?: boolean;
60
- DEBOUNCE_DELAY?: number;
61
- };
62
- }
63
- export interface MongoDbOptions {
64
- mongoURI: string;
65
- dbName?: string;
66
- }
67
- export interface LocalDb {
68
- adapterType: string | 'json' | 'sql' | 'yaml';
69
- path: string;
70
- dev: {
71
- enable: boolean;
72
- logsPath?: string;
73
- };
74
- secure: {
75
- enable: boolean;
76
- secret: string;
77
- };
78
- }
79
- export interface AntiCrash {
80
- enable: boolean;
81
- webhookURL: string;
82
- mention?: string;
83
- }
84
- export interface EventsOptions {
85
- path: string;
86
- logsId?: string;
87
- recursive?: boolean;
88
- eventBlacklist?: string[];
89
- autoLoader?: {
90
- enable?: boolean;
91
- DEBOUNCE_DELAY?: number;
92
- };
93
- }
94
- export interface Event {
95
- name: string;
96
- once: boolean;
97
- execute(...args: any[]): Promise<void>;
98
- initializer?: number;
99
- interval?: number;
100
- intervalId?: NodeJS.Timeout;
101
- maxExecution?: number;
102
- retryAttempts?: number;
103
- }
104
- export interface Command {
105
- name: string;
106
- description?: string;
107
- execute?: (...args: any[]) => void;
108
- run?: (...args: any[]) => void;
109
- aliases?: string[];
110
- cooldown?: number;
111
- usage?: string;
112
- developer?: boolean;
113
- category?: string;
114
- fastUse?: boolean;
115
- botPerms?: string[];
116
- userPerms?: string[];
117
- owner?: boolean;
118
- accessLevel?: string;
119
- method?: (...args: any[]) => void;
120
- }
121
- export type ShardingManagerMode = 'process' | 'worker';
122
- export interface ShardingManagerOptions {
123
- enable?: boolean;
124
- totalShards?: number | 'auto';
125
- shardList?: readonly number[] | 'auto';
126
- mode?: ShardingManagerMode;
127
- respawn?: boolean;
128
- silent?: boolean;
129
- shardArgs?: readonly string[];
130
- token?: string;
131
- execArgv?: readonly string[];
132
- }
133
- export interface StarterOptions {
134
- bot: BotOptions;
135
- sharding?: ShardingManagerOptions;
136
- slash?: SlashOptions;
137
- prefix?: PrefixOptions;
138
- events?: EventsOptions;
139
- anticrash?: AntiCrash;
140
- }
141
- export interface StarterInterface {
142
- start(djs: Client, options: StarterOptions): Promise<any>;
143
- }
144
- //# sourceMappingURL=starter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"starter.d.ts","sourceRoot":"","sources":["../../../lib/discord/types/starter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=starter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"starter.js","sourceRoot":"","sources":["../../../lib/discord/types/starter.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { StarterOptions, StarterInterface, EventsOptions, Command, PrefixOptions, SlashOptions, Event } from './starter';
2
- export { StarterOptions, StarterInterface, EventsOptions, Command, PrefixOptions, SlashOptions, Event };
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/discord/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACxH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/discord/types/utils.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { Starter } from "./events-handler/starter";
2
- import { ButtonManager, MenuManager, PermissionChecker } from './builder/utils';
3
- import { slashLoader } from "./events-handler/slashLoader";
4
- import { prefixLoader } from "./events-handler/prefixLoader";
5
- import { eventLoader } from "./events-handler/eventLoader";
6
- import { readCommands } from "./events-handler/prefix-register";
7
- import { loadPrefix, handleMessageCreate } from "./events-handler/prefix-responder";
8
- import { registerSlashCommands } from "./events-handler/slash-register";
9
- import { loadSlash } from "./events-handler/slash-responder";
10
- import { logError, logInfo, logSuccess, logWarning } from "./functions/logger";
11
- import { Pagination } from "./builder/system/Pagination";
12
- import { Djs_Collectors } from "./builder/system/collectors";
13
- import { loadEvents, withRetry, processEventFile, processDirectory, limitConcurrency, countEventFiles } from "./events-handler/events";
14
- export { Starter, ButtonManager, MenuManager, PermissionChecker, slashLoader, prefixLoader, eventLoader, readCommands, loadEvents, loadSlash, loadPrefix, handleMessageCreate, processDirectory, countEventFiles, limitConcurrency, withRetry, registerSlashCommands, processEventFile, logError, logInfo, logSuccess, logWarning, Pagination, Djs_Collectors };
15
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAG,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEvI,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EACjI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Djs_Collectors = exports.Pagination = exports.logWarning = exports.logSuccess = exports.logInfo = exports.logError = exports.processEventFile = exports.registerSlashCommands = exports.withRetry = exports.limitConcurrency = exports.countEventFiles = exports.processDirectory = exports.handleMessageCreate = exports.loadPrefix = exports.loadSlash = exports.loadEvents = exports.readCommands = exports.eventLoader = exports.prefixLoader = exports.slashLoader = exports.PermissionChecker = exports.MenuManager = exports.ButtonManager = exports.Starter = void 0;
4
- const starter_1 = require("./events-handler/starter");
5
- Object.defineProperty(exports, "Starter", { enumerable: true, get: function () { return starter_1.Starter; } });
6
- const utils_1 = require("./builder/utils");
7
- Object.defineProperty(exports, "ButtonManager", { enumerable: true, get: function () { return utils_1.ButtonManager; } });
8
- Object.defineProperty(exports, "MenuManager", { enumerable: true, get: function () { return utils_1.MenuManager; } });
9
- Object.defineProperty(exports, "PermissionChecker", { enumerable: true, get: function () { return utils_1.PermissionChecker; } });
10
- const slashLoader_1 = require("./events-handler/slashLoader");
11
- Object.defineProperty(exports, "slashLoader", { enumerable: true, get: function () { return slashLoader_1.slashLoader; } });
12
- const prefixLoader_1 = require("./events-handler/prefixLoader");
13
- Object.defineProperty(exports, "prefixLoader", { enumerable: true, get: function () { return prefixLoader_1.prefixLoader; } });
14
- const eventLoader_1 = require("./events-handler/eventLoader");
15
- Object.defineProperty(exports, "eventLoader", { enumerable: true, get: function () { return eventLoader_1.eventLoader; } });
16
- const prefix_register_1 = require("./events-handler/prefix-register");
17
- Object.defineProperty(exports, "readCommands", { enumerable: true, get: function () { return prefix_register_1.readCommands; } });
18
- const prefix_responder_1 = require("./events-handler/prefix-responder");
19
- Object.defineProperty(exports, "loadPrefix", { enumerable: true, get: function () { return prefix_responder_1.loadPrefix; } });
20
- Object.defineProperty(exports, "handleMessageCreate", { enumerable: true, get: function () { return prefix_responder_1.handleMessageCreate; } });
21
- const slash_register_1 = require("./events-handler/slash-register");
22
- Object.defineProperty(exports, "registerSlashCommands", { enumerable: true, get: function () { return slash_register_1.registerSlashCommands; } });
23
- const slash_responder_1 = require("./events-handler/slash-responder");
24
- Object.defineProperty(exports, "loadSlash", { enumerable: true, get: function () { return slash_responder_1.loadSlash; } });
25
- const logger_1 = require("./functions/logger");
26
- Object.defineProperty(exports, "logError", { enumerable: true, get: function () { return logger_1.logError; } });
27
- Object.defineProperty(exports, "logInfo", { enumerable: true, get: function () { return logger_1.logInfo; } });
28
- Object.defineProperty(exports, "logSuccess", { enumerable: true, get: function () { return logger_1.logSuccess; } });
29
- Object.defineProperty(exports, "logWarning", { enumerable: true, get: function () { return logger_1.logWarning; } });
30
- const Pagination_1 = require("./builder/system/Pagination");
31
- Object.defineProperty(exports, "Pagination", { enumerable: true, get: function () { return Pagination_1.Pagination; } });
32
- const collectors_1 = require("./builder/system/collectors");
33
- Object.defineProperty(exports, "Djs_Collectors", { enumerable: true, get: function () { return collectors_1.Djs_Collectors; } });
34
- const events_1 = require("./events-handler/events");
35
- Object.defineProperty(exports, "loadEvents", { enumerable: true, get: function () { return events_1.loadEvents; } });
36
- Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return events_1.withRetry; } });
37
- Object.defineProperty(exports, "processEventFile", { enumerable: true, get: function () { return events_1.processEventFile; } });
38
- Object.defineProperty(exports, "processDirectory", { enumerable: true, get: function () { return events_1.processDirectory; } });
39
- Object.defineProperty(exports, "limitConcurrency", { enumerable: true, get: function () { return events_1.limitConcurrency; } });
40
- Object.defineProperty(exports, "countEventFiles", { enumerable: true, get: function () { return events_1.countEventFiles; } });
41
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/discord/utils.ts"],"names":[],"mappings":";;;AAAA,sDAAmD;AAc1C,wFAdA,iBAAO,OAcA;AAbhB,2CAAgF;AAa9D,8FAbT,qBAAa,OAaS;AAAE,4FAbT,mBAAW,OAaS;AAAE,kGAbT,yBAAiB,OAaS;AAZ/D,8DAA2D;AAYM,4FAZxD,yBAAW,OAYwD;AAX5E,gEAA6D;AAWiB,6FAXrE,2BAAY,OAWqE;AAV1F,8DAA2D;AAUiC,4FAVnF,yBAAW,OAUmF;AATvG,sEAAgE;AASyC,6FAThG,8BAAY,OASgG;AARrH,wEAAoF;AASrE,2FATN,6BAAU,OASM;AAAE,oGATN,sCAAmB,OASM;AAR9C,oEAAwE;AAQwC,sGARvG,sCAAqB,OAQuG;AAPrI,sEAA6D;AAOzD,0FAPK,2BAAS,OAOL;AANb,+CAAgF;AAO1D,yFAPb,iBAAQ,OAOa;AAAE,wFAPb,gBAAO,OAOa;AAAE,2FAPb,mBAAU,OAOa;AAAE,2FAPb,mBAAU,OAOa;AAN/D,4DAAyD;AAMQ,2FANxD,uBAAU,OAMwD;AAL3E,4DAA6D;AAKgB,+FALpE,2BAAc,OAKoE;AAJ3F,oDAAuI;AAEhB,2FAF9G,mBAAU,OAE8G;AAC5B,0FAHhF,kBAAS,OAGgF;AAC1G,iGAJ4B,yBAAgB,OAI5B;AAD4B,iGAHE,yBAAgB,OAGF;AAAmB,iGAHf,yBAAgB,OAGe;AAAjC,gGAHoB,wBAAe,OAGpB"}
package/dist/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { Starter, ButtonManager, MenuManager, PermissionChecker, slashLoader, prefixLoader, eventLoader, readCommands, loadEvents, loadSlash, loadPrefix, handleMessageCreate, processDirectory, countEventFiles, limitConcurrency, withRetry, registerSlashCommands, processEventFile, logError, logInfo, logSuccess, logWarning, Pagination, Djs_Collectors } from "./discord/utils";
2
- export { Starter, ButtonManager, MenuManager, PermissionChecker, slashLoader, prefixLoader, eventLoader, readCommands, loadEvents, loadSlash, loadPrefix, handleMessageCreate, processDirectory, countEventFiles, limitConcurrency, withRetry, registerSlashCommands, processEventFile, logError, logInfo, logSuccess, logWarning, Pagination, Djs_Collectors };
3
- export * from './discord/types/starter';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAC7H,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAChI,gBAAgB,EAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAChG,cAAc,yBAAyB,CAAC"}
package/dist/index.js DELETED
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Djs_Collectors = exports.Pagination = exports.logWarning = exports.logSuccess = exports.logInfo = exports.logError = exports.processEventFile = exports.registerSlashCommands = exports.withRetry = exports.limitConcurrency = exports.countEventFiles = exports.processDirectory = exports.handleMessageCreate = exports.loadPrefix = exports.loadSlash = exports.loadEvents = exports.readCommands = exports.eventLoader = exports.prefixLoader = exports.slashLoader = exports.PermissionChecker = exports.MenuManager = exports.ButtonManager = exports.Starter = void 0;
21
- const path_1 = __importDefault(require("path"));
22
- const fs_1 = __importDefault(require("fs"));
23
- const packageJsonPath = path_1.default.resolve(process.cwd(), "package.json");
24
- const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, "utf8"));
25
- const getLibraryVersion = function (library) {
26
- const dependencies = packageJson.dependencies || {};
27
- const devDependencies = packageJson.devDependencies || {};
28
- const version = (dependencies[library] || devDependencies[library] || "").replace(/^(\^|~)/, "") || "Not installed";
29
- return version;
30
- };
31
- fetch("https://registry.npmjs.com/-/v1/search?text=djs-builder")
32
- .then(response => {
33
- if (!response.ok) {
34
- throw new Error('Failed to fetch');
35
- }
36
- return response.json();
37
- })
38
- .then(data => {
39
- const version = data.objects[0]?.package?.version;
40
- if (version && getLibraryVersion("djs-builder") !== version) {
41
- console.error("Error: Please update djs-builder to the latest version (" + version + ").");
42
- }
43
- })
44
- .catch((e) => { });
45
- const utils_1 = require("./discord/utils");
46
- Object.defineProperty(exports, "Starter", { enumerable: true, get: function () { return utils_1.Starter; } });
47
- Object.defineProperty(exports, "ButtonManager", { enumerable: true, get: function () { return utils_1.ButtonManager; } });
48
- Object.defineProperty(exports, "MenuManager", { enumerable: true, get: function () { return utils_1.MenuManager; } });
49
- Object.defineProperty(exports, "PermissionChecker", { enumerable: true, get: function () { return utils_1.PermissionChecker; } });
50
- Object.defineProperty(exports, "slashLoader", { enumerable: true, get: function () { return utils_1.slashLoader; } });
51
- Object.defineProperty(exports, "prefixLoader", { enumerable: true, get: function () { return utils_1.prefixLoader; } });
52
- Object.defineProperty(exports, "eventLoader", { enumerable: true, get: function () { return utils_1.eventLoader; } });
53
- Object.defineProperty(exports, "readCommands", { enumerable: true, get: function () { return utils_1.readCommands; } });
54
- Object.defineProperty(exports, "loadEvents", { enumerable: true, get: function () { return utils_1.loadEvents; } });
55
- Object.defineProperty(exports, "loadSlash", { enumerable: true, get: function () { return utils_1.loadSlash; } });
56
- Object.defineProperty(exports, "loadPrefix", { enumerable: true, get: function () { return utils_1.loadPrefix; } });
57
- Object.defineProperty(exports, "handleMessageCreate", { enumerable: true, get: function () { return utils_1.handleMessageCreate; } });
58
- Object.defineProperty(exports, "processDirectory", { enumerable: true, get: function () { return utils_1.processDirectory; } });
59
- Object.defineProperty(exports, "countEventFiles", { enumerable: true, get: function () { return utils_1.countEventFiles; } });
60
- Object.defineProperty(exports, "limitConcurrency", { enumerable: true, get: function () { return utils_1.limitConcurrency; } });
61
- Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return utils_1.withRetry; } });
62
- Object.defineProperty(exports, "registerSlashCommands", { enumerable: true, get: function () { return utils_1.registerSlashCommands; } });
63
- Object.defineProperty(exports, "processEventFile", { enumerable: true, get: function () { return utils_1.processEventFile; } });
64
- Object.defineProperty(exports, "logError", { enumerable: true, get: function () { return utils_1.logError; } });
65
- Object.defineProperty(exports, "logInfo", { enumerable: true, get: function () { return utils_1.logInfo; } });
66
- Object.defineProperty(exports, "logSuccess", { enumerable: true, get: function () { return utils_1.logSuccess; } });
67
- Object.defineProperty(exports, "logWarning", { enumerable: true, get: function () { return utils_1.logWarning; } });
68
- Object.defineProperty(exports, "Pagination", { enumerable: true, get: function () { return utils_1.Pagination; } });
69
- Object.defineProperty(exports, "Djs_Collectors", { enumerable: true, get: function () { return utils_1.Djs_Collectors; } });
70
- __exportStar(require("./discord/types/starter"), exports);
71
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,eAAe,GAAW,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;AAC5E,MAAM,WAAW,GAAQ,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9E,MAAM,iBAAiB,GAAG,UAAS,OAAY;IAC3C,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IACpD,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC;IACpH,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,KAAK,CAAC,yDAAyD,CAAC;KAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE;IACb,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,EAAE;IACT,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAClD,IAAI,OAAO,IAAI,iBAAiB,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,0DAA0D,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;IAC/F,CAAC;AACL,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;AAG3B,2CAEsH;AAE7G,wFAJA,eAAO,OAIA;AAAE,8FAJA,qBAAa,OAIA;AAAE,4FAJA,mBAAW,OAIA;AAAE,kGAJA,yBAAiB,OAIA;AAAE,4FAJA,mBAAW,OAIA;AAAE,6FAJA,oBAAY,OAIA;AAAE,4FAJA,mBAAW,OAIA;AAAE,6FAJA,oBAAY,OAIA;AAAE,2FAJA,kBAAU,OAIA;AAC7H,0FAJA,iBAAS,OAIA;AAAE,2FAJA,kBAAU,OAIA;AAAE,oGAJA,2BAAmB,OAIA;AAAE,iGAJA,wBAAgB,OAIA;AAAE,gGAJA,uBAAe,OAIA;AAAE,iGAJA,wBAAgB,OAIA;AAAE,0FAJA,iBAAS,OAIA;AAAE,sGAJA,6BAAqB,OAIA;AAChI,iGAJA,wBAAgB,OAIA;AAAG,yFAJD,gBAAQ,OAIC;AAAE,wFAJD,eAAO,OAIC;AAAE,2FAJD,kBAAU,OAIC;AAAE,2FAJD,kBAAU,OAIC;AAAE,2FAJD,kBAAU,OAIC;AAAE,+FAJD,sBAAc,OAIC;AAC7F,0DAAwC"}
@@ -1,123 +0,0 @@
1
- import { ButtonBuilder, ActionRowBuilder, ButtonStyle } from 'discord.js';
2
-
3
- export class ButtonManager {
4
- buttonsData: Array<{
5
- label?: string;
6
- style: ButtonStyle | string;
7
- customId?: string;
8
- emoji?: string;
9
- url?: string;
10
- disabled?: boolean;
11
- }>;
12
-
13
- constructor(buttonsData: Array<{
14
- label?: string;
15
- style: ButtonStyle | string;
16
- customId?: string;
17
- emoji?: string;
18
- url?: string;
19
- disabled?: boolean;
20
- }>) {
21
- this.buttonsData = buttonsData;
22
- }
23
-
24
- createButtons(): ButtonBuilder[] {
25
- const duplicateCustomId = this.buttonsData
26
- .map(({ customId }) => customId)
27
- .find((id, index, array) => array.indexOf(id) !== index);
28
-
29
- if (duplicateCustomId) {
30
- throw new Error(`Duplicate customId found: ${duplicateCustomId}. Each customId must be unique.`);
31
- }
32
-
33
- const buttons = this.buttonsData.map(buttonInfo => {
34
- const { label, style, customId, emoji, url, disabled } = buttonInfo;
35
- const button = new ButtonBuilder();
36
-
37
- if ((!customId && !url) || (customId && typeof customId !== 'string')) {
38
- throw new Error('Invalid customId. Must be a non-empty string.');
39
- }
40
-
41
- if (customId) {
42
- button.setCustomId(customId);
43
- }
44
-
45
- if (!style) {
46
- throw new Error('Invalid style: Style option is required for the button.');
47
- }
48
-
49
- let buttonStyle: ButtonStyle;
50
- switch (style) {
51
- case 'Primary':
52
- buttonStyle = ButtonStyle.Primary;
53
- break;
54
- case 'Secondary':
55
- buttonStyle = ButtonStyle.Secondary;
56
- break;
57
- case 'Success':
58
- buttonStyle = ButtonStyle.Success;
59
- break;
60
- case 'Danger':
61
- buttonStyle = ButtonStyle.Danger;
62
- break;
63
- case 'Link':
64
- buttonStyle = ButtonStyle.Link;
65
- break;
66
- default:
67
- throw new Error(`Invalid style: ${style}.`);
68
- }
69
-
70
- button.setStyle(buttonStyle);
71
-
72
- if (url && buttonStyle !== ButtonStyle.Link) {
73
- throw new TypeError('Non-link buttons cannot have a URL');
74
- }
75
-
76
- if (url && buttonStyle === ButtonStyle.Link) {
77
- if (!url.startsWith('http')) {
78
- throw new Error('Invalid URL format. Must start with "http" or "https".');
79
- }
80
- button.setURL(url);
81
- }
82
-
83
- if (emoji) {
84
- button.setEmoji(emoji);
85
- }
86
-
87
- if (label) {
88
- button.setLabel(label);
89
- }
90
-
91
- if (!url && !customId) {
92
- throw new Error('Invalid Button: At least provide url or customId.');
93
- }
94
-
95
- if (disabled !== undefined) {
96
- if (typeof disabled !== 'boolean') {
97
- throw new Error('Invalid disabled: Must be a boolean (true/false).');
98
- }
99
- button.setDisabled(disabled);
100
- }
101
-
102
- return button;
103
- });
104
-
105
- const totalButtons = buttons.length;
106
-
107
- if (totalButtons > 5) {
108
- throw new Error(`Invalid Action Row: An action row can have at most 5 buttons. Current count: ${totalButtons}`);
109
- }
110
-
111
- return buttons;
112
- }
113
-
114
- ButtonBuild(): ActionRowBuilder {
115
- const buttons = this.createButtons();
116
-
117
- if (buttons.length === 0) {
118
- throw new Error('Invalid Action Row: At least one button is required.');
119
- }
120
-
121
- return new ActionRowBuilder().addComponents(buttons);
122
- }
123
- }
@@ -1,106 +0,0 @@
1
- import { StringSelectMenuBuilder, StringSelectMenuOptionBuilder, ActionRowBuilder } from 'discord.js';
2
-
3
- export class MenuManager {
4
- options: Array<{
5
- label: string;
6
- value: string;
7
- description?: string;
8
- emoji?: string;
9
- default?: boolean;
10
- }>;
11
- customId: string;
12
- placeholder: string;
13
- minValues: number;
14
- maxValues: number;
15
- disabled: boolean;
16
-
17
- constructor(
18
- options: Array<{
19
- label: string;
20
- value: string;
21
- description?: string;
22
- emoji?: string;
23
- default?: boolean;
24
- }>,
25
- customId: string,
26
- placeholder: string,
27
- minValues: number = 1,
28
- maxValues: number = 1,
29
- disabled: boolean = false
30
- ) {
31
- if (!options || !Array.isArray(options) || options.length === 0) {
32
- throw new Error('Options are required and must be a non-empty array.');
33
- }
34
- if (minValues < 1) {
35
- throw new Error('Minimum values must be 1 or greater.');
36
- }
37
- if (options.length > 25) {
38
- throw new Error('Number of options cannot exceed 25.');
39
- }
40
- if (maxValues < 1) {
41
- throw new Error('Maximum values must be 1 or greater.');
42
- }
43
- if (maxValues > options.length) {
44
- throw new Error('Maximum values cannot exceed the number of options.');
45
- }
46
- if (!customId || typeof customId !== 'string') {
47
- throw new Error('Custom ID is required and must be a non-empty string.');
48
- }
49
- if (!placeholder || typeof placeholder !== 'string') {
50
- throw new Error('Placeholder is required and must be a non-empty string.');
51
- }
52
- const duplicateValue = options
53
- .map(({ value }) => value)
54
- .find((val, index, array) => array.indexOf(val) !== index);
55
- if (duplicateValue) {
56
- throw new Error(`Duplicate value found: ${duplicateValue}. Each value must be unique.`);
57
- }
58
- this.options = options;
59
- this.customId = customId;
60
- this.placeholder = placeholder;
61
- this.minValues = minValues;
62
- this.maxValues = maxValues;
63
- this.disabled = disabled;
64
- }
65
-
66
- createSelectMenu() {
67
- const selectMenu = new StringSelectMenuBuilder()
68
- .setCustomId(this.customId)
69
- .setPlaceholder(this.placeholder)
70
- .setMinValues(this.minValues)
71
- .setMaxValues(this.maxValues)
72
- .setDisabled(this.disabled)
73
- .addOptions(this.options.map(option => this.createSelectMenuOption(option)));
74
- const row = new ActionRowBuilder().addComponents(selectMenu);
75
- return row;
76
- }
77
-
78
- createSelectMenuOption({ label, value, description, emoji, default: isDefault }: {
79
- label: string;
80
- value: string;
81
- description?: string;
82
- emoji?: string;
83
- default?: boolean;
84
- }) {
85
- if (!label || !value) {
86
- throw new Error('Label and value are required for each option.');
87
- }
88
- const option = new StringSelectMenuOptionBuilder()
89
- .setLabel(label)
90
- .setValue(value);
91
- if (description !== undefined) {
92
- option.setDescription(description);
93
- }
94
- if (emoji) {
95
- option.setEmoji(emoji);
96
- }
97
- if (isDefault) {
98
- const defaultCount = this.options.filter(opt => opt.default).length;
99
- if (defaultCount > 1) {
100
- throw new Error('Only one option can be set as default.');
101
- }
102
- option.setDefault(true);
103
- }
104
- return option;
105
- }
106
- }
@@ -1,66 +0,0 @@
1
- import { Guild, PermissionResolvable, Snowflake } from 'discord.js';
2
-
3
- export class PermissionChecker {
4
- private validPermissions: Set<PermissionResolvable> = new Set([
5
- 'CreateInstantInvite',
6
- 'KickMembers',
7
- 'BanMembers',
8
- 'Administrator',
9
- 'ManageChannels',
10
- 'ManageGuild',
11
- 'AddReactions',
12
- 'ViewAuditLog',
13
- 'PrioritySpeaker',
14
- 'Stream',
15
- 'ViewChannel',
16
- 'SendMessages',
17
- 'SendTTSMessages',
18
- 'ManageMessages',
19
- 'EmbedLinks',
20
- 'AttachFiles',
21
- 'ReadMessageHistory',
22
- 'MentionEveryone',
23
- 'UseExternalEmojis',
24
- 'ViewGuildInsights',
25
- 'Connect',
26
- 'Speak',
27
- 'MuteMembers',
28
- 'DeafenMembers',
29
- 'MoveMembers',
30
- 'UseVAD',
31
- 'ChangeNickname',
32
- 'ManageNicknames',
33
- 'ManageRoles',
34
- 'ManageWebhooks',
35
- 'ManageEmojisAndStickers',
36
- 'ManageGuildExpressions',
37
- 'UseApplicationCommands',
38
- 'RequestToSpeak',
39
- 'ManageEvents',
40
- 'ManageThreads',
41
- 'CreatePublicThreads',
42
- 'CreatePrivateThreads',
43
- 'UseExternalStickers',
44
- 'SendMessagesInThreads',
45
- 'UseEmbeddedActivities',
46
- 'ModerateMembers',
47
- 'ViewCreatorMonetizationAnalytics',
48
- 'UseSoundboard',
49
- 'UseExternalSounds',
50
- 'SendVoiceMessages'
51
- ]);
52
-
53
- async checker(target: Snowflake, guild: Guild, requiredPermissions: PermissionResolvable[]): Promise<boolean> {
54
- if (!requiredPermissions || !Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {
55
- throw new Error('Invalid requiredPermissions. Must be a non-empty array.');
56
- }
57
-
58
- const invalidPermissions = requiredPermissions.filter(permission => !this.validPermissions.has(permission));
59
- if (invalidPermissions.length > 0) {
60
- throw new Error(`Invalid permissions found: ${invalidPermissions.join(', ')}.`);
61
- }
62
-
63
- const member = await guild.members.fetch(target);
64
- return member.permissions.has(requiredPermissions);
65
- }
66
- }