voxar 1.0.4 → 1.0.6

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.
@@ -0,0 +1,93 @@
1
+ import { Guild as __discordGuild, Role as __discordGuildRole, GuildMember as __discordGuildMember, User as __discordUser, type Channel as __discordChannel, GuildChannel as __discordGuildChannel, VoiceChannel as __discordVoiceChannel, TextChannel as __discordTextChannel, CommandInteraction as __discordCommandInteraction, Message as __discordMessage, type FetchMemberOptions, type UserResolvable, type BaseFetchOptions, type MessagePayload, type BanOptions, type MessageCreateOptions } from "discord.js";
2
+ import type { EnviromentVariableTypes, PluginGeneric } from "../types/voxar.js";
3
+ export declare class Guild<T extends PluginGeneric<any>> {
4
+ #private;
5
+ constructor(guild: __discordGuild);
6
+ get id(): string;
7
+ get name(): string;
8
+ get memberCount(): number;
9
+ get members(): {
10
+ readonly cache: readonly Member<T>[];
11
+ fetch(fetchOptions: UserResolvable | FetchMemberOptions | (FetchMemberOptions & {
12
+ user: UserResolvable;
13
+ })): Promise<readonly Member<T>[] | Member<T>>;
14
+ };
15
+ get roles(): {
16
+ readonly cache: readonly Role<T>[];
17
+ fetch(id: string, options?: BaseFetchOptions): Promise<readonly Role<T>[] | Role<T>>;
18
+ };
19
+ get channels(): {
20
+ readonly cache: readonly Channel<T>[];
21
+ fetch(id: string, options: BaseFetchOptions): Promise<readonly Channel<T>[] | Channel<T>>;
22
+ };
23
+ env<K extends keyof T["env"]>(key: K): EnviromentVariableTypes<T>[T["env"][K]["type"]];
24
+ }
25
+ export declare class User {
26
+ #private;
27
+ constructor(user: __discordUser);
28
+ get id(): string;
29
+ get username(): string;
30
+ get globalName(): string | null;
31
+ get accentColor(): number | null | undefined;
32
+ get hexAccentColor(): string | null | undefined;
33
+ get avatar(): string | null;
34
+ get banner(): string | null | undefined;
35
+ get discriminator(): string;
36
+ }
37
+ export declare class Member<T extends PluginGeneric<any>> {
38
+ #private;
39
+ constructor(member: __discordGuildMember, guild?: Guild<T>);
40
+ get user(): User;
41
+ get guild(): Guild<T> | undefined;
42
+ get roles(): {
43
+ readonly highest: Role<T>;
44
+ readonly cache: Role<T>[];
45
+ readonly icon: Role<T> | null;
46
+ };
47
+ kick(reason?: string): Promise<Member<T>>;
48
+ ban(options?: BanOptions): Promise<Member<T>>;
49
+ }
50
+ export declare class Role<T extends PluginGeneric<any>> {
51
+ #private;
52
+ constructor(role: __discordGuildRole, guild?: Guild<T>);
53
+ }
54
+ type __discordUnionChannel = __discordGuildChannel | __discordVoiceChannel | __discordTextChannel | __discordChannel;
55
+ export declare class Channel<T extends PluginGeneric<any>> {
56
+ #private;
57
+ constructor(channel: __discordUnionChannel, guild?: Guild<T>);
58
+ get guild(): Guild<T> | undefined;
59
+ send(options: string | MessagePayload | MessageCreateOptions): Promise<Message<T> | undefined>;
60
+ delete(reason?: string): Promise<Channel<T> | undefined>;
61
+ setName(name: string, reason?: string): Promise<Channel<PluginGeneric<any>> | undefined>;
62
+ isTextBased(): boolean;
63
+ isDMBased(): boolean;
64
+ isSendable(): boolean;
65
+ }
66
+ type FrameworkReplyOptions = string | {
67
+ content?: string;
68
+ embeds?: any[];
69
+ ephemeral?: boolean;
70
+ };
71
+ declare class Respondable<T extends PluginGeneric<any>> {
72
+ #private;
73
+ constructor(source: __discordCommandInteraction | __discordMessage);
74
+ reply(options: FrameworkReplyOptions): Promise<void>;
75
+ }
76
+ export declare class Message<T extends PluginGeneric<any>> extends Respondable<T> {
77
+ #private;
78
+ constructor(message: __discordMessage, channel?: Channel<T>, guild?: Guild<T>, member?: Member<T>, user?: User);
79
+ get channel(): Channel<T> | undefined;
80
+ get member(): Member<T> | undefined;
81
+ get guild(): Guild<T> | undefined;
82
+ get user(): User | undefined;
83
+ }
84
+ export declare class CommandInteraction<T extends PluginGeneric<any>> extends Respondable<T> {
85
+ #private;
86
+ constructor(interaction: __discordCommandInteraction, channel: Channel<T>, member: Member<T>, guild: Guild<T>, user: User);
87
+ get channel(): Channel<T> | undefined;
88
+ get member(): Member<T> | undefined;
89
+ get guild(): Guild<T> | undefined;
90
+ get user(): User | undefined;
91
+ }
92
+ export {};
93
+ //# sourceMappingURL=discord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/classes/discord.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,332 @@
1
+ import { Guild as __discordGuild, Role as __discordGuildRole, GuildMember as __discordGuildMember, User as __discordUser, GuildChannel as __discordGuildChannel, VoiceChannel as __discordVoiceChannel, TextChannel as __discordTextChannel, CommandInteraction as __discordCommandInteraction, Message as __discordMessage, } from "discord.js";
2
+ export class Guild {
3
+ #id;
4
+ #name;
5
+ #memberCount;
6
+ #guild;
7
+ #membersCache = [];
8
+ #rolesCache = [];
9
+ #channelsCache = [];
10
+ constructor(guild) {
11
+ this.#id = guild.id;
12
+ this.#name = guild.name;
13
+ this.#memberCount = guild.memberCount;
14
+ this.#guild = guild;
15
+ }
16
+ get id() {
17
+ return this.#id;
18
+ }
19
+ get name() {
20
+ return this.#name;
21
+ }
22
+ get memberCount() {
23
+ return this.#memberCount;
24
+ }
25
+ get members() {
26
+ const self = this;
27
+ return {
28
+ get cache() {
29
+ return [...self.#membersCache];
30
+ },
31
+ async fetch(fetchOptions) {
32
+ const fetched = await self.#guild.members.fetch(fetchOptions);
33
+ if (Array.isArray(fetched))
34
+ self.#membersCache = fetched.map((m) => new Member(m, self));
35
+ else if (fetched instanceof __discordGuildMember) {
36
+ return new Member(fetched, self);
37
+ }
38
+ return [...self.#membersCache];
39
+ },
40
+ };
41
+ }
42
+ get roles() {
43
+ const self = this;
44
+ return {
45
+ get cache() {
46
+ return [...self.#rolesCache];
47
+ },
48
+ async fetch(id, options) {
49
+ const fetched = await self.#guild.roles.fetch(id, options);
50
+ if (Array.isArray(fetched))
51
+ self.#rolesCache = fetched.map((r) => new Role(r, self));
52
+ else if (fetched instanceof __discordGuildRole) {
53
+ return new Role(fetched, self);
54
+ }
55
+ return [...self.#rolesCache];
56
+ },
57
+ };
58
+ }
59
+ get channels() {
60
+ const self = this;
61
+ return {
62
+ get cache() {
63
+ return [...self.#channelsCache];
64
+ },
65
+ async fetch(id, options) {
66
+ const fetched = await self.#guild.channels.fetch(id, options);
67
+ if (Array.isArray(fetched))
68
+ self.#channelsCache = fetched.map((c) => new Channel(c, self));
69
+ else if (fetched != null && fetched) {
70
+ return new Channel(fetched, self);
71
+ }
72
+ return [...self.#channelsCache];
73
+ },
74
+ };
75
+ }
76
+ env(key) {
77
+ // fetch value from DB or cache
78
+ return undefined;
79
+ }
80
+ }
81
+ export class User {
82
+ #user;
83
+ #id;
84
+ #username;
85
+ #globalName;
86
+ #accentColor;
87
+ #hexAccentColor;
88
+ #discriminator;
89
+ #avatar;
90
+ #banner;
91
+ constructor(user) {
92
+ this.#user = user;
93
+ this.#id = this.#user.id;
94
+ this.#username = this.#user.username;
95
+ this.#globalName = this.#user.globalName;
96
+ this.#accentColor = this.#user.accentColor;
97
+ this.#hexAccentColor = this.#user.hexAccentColor;
98
+ this.#discriminator = this.#user.discriminator;
99
+ this.#avatar = this.#user.avatar;
100
+ this.#banner = this.#user.banner;
101
+ }
102
+ get id() {
103
+ return this.#id;
104
+ }
105
+ get username() {
106
+ return this.#username;
107
+ }
108
+ get globalName() {
109
+ return this.#globalName;
110
+ }
111
+ get accentColor() {
112
+ return this.#accentColor;
113
+ }
114
+ get hexAccentColor() {
115
+ return this.#hexAccentColor;
116
+ }
117
+ get avatar() {
118
+ return this.#avatar;
119
+ }
120
+ get banner() {
121
+ return this.#banner;
122
+ }
123
+ get discriminator() {
124
+ return this.#discriminator;
125
+ }
126
+ }
127
+ export class Member {
128
+ #member;
129
+ #user;
130
+ #guild;
131
+ constructor(member, guild) {
132
+ this.#member = member;
133
+ this.#guild = guild;
134
+ this.#user = new User(member.user);
135
+ }
136
+ get user() {
137
+ return this.#user;
138
+ }
139
+ get guild() {
140
+ return this.#guild ?? undefined;
141
+ }
142
+ get roles() {
143
+ const self = this;
144
+ return {
145
+ get highest() {
146
+ return new Role(self.#member.roles.highest, self.#guild);
147
+ },
148
+ get cache() {
149
+ return [
150
+ ...self.#member.roles.cache.map((r) => new Role(r, self.#guild)),
151
+ ];
152
+ },
153
+ get icon() {
154
+ const icon = self.#member.roles.icon;
155
+ if (!icon)
156
+ return null;
157
+ return new Role(icon, self.#guild);
158
+ },
159
+ };
160
+ }
161
+ async kick(reason) {
162
+ return new Member(await this.#member.kick(reason), this.guild);
163
+ }
164
+ async ban(options) {
165
+ return new Member(await this.#member.ban(options), this.guild);
166
+ }
167
+ }
168
+ export class Role {
169
+ #role;
170
+ #guild;
171
+ constructor(role, guild) {
172
+ this.#role = role;
173
+ this.#guild = guild;
174
+ }
175
+ }
176
+ export class Channel {
177
+ #channel;
178
+ #guild;
179
+ constructor(channel, guild) {
180
+ this.#guild = guild;
181
+ this.#channel = channel;
182
+ }
183
+ get guild() {
184
+ return this.#guild ?? undefined;
185
+ }
186
+ async send(options) {
187
+ if (this.isSendable() && "send" in this.#channel) {
188
+ const message = await this.#channel.send(options);
189
+ const botMember = new Member(message.member, this.guild);
190
+ return new Message(message, this, this.#guild, botMember, botMember.user);
191
+ }
192
+ }
193
+ async delete(reason) {
194
+ if (!("delete" in this.#channel)) {
195
+ console.error("delete is not a function of channel!");
196
+ return;
197
+ }
198
+ return new Channel(await this.#channel.delete(reason), this.#guild);
199
+ }
200
+ async setName(name, reason) {
201
+ if (!("setName" in this.#channel)) {
202
+ console.error("setName is not a function of channel!");
203
+ return;
204
+ }
205
+ return new Channel(await this.#channel.setName(name, reason));
206
+ }
207
+ isTextBased() {
208
+ if (!("isTextBased" in this.#channel))
209
+ return false;
210
+ const isSendable = this.#channel.isTextBased();
211
+ if (typeof isSendable !== "boolean")
212
+ return false;
213
+ return isSendable;
214
+ }
215
+ isDMBased() {
216
+ if (!("isDMBased" in this.#channel))
217
+ return false;
218
+ const isSendable = this.#channel.isDMBased();
219
+ if (typeof isSendable !== "boolean")
220
+ return false;
221
+ return isSendable;
222
+ }
223
+ isSendable() {
224
+ if (!("isSendable" in this.#channel))
225
+ return false;
226
+ const isSendable = this.#channel.isSendable();
227
+ if (typeof isSendable !== "boolean")
228
+ return false;
229
+ return isSendable;
230
+ }
231
+ }
232
+ class Respondable {
233
+ #source;
234
+ #guild;
235
+ #channel;
236
+ #member;
237
+ #user;
238
+ constructor(source) {
239
+ this.#source = source;
240
+ this.#guild = source.guild ? new Guild(source.guild) : undefined;
241
+ this.#channel = source.channel
242
+ ? new Channel(source.channel, this.#guild)
243
+ : undefined;
244
+ this.#member = source.member
245
+ ? new Member(source.member, this.#guild)
246
+ : undefined;
247
+ this.#user = source.member?.user
248
+ ? new User(source.member?.user)
249
+ : undefined;
250
+ }
251
+ async reply(options) {
252
+ let message;
253
+ if (typeof options === "string") {
254
+ message = await this.#replyInternal({ content: options });
255
+ }
256
+ else {
257
+ message = await this.#replyInternal(options);
258
+ }
259
+ new Message(message, this.#channel, this.#guild, this.#member, this.#user);
260
+ }
261
+ async #replyInternal(options) {
262
+ // Interaction
263
+ if ("isChatInputCommand" in this.#source || "commandId" in this.#source) {
264
+ const response = await this.#source.reply({
265
+ ...(options.content !== undefined ? { content: options.content } : {}),
266
+ ...(options.embeds ? { embeds: options.embeds } : {}),
267
+ ephemeral: options.ephemeral ?? false,
268
+ withResponse: true,
269
+ });
270
+ return response;
271
+ }
272
+ // Message
273
+ return this.#source.reply({
274
+ ...(options.content !== undefined ? { content: options.content } : {}),
275
+ ...(options.embeds ? { embeds: options.embeds } : {}),
276
+ });
277
+ }
278
+ }
279
+ export class Message extends Respondable {
280
+ #message;
281
+ #channel;
282
+ #guild;
283
+ #member;
284
+ #user;
285
+ constructor(message, channel, guild, member, user) {
286
+ super(message);
287
+ this.#message = message;
288
+ this.#guild = guild;
289
+ this.#channel = channel;
290
+ this.#member = member;
291
+ this.#user = user;
292
+ }
293
+ get channel() {
294
+ return this.#channel ?? undefined;
295
+ }
296
+ get member() {
297
+ return this.#member ?? undefined;
298
+ }
299
+ get guild() {
300
+ return this.#guild ?? undefined;
301
+ }
302
+ get user() {
303
+ return this.#user ?? undefined;
304
+ }
305
+ }
306
+ export class CommandInteraction extends Respondable {
307
+ #interaction;
308
+ #channel;
309
+ #guild;
310
+ #member;
311
+ #user;
312
+ constructor(interaction, channel, member, guild, user) {
313
+ super(interaction);
314
+ this.#channel = channel;
315
+ this.#member = member;
316
+ this.#guild = guild;
317
+ this.#user = user;
318
+ }
319
+ get channel() {
320
+ return this.#channel ?? undefined;
321
+ }
322
+ get member() {
323
+ return this.#member ?? undefined;
324
+ }
325
+ get guild() {
326
+ return this.#guild ?? undefined;
327
+ }
328
+ get user() {
329
+ return this.#user ?? undefined;
330
+ }
331
+ }
332
+ //# sourceMappingURL=discord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord.js","sourceRoot":"","sources":["../../src/classes/discord.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,21 @@
1
- export * from "./classes/base.js";
1
+ import type { CommandTyped, EnviromentVariableType, PluginGeneric, PluginOptionsTyped, PluginTyped, StateVariableType } from "./types/voxar.js";
2
+ export declare const SYMBOLS: {
3
+ ENVIROMENT: string;
4
+ STATE: string;
5
+ PLUGIN: string;
6
+ COMMAND: string;
7
+ };
8
+ export declare function defineEnviroment<T extends PluginGeneric<any>, A extends Record<string, EnviromentVariableType<T>>>(env: A): {
9
+ [x: symbol]: boolean;
10
+ } & A;
11
+ export declare function defineState<T extends Record<string, {
12
+ scope: string;
13
+ type: keyof StateVariableType;
14
+ default?: any;
15
+ }>>(state: T): {
16
+ get<B extends keyof T>(key: B, oid: string): StateVariableType[T[B]["type"]] | T[B]["default"];
17
+ ensure<B extends keyof T, E extends Record<string, any>>(key: B, oid: string, schemaCb: () => E): E;
18
+ };
19
+ export declare function defineCommand<T extends PluginGeneric<any>>(options: CommandTyped<T>): CommandTyped<T>;
20
+ export declare function definePlugin<T extends PluginGeneric<any>>(options: PluginOptionsTyped<T>): PluginTyped<T>;
2
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EAGtB,aAAa,EACb,kBAAkB,EAElB,WAAW,EACX,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAC5B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,EACnD,GAAG,EAAE,CAAC;;MAKP;AAED,wBAAgB,WAAW,CACzB,CAAC,SAAS,MAAM,CACd,MAAM,EACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAChE,EAED,KAAK,EAAE,CAAC,GACP;IACD,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EACnB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,MAAM,GACV,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,CAAC,GAChB,CAAC,CAAC;CACN,CAEA;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EACxD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,YAAY,CAAC,CAAC,CAAC,CAMjB;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EACvD,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,WAAW,CAAC,CAAC,CAAC,CAMhB"}
package/dist/index.js CHANGED
@@ -1,2 +1,30 @@
1
- export * from "./classes/base.js";
1
+ export const SYMBOLS = {
2
+ ENVIROMENT: "enviroment",
3
+ STATE: "state",
4
+ PLUGIN: "plugin",
5
+ COMMAND: "command",
6
+ };
7
+ export function defineEnviroment(env) {
8
+ return {
9
+ [Symbol.for(SYMBOLS.PLUGIN)]: true,
10
+ ...env,
11
+ };
12
+ }
13
+ export function defineState(state) {
14
+ return undefined;
15
+ }
16
+ export function defineCommand(options) {
17
+ return {
18
+ [Symbol.for(SYMBOLS.COMMAND)]: true,
19
+ name: options.name,
20
+ run: options.run,
21
+ };
22
+ }
23
+ export function definePlugin(options) {
24
+ return {
25
+ [Symbol.for(SYMBOLS.PLUGIN)]: true,
26
+ state: {}, // cast ensures TypeScript knows it's the right type
27
+ commands: options.commands,
28
+ };
29
+ }
2
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAG9B,GAAM;IACN,OAAO;QACL,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClC,GAAG,GAAG;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAMzB,KAAQ;IAYR,OAAO,SAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAwB;IAExB,OAAO;QACL,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI;QACnC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,OAA8B;IAE9B,OAAO;QACL,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClC,KAAK,EAAE,EAAgB,EAAE,oDAAoD;QAC7E,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { Channel, CommandInteraction, Role, User } from "../classes/discord.js";
2
+ export type EnviromentVariableTypes<T extends PluginGeneric<any>> = {
3
+ USER: User;
4
+ "USER[]": User[];
5
+ CHANNEL: Channel<T>;
6
+ "CHANNEL[]": Channel<T>[];
7
+ ROLE: Role<T>;
8
+ "ROLE[]": Role<T>[];
9
+ STRING: string;
10
+ "STRING[]": string[];
11
+ NUMBER: number;
12
+ "NUMBER[]": number[];
13
+ };
14
+ export type EnviromentVariableType<T extends PluginGeneric<any>> = {
15
+ required: boolean;
16
+ type: keyof EnviromentVariableTypes<T>;
17
+ };
18
+ export type PluginEnvironmentGeneric<T extends Record<string, {
19
+ required: boolean;
20
+ type: keyof EnviromentVariableTypes<any>;
21
+ }>> = T;
22
+ export type StateVariableType = {
23
+ JSON: Record<string, any> | Array<any>;
24
+ NUMBER: number;
25
+ STRING: string;
26
+ };
27
+ export type PluginStateGeneric<T extends Record<string, {
28
+ type: keyof StateVariableType;
29
+ scope: string;
30
+ }>> = {};
31
+ export type PluginGeneric<T extends {
32
+ state?: Record<string, any>;
33
+ env: PluginEnvironmentGeneric<any>;
34
+ }> = {
35
+ state?: T["state"];
36
+ env: T["env"];
37
+ };
38
+ export type __plugin<T extends PluginGeneric<any>> = {
39
+ commands: CommandTyped<T>[];
40
+ state: T["state"];
41
+ };
42
+ export type Plugin = __plugin<{
43
+ env: {};
44
+ }>;
45
+ export type PluginTyped<T extends PluginGeneric<any>> = __plugin<T>;
46
+ export type __pluginOptions<T extends PluginGeneric<any>> = {
47
+ commands: CommandTyped<T>[];
48
+ env?: PluginEnvironmentGeneric<T>["env"];
49
+ };
50
+ export type PluginOptions = __pluginOptions<{
51
+ env: {};
52
+ }>;
53
+ export type PluginOptionsTyped<T extends PluginGeneric<any>> = __pluginOptions<T>;
54
+ export type __command<T extends PluginGeneric<any>> = {
55
+ name: string;
56
+ run: (this: PluginTyped<T>, interaction: CommandInteraction<T>) => void;
57
+ };
58
+ export type Command = __command<{
59
+ env: {};
60
+ }>;
61
+ export type CommandTyped<T extends PluginGeneric<any>> = __command<T>;
62
+ //# sourceMappingURL=voxar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voxar.d.ts","sourceRoot":"","sources":["../../src/types/voxar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Channel, CommandInteraction, Role, User } from "../classes/discord.js";
2
+ //# sourceMappingURL=voxar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voxar.js","sourceRoot":"","sources":["../../src/types/voxar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,20 +1,25 @@
1
1
  {
2
2
  "name": "voxar",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
6
7
  "files": [
7
8
  "./dist"
8
9
  ],
9
- "scripts": {
10
- "test": "echo \"Error: no test specified\" && exit 1"
11
- },
12
- "type": "module",
13
10
  "keywords": [],
14
11
  "author": "",
12
+ "type": "module",
15
13
  "license": "ISC",
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/index.d.ts",
17
+ "import": "./dist/index.js.js"
18
+ }
19
+ },
16
20
  "packageManager": "pnpm@10.23.0",
17
21
  "dependencies": {
22
+ "@types/node": "^25.2.2",
18
23
  "discord.js": "^14.25.1"
19
24
  }
20
25
  }