@sesli/bot 0.1.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.
- package/dist/builders/SlashCommandBuilder.d.ts +53 -0
- package/dist/builders/SlashCommandBuilder.d.ts.map +1 -0
- package/dist/builders/SlashCommandBuilder.js +120 -0
- package/dist/builders/SlashCommandBuilder.js.map +1 -0
- package/dist/client/Client.d.ts +39 -0
- package/dist/client/Client.d.ts.map +1 -0
- package/dist/client/Client.js +136 -0
- package/dist/client/Client.js.map +1 -0
- package/dist/gateway/GatewayManager.d.ts +31 -0
- package/dist/gateway/GatewayManager.d.ts.map +1 -0
- package/dist/gateway/GatewayManager.js +117 -0
- package/dist/gateway/GatewayManager.js.map +1 -0
- package/dist/gateway/HeartbeatManager.d.ts +11 -0
- package/dist/gateway/HeartbeatManager.d.ts.map +1 -0
- package/dist/gateway/HeartbeatManager.js +30 -0
- package/dist/gateway/HeartbeatManager.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/rest/RestClient.d.ts +20 -0
- package/dist/rest/RestClient.d.ts.map +1 -0
- package/dist/rest/RestClient.js +74 -0
- package/dist/rest/RestClient.js.map +1 -0
- package/dist/rest/endpoints/commands.d.ts +14 -0
- package/dist/rest/endpoints/commands.d.ts.map +1 -0
- package/dist/rest/endpoints/commands.js +25 -0
- package/dist/rest/endpoints/commands.js.map +1 -0
- package/dist/rest/endpoints/messages.d.ts +39 -0
- package/dist/rest/endpoints/messages.d.ts.map +1 -0
- package/dist/rest/endpoints/messages.js +22 -0
- package/dist/rest/endpoints/messages.js.map +1 -0
- package/dist/structures/Interaction.d.ts +57 -0
- package/dist/structures/Interaction.d.ts.map +1 -0
- package/dist/structures/Interaction.js +105 -0
- package/dist/structures/Interaction.js.map +1 -0
- package/dist/types/events.d.ts +66 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +7 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/payloads.d.ts +81 -0
- package/dist/types/payloads.d.ts.map +1 -0
- package/dist/types/payloads.js +8 -0
- package/dist/types/payloads.js.map +1 -0
- package/dist/utils/Logger.d.ts +11 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +34 -0
- package/dist/utils/Logger.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export type OptionType = 'STRING' | 'INTEGER' | 'BOOLEAN' | 'USER' | 'CHANNEL' | 'ROLE' | 'NUMBER';
|
|
2
|
+
export interface CommandOptionChoice {
|
|
3
|
+
name: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
}
|
|
6
|
+
export interface CommandOptionData {
|
|
7
|
+
type: OptionType;
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
required?: boolean;
|
|
11
|
+
choices?: CommandOptionChoice[];
|
|
12
|
+
min_value?: number;
|
|
13
|
+
max_value?: number;
|
|
14
|
+
min_length?: number;
|
|
15
|
+
max_length?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface CommandData {
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
type?: 'CHAT_INPUT' | 'USER' | 'MESSAGE';
|
|
21
|
+
options?: CommandOptionData[];
|
|
22
|
+
dmPermission?: boolean;
|
|
23
|
+
nsfw?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare class OptionBuilder {
|
|
26
|
+
protected readonly data: Partial<CommandOptionData>;
|
|
27
|
+
constructor(type: OptionType);
|
|
28
|
+
setName(name: string): this;
|
|
29
|
+
setDescription(description: string): this;
|
|
30
|
+
setRequired(required: boolean): this;
|
|
31
|
+
addChoice(name: string, value: string | number): this;
|
|
32
|
+
setMinValue(min: number): this;
|
|
33
|
+
setMaxValue(max: number): this;
|
|
34
|
+
setMinLength(min: number): this;
|
|
35
|
+
setMaxLength(max: number): this;
|
|
36
|
+
toJSON(): CommandOptionData;
|
|
37
|
+
}
|
|
38
|
+
export declare class SlashCommandBuilder {
|
|
39
|
+
private readonly data;
|
|
40
|
+
private readonly _options;
|
|
41
|
+
setName(name: string): this;
|
|
42
|
+
setDescription(description: string): this;
|
|
43
|
+
setDmPermission(allowed: boolean): this;
|
|
44
|
+
setNsfw(nsfw: boolean): this;
|
|
45
|
+
addStringOption(fn: (opt: OptionBuilder) => OptionBuilder): this;
|
|
46
|
+
addIntegerOption(fn: (opt: OptionBuilder) => OptionBuilder): this;
|
|
47
|
+
addBooleanOption(fn: (opt: OptionBuilder) => OptionBuilder): this;
|
|
48
|
+
addUserOption(fn: (opt: OptionBuilder) => OptionBuilder): this;
|
|
49
|
+
addChannelOption(fn: (opt: OptionBuilder) => OptionBuilder): this;
|
|
50
|
+
addNumberOption(fn: (opt: OptionBuilder) => OptionBuilder): this;
|
|
51
|
+
toJSON(): CommandData;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=SlashCommandBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlashCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/builders/SlashCommandBuilder.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,SAAS,GACT,MAAM,GACN,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAExC,IAAI,EAAE,UAAU;IAI5B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKpC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMrD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK/B,MAAM,IAAI,iBAAiB;CAM5B;AAID,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKvC,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAK5B,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAOhE,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAOjE,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAOjE,aAAa,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAO9D,gBAAgB,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAOjE,eAAe,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAOhE,MAAM,IAAI,WAAW;CAStB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SlashCommandBuilder = exports.OptionBuilder = void 0;
|
|
4
|
+
// βββ Option Builder βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
5
|
+
class OptionBuilder {
|
|
6
|
+
constructor(type) {
|
|
7
|
+
this.data = { type };
|
|
8
|
+
}
|
|
9
|
+
setName(name) {
|
|
10
|
+
this.data.name = name;
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
setDescription(description) {
|
|
14
|
+
this.data.description = description;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
setRequired(required) {
|
|
18
|
+
this.data.required = required;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
addChoice(name, value) {
|
|
22
|
+
if (!this.data.choices)
|
|
23
|
+
this.data.choices = [];
|
|
24
|
+
this.data.choices.push({ name, value });
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
setMinValue(min) {
|
|
28
|
+
this.data.min_value = min;
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
setMaxValue(max) {
|
|
32
|
+
this.data.max_value = max;
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
setMinLength(min) {
|
|
36
|
+
this.data.min_length = min;
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
setMaxLength(max) {
|
|
40
|
+
this.data.max_length = max;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
toJSON() {
|
|
44
|
+
if (!this.data.name || !this.data.description || !this.data.type) {
|
|
45
|
+
throw new Error('Option must have name, description, and type');
|
|
46
|
+
}
|
|
47
|
+
return this.data;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.OptionBuilder = OptionBuilder;
|
|
51
|
+
// βββ Slash Command Builder ββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
52
|
+
class SlashCommandBuilder {
|
|
53
|
+
constructor() {
|
|
54
|
+
this.data = {};
|
|
55
|
+
this._options = [];
|
|
56
|
+
}
|
|
57
|
+
setName(name) {
|
|
58
|
+
this.data.name = name;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
setDescription(description) {
|
|
62
|
+
this.data.description = description;
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
setDmPermission(allowed) {
|
|
66
|
+
this.data.dmPermission = allowed;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
setNsfw(nsfw) {
|
|
70
|
+
this.data.nsfw = nsfw;
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
addStringOption(fn) {
|
|
74
|
+
const opt = new OptionBuilder('STRING');
|
|
75
|
+
fn(opt);
|
|
76
|
+
this._options.push(opt);
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
addIntegerOption(fn) {
|
|
80
|
+
const opt = new OptionBuilder('INTEGER');
|
|
81
|
+
fn(opt);
|
|
82
|
+
this._options.push(opt);
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
addBooleanOption(fn) {
|
|
86
|
+
const opt = new OptionBuilder('BOOLEAN');
|
|
87
|
+
fn(opt);
|
|
88
|
+
this._options.push(opt);
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
addUserOption(fn) {
|
|
92
|
+
const opt = new OptionBuilder('USER');
|
|
93
|
+
fn(opt);
|
|
94
|
+
this._options.push(opt);
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
addChannelOption(fn) {
|
|
98
|
+
const opt = new OptionBuilder('CHANNEL');
|
|
99
|
+
fn(opt);
|
|
100
|
+
this._options.push(opt);
|
|
101
|
+
return this;
|
|
102
|
+
}
|
|
103
|
+
addNumberOption(fn) {
|
|
104
|
+
const opt = new OptionBuilder('NUMBER');
|
|
105
|
+
fn(opt);
|
|
106
|
+
this._options.push(opt);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
toJSON() {
|
|
110
|
+
if (!this.data.name || !this.data.description) {
|
|
111
|
+
throw new Error('Command must have name and description');
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
...this.data,
|
|
115
|
+
options: this._options.length > 0 ? this._options.map((o) => o.toJSON()) : undefined,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.SlashCommandBuilder = SlashCommandBuilder;
|
|
120
|
+
//# sourceMappingURL=SlashCommandBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlashCommandBuilder.js","sourceRoot":"","sources":["../../src/builders/SlashCommandBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import EventEmitter from 'eventemitter3';
|
|
2
|
+
import { MessagesEndpoint } from '../rest/endpoints/messages';
|
|
3
|
+
import { CommandsEndpoint } from '../rest/endpoints/commands';
|
|
4
|
+
import type { ClientEvents, ReadyData } from '../types/events';
|
|
5
|
+
export interface ClientOptions {
|
|
6
|
+
/** Bot token from the Developer Portal. */
|
|
7
|
+
token: string;
|
|
8
|
+
/** REST API base URL. Defaults to the production API. */
|
|
9
|
+
baseUrl?: string;
|
|
10
|
+
/** Gateway (Socket.IO) base URL. Defaults to the production API. */
|
|
11
|
+
gatewayUrl?: string;
|
|
12
|
+
/** Enable verbose debug logging. */
|
|
13
|
+
debug?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class Client extends EventEmitter<ClientEvents> {
|
|
16
|
+
/** Bot info β available after the "ready" event. */
|
|
17
|
+
user: ReadyData['bot'] | null;
|
|
18
|
+
/** Send, edit and delete messages in channels. */
|
|
19
|
+
readonly messages: MessagesEndpoint;
|
|
20
|
+
/**
|
|
21
|
+
* Register and manage slash commands.
|
|
22
|
+
* Available only after the "ready" event fires.
|
|
23
|
+
*/
|
|
24
|
+
get commands(): CommandsEndpoint;
|
|
25
|
+
private readonly rest;
|
|
26
|
+
private readonly gateway;
|
|
27
|
+
private readonly logger;
|
|
28
|
+
private _commands;
|
|
29
|
+
constructor(options: ClientOptions);
|
|
30
|
+
/**
|
|
31
|
+
* Connects to the gateway and starts receiving events.
|
|
32
|
+
* Returns `this` for chaining.
|
|
33
|
+
*/
|
|
34
|
+
login(): this;
|
|
35
|
+
/** Disconnects from the gateway and cleans up. */
|
|
36
|
+
destroy(): void;
|
|
37
|
+
private _bindGatewayEvents;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/client/Client.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAY9D,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAMV,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAID,qBAAa,MAAO,SAAQ,YAAY,CAAC,YAAY,CAAC;IACpD,oDAAoD;IACpD,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAQ;IAErC,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,IAAI,QAAQ,IAAI,gBAAgB,CAQ/B;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,SAAS,CAAiC;gBAEtC,OAAO,EAAE,aAAa;IAwBlC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAMb,kDAAkD;IAClD,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,kBAAkB;CAyF3B"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Client = void 0;
|
|
7
|
+
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
8
|
+
const GatewayManager_1 = require("../gateway/GatewayManager");
|
|
9
|
+
const RestClient_1 = require("../rest/RestClient");
|
|
10
|
+
const messages_1 = require("../rest/endpoints/messages");
|
|
11
|
+
const commands_1 = require("../rest/endpoints/commands");
|
|
12
|
+
const Interaction_1 = require("../structures/Interaction");
|
|
13
|
+
const Logger_1 = require("../utils/Logger");
|
|
14
|
+
const DEFAULT_API_URL = 'https://api.sesli.app';
|
|
15
|
+
class Client extends eventemitter3_1.default {
|
|
16
|
+
/**
|
|
17
|
+
* Register and manage slash commands.
|
|
18
|
+
* Available only after the "ready" event fires.
|
|
19
|
+
*/
|
|
20
|
+
get commands() {
|
|
21
|
+
if (!this._commands) {
|
|
22
|
+
throw new Error('client.commands is not available before the "ready" event. ' +
|
|
23
|
+
'Call client.commands inside the ready handler.');
|
|
24
|
+
}
|
|
25
|
+
return this._commands;
|
|
26
|
+
}
|
|
27
|
+
constructor(options) {
|
|
28
|
+
super();
|
|
29
|
+
/** Bot info β available after the "ready" event. */
|
|
30
|
+
this.user = null;
|
|
31
|
+
this._commands = null;
|
|
32
|
+
if (!options.token)
|
|
33
|
+
throw new Error('Bot token is required');
|
|
34
|
+
const logLevel = options.debug ? 'debug' : 'info';
|
|
35
|
+
this.logger = new Logger_1.Logger(logLevel);
|
|
36
|
+
this.rest = new RestClient_1.RestClient(options.baseUrl ?? DEFAULT_API_URL, options.token);
|
|
37
|
+
this.gateway = new GatewayManager_1.GatewayManager(options.gatewayUrl ?? DEFAULT_API_URL, options.token, this.logger);
|
|
38
|
+
this.messages = new messages_1.MessagesEndpoint(this.rest);
|
|
39
|
+
this._bindGatewayEvents();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Connects to the gateway and starts receiving events.
|
|
43
|
+
* Returns `this` for chaining.
|
|
44
|
+
*/
|
|
45
|
+
login() {
|
|
46
|
+
this.logger.info("π Gateway'e baΔlanΔ±lΔ±yor...");
|
|
47
|
+
this.gateway.connect();
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/** Disconnects from the gateway and cleans up. */
|
|
51
|
+
destroy() {
|
|
52
|
+
this.gateway.destroy();
|
|
53
|
+
this.removeAllListeners();
|
|
54
|
+
this.logger.info('Bot durduruldu');
|
|
55
|
+
}
|
|
56
|
+
// βββ Private ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
57
|
+
_bindGatewayEvents() {
|
|
58
|
+
this.gateway.on('READY', (payload) => {
|
|
59
|
+
this.user = payload.bot;
|
|
60
|
+
this._commands = new commands_1.CommandsEndpoint(this.rest, payload.bot.id);
|
|
61
|
+
const data = {
|
|
62
|
+
bot: payload.bot,
|
|
63
|
+
servers: payload.servers,
|
|
64
|
+
};
|
|
65
|
+
this.logger.info(`β
${payload.bot.username} hazΔ±r β ${payload.servers.length} sunucu`);
|
|
66
|
+
this.emit('ready', data);
|
|
67
|
+
});
|
|
68
|
+
this.gateway.on('MESSAGE_CREATE', (payload) => {
|
|
69
|
+
const message = {
|
|
70
|
+
id: payload.id,
|
|
71
|
+
content: payload.content,
|
|
72
|
+
channelId: payload.channel_id,
|
|
73
|
+
serverId: payload.server_id,
|
|
74
|
+
timestamp: new Date(payload.timestamp),
|
|
75
|
+
author: {
|
|
76
|
+
id: payload.author.id,
|
|
77
|
+
username: payload.author.username,
|
|
78
|
+
displayName: payload.author.displayName,
|
|
79
|
+
isBot: false, // TODO: backend sends isBot once implemented
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
this.emit('messageCreate', message);
|
|
83
|
+
});
|
|
84
|
+
this.gateway.on('MESSAGE_UPDATE', (payload) => {
|
|
85
|
+
const data = {
|
|
86
|
+
id: payload.id,
|
|
87
|
+
content: payload.content,
|
|
88
|
+
editedAt: payload.edited_at ? new Date(payload.edited_at) : null,
|
|
89
|
+
channelId: payload.channel_id,
|
|
90
|
+
serverId: payload.server_id,
|
|
91
|
+
};
|
|
92
|
+
this.emit('messageUpdate', data);
|
|
93
|
+
});
|
|
94
|
+
this.gateway.on('MESSAGE_DELETE', (payload) => {
|
|
95
|
+
const data = {
|
|
96
|
+
messageId: payload.id,
|
|
97
|
+
channelId: payload.channel_id,
|
|
98
|
+
serverId: payload.server_id,
|
|
99
|
+
};
|
|
100
|
+
this.emit('messageDelete', data);
|
|
101
|
+
});
|
|
102
|
+
this.gateway.on('INTERACTION_CREATE', (payload) => {
|
|
103
|
+
const interaction = new Interaction_1.Interaction(payload, this.rest);
|
|
104
|
+
this.emit('interactionCreate', interaction);
|
|
105
|
+
});
|
|
106
|
+
this.gateway.on('SERVER_MEMBER_ADD', (payload) => {
|
|
107
|
+
const data = {
|
|
108
|
+
userId: payload.user.userId,
|
|
109
|
+
username: payload.user.username,
|
|
110
|
+
displayName: payload.user.displayName,
|
|
111
|
+
joinedAt: new Date(payload.joined_at),
|
|
112
|
+
serverId: payload.server_id,
|
|
113
|
+
};
|
|
114
|
+
this.emit('serverMemberAdd', data);
|
|
115
|
+
});
|
|
116
|
+
this.gateway.on('SERVER_MEMBER_REMOVE', (payload) => {
|
|
117
|
+
const data = {
|
|
118
|
+
userId: payload.user.userId,
|
|
119
|
+
username: payload.user.username,
|
|
120
|
+
serverId: payload.server_id,
|
|
121
|
+
};
|
|
122
|
+
this.emit('serverMemberRemove', data);
|
|
123
|
+
});
|
|
124
|
+
this.gateway.on('disconnect', (reason) => {
|
|
125
|
+
this.emit('disconnect', reason);
|
|
126
|
+
});
|
|
127
|
+
this.gateway.on('reconnect', () => {
|
|
128
|
+
this.emit('reconnect');
|
|
129
|
+
});
|
|
130
|
+
this.gateway.on('error', (error) => {
|
|
131
|
+
this.emit('error', error);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.Client = Client;
|
|
136
|
+
//# sourceMappingURL=Client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/client/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import EventEmitter from 'eventemitter3';
|
|
2
|
+
import type { Logger } from '../utils/Logger';
|
|
3
|
+
import type { ReadyPayload, MessageCreatePayload, MessageUpdatePayload, MessageDeletePayload, InteractionPayload, ServerMemberAddPayload, ServerMemberRemovePayload } from '../types/payloads';
|
|
4
|
+
interface GatewayEvents {
|
|
5
|
+
READY: [payload: ReadyPayload];
|
|
6
|
+
MESSAGE_CREATE: [payload: MessageCreatePayload];
|
|
7
|
+
MESSAGE_UPDATE: [payload: MessageUpdatePayload];
|
|
8
|
+
MESSAGE_DELETE: [payload: MessageDeletePayload];
|
|
9
|
+
INTERACTION_CREATE: [payload: InteractionPayload];
|
|
10
|
+
SERVER_MEMBER_ADD: [payload: ServerMemberAddPayload];
|
|
11
|
+
SERVER_MEMBER_REMOVE: [payload: ServerMemberRemovePayload];
|
|
12
|
+
disconnect: [reason: string];
|
|
13
|
+
reconnect: [];
|
|
14
|
+
error: [error: Error];
|
|
15
|
+
}
|
|
16
|
+
export declare class GatewayManager extends EventEmitter<GatewayEvents> {
|
|
17
|
+
private readonly gatewayUrl;
|
|
18
|
+
private readonly token;
|
|
19
|
+
private readonly logger;
|
|
20
|
+
private socket;
|
|
21
|
+
private heartbeat;
|
|
22
|
+
private reconnectAttempts;
|
|
23
|
+
private destroyed;
|
|
24
|
+
constructor(gatewayUrl: string, token: string, logger: Logger);
|
|
25
|
+
connect(): void;
|
|
26
|
+
private registerSocketListeners;
|
|
27
|
+
private scheduleReconnect;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=GatewayManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GatewayManager.d.ts","sourceRoot":"","sources":["../../src/gateway/GatewayManager.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAEV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,mBAAmB,CAAC;AAM3B,UAAU,aAAa;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/B,cAAc,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAChD,cAAc,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAChD,cAAc,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAChD,kBAAkB,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAClD,iBAAiB,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACrD,oBAAoB,EAAE,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAC3D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,EAAE,CAAC;IACd,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACvB;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,aAAa,CAAC;IAO3D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAGP,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAKjC,OAAO,IAAI,IAAI;IAmBf,OAAO,CAAC,uBAAuB;IAgE/B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,IAAI,IAAI;CAQhB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GatewayManager = void 0;
|
|
7
|
+
const socket_io_client_1 = require("socket.io-client");
|
|
8
|
+
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
9
|
+
const HeartbeatManager_1 = require("./HeartbeatManager");
|
|
10
|
+
const MAX_RECONNECT_ATTEMPTS = 5;
|
|
11
|
+
const RECONNECT_BASE_DELAY_MS = 1000;
|
|
12
|
+
class GatewayManager extends eventemitter3_1.default {
|
|
13
|
+
constructor(gatewayUrl, token, logger) {
|
|
14
|
+
super();
|
|
15
|
+
this.gatewayUrl = gatewayUrl;
|
|
16
|
+
this.token = token;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
this.socket = null;
|
|
19
|
+
this.heartbeat = null;
|
|
20
|
+
this.reconnectAttempts = 0;
|
|
21
|
+
this.destroyed = false;
|
|
22
|
+
}
|
|
23
|
+
connect() {
|
|
24
|
+
if (this.destroyed)
|
|
25
|
+
throw new Error('GatewayManager has been destroyed');
|
|
26
|
+
if (this.socket?.connected)
|
|
27
|
+
return;
|
|
28
|
+
// Namespace: /bot-gateway
|
|
29
|
+
const url = `${this.gatewayUrl}/bot-gateway`;
|
|
30
|
+
this.logger.debug(`Socket.IO baΔlantΔ±sΔ± baΕlatΔ±lΔ±yor β ${url}`);
|
|
31
|
+
this.socket = (0, socket_io_client_1.io)(url, {
|
|
32
|
+
transports: ['websocket'],
|
|
33
|
+
auth: { token: this.token },
|
|
34
|
+
reconnection: false, // Manual reconnect for full control
|
|
35
|
+
});
|
|
36
|
+
this.heartbeat = new HeartbeatManager_1.HeartbeatManager(this.socket, this.logger);
|
|
37
|
+
this.registerSocketListeners();
|
|
38
|
+
}
|
|
39
|
+
registerSocketListeners() {
|
|
40
|
+
const socket = this.socket;
|
|
41
|
+
socket.on('connect', () => {
|
|
42
|
+
this.reconnectAttempts = 0;
|
|
43
|
+
this.heartbeat.start();
|
|
44
|
+
this.logger.info('π’ Gateway baΔlantΔ±sΔ± kuruldu');
|
|
45
|
+
});
|
|
46
|
+
socket.on('disconnect', (reason) => {
|
|
47
|
+
this.heartbeat.stop();
|
|
48
|
+
this.logger.warn(`π΄ BaΔlantΔ± kesildi: ${reason}`);
|
|
49
|
+
this.emit('disconnect', reason);
|
|
50
|
+
// If the server intentionally disconnected (bad token etc.), don't retry
|
|
51
|
+
if (reason === 'io server disconnect') {
|
|
52
|
+
this.logger.error('Sunucu baΔlantΔ±yΔ± kapattΔ±. Token geΓ§erli mi?');
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.scheduleReconnect();
|
|
56
|
+
});
|
|
57
|
+
socket.on('connect_error', (err) => {
|
|
58
|
+
this.logger.error(`BaΔlantΔ± hatasΔ±: ${err.message}`);
|
|
59
|
+
this.scheduleReconnect();
|
|
60
|
+
});
|
|
61
|
+
// βββ Gateway Events βββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
62
|
+
// Each event is wrapped in { op, t, d } β we unwrap before forwarding.
|
|
63
|
+
socket.on('READY', (raw) => {
|
|
64
|
+
this.emit('READY', raw.d);
|
|
65
|
+
});
|
|
66
|
+
socket.on('MESSAGE_CREATE', (raw) => {
|
|
67
|
+
this.emit('MESSAGE_CREATE', raw.d);
|
|
68
|
+
});
|
|
69
|
+
socket.on('MESSAGE_UPDATE', (raw) => {
|
|
70
|
+
this.emit('MESSAGE_UPDATE', raw.d);
|
|
71
|
+
});
|
|
72
|
+
socket.on('MESSAGE_DELETE', (raw) => {
|
|
73
|
+
this.emit('MESSAGE_DELETE', raw.d);
|
|
74
|
+
});
|
|
75
|
+
socket.on('INTERACTION_CREATE', (raw) => {
|
|
76
|
+
this.emit('INTERACTION_CREATE', raw.d);
|
|
77
|
+
});
|
|
78
|
+
socket.on('SERVER_MEMBER_ADD', (raw) => {
|
|
79
|
+
this.emit('SERVER_MEMBER_ADD', raw.d);
|
|
80
|
+
});
|
|
81
|
+
socket.on('SERVER_MEMBER_REMOVE', (raw) => {
|
|
82
|
+
this.emit('SERVER_MEMBER_REMOVE', raw.d);
|
|
83
|
+
});
|
|
84
|
+
socket.on('heartbeat_ack', () => {
|
|
85
|
+
this.logger.debug('π Heartbeat ACK alΔ±ndΔ±');
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
scheduleReconnect() {
|
|
89
|
+
if (this.destroyed)
|
|
90
|
+
return;
|
|
91
|
+
if (this.reconnectAttempts >= MAX_RECONNECT_ATTEMPTS) {
|
|
92
|
+
this.logger.error('Maksimum yeniden baΔlanma denemesi aΕΔ±ldΔ±, vazgeΓ§ildi');
|
|
93
|
+
this.emit('error', new Error('Max reconnect attempts reached'));
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
// Exponential backoff: 1s, 2s, 4s, 8s, 16s
|
|
97
|
+
const delay = RECONNECT_BASE_DELAY_MS * Math.pow(2, this.reconnectAttempts);
|
|
98
|
+
this.reconnectAttempts++;
|
|
99
|
+
this.logger.info(`π ${delay}ms sonra yeniden baΔlanΔ±lΔ±yor... (deneme ${this.reconnectAttempts}/${MAX_RECONNECT_ATTEMPTS})`);
|
|
100
|
+
setTimeout(() => {
|
|
101
|
+
if (this.destroyed)
|
|
102
|
+
return;
|
|
103
|
+
this.emit('reconnect');
|
|
104
|
+
this.connect();
|
|
105
|
+
}, delay);
|
|
106
|
+
}
|
|
107
|
+
destroy() {
|
|
108
|
+
this.destroyed = true;
|
|
109
|
+
this.heartbeat?.stop();
|
|
110
|
+
this.socket?.disconnect();
|
|
111
|
+
this.socket = null;
|
|
112
|
+
this.removeAllListeners();
|
|
113
|
+
this.logger.debug('GatewayManager destroy edildi');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.GatewayManager = GatewayManager;
|
|
117
|
+
//# sourceMappingURL=GatewayManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GatewayManager.js","sourceRoot":"","sources":["../../src/gateway/GatewayManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Socket } from 'socket.io-client';
|
|
2
|
+
import type { Logger } from '../utils/Logger';
|
|
3
|
+
export declare class HeartbeatManager {
|
|
4
|
+
private readonly socket;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
private timer;
|
|
7
|
+
constructor(socket: Socket, logger: Logger);
|
|
8
|
+
start(): void;
|
|
9
|
+
stop(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=HeartbeatManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeartbeatManager.d.ts","sourceRoot":"","sources":["../../src/gateway/HeartbeatManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,KAAK,CAA+C;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;IAGjC,KAAK,IAAI,IAAI;IAYb,IAAI,IAAI,IAAI;CAOb"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeartbeatManager = void 0;
|
|
4
|
+
const HEARTBEAT_INTERVAL_MS = 45000;
|
|
5
|
+
class HeartbeatManager {
|
|
6
|
+
constructor(socket, logger) {
|
|
7
|
+
this.socket = socket;
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
this.timer = null;
|
|
10
|
+
}
|
|
11
|
+
start() {
|
|
12
|
+
this.stop(); // Clear any existing timer
|
|
13
|
+
this.timer = setInterval(() => {
|
|
14
|
+
if (this.socket.connected) {
|
|
15
|
+
this.socket.emit('heartbeat');
|
|
16
|
+
this.logger.debug('π Heartbeat gΓΆnderildi');
|
|
17
|
+
}
|
|
18
|
+
}, HEARTBEAT_INTERVAL_MS);
|
|
19
|
+
this.logger.debug('HeartbeatManager baΕlatΔ±ldΔ±');
|
|
20
|
+
}
|
|
21
|
+
stop() {
|
|
22
|
+
if (this.timer !== null) {
|
|
23
|
+
clearInterval(this.timer);
|
|
24
|
+
this.timer = null;
|
|
25
|
+
this.logger.debug('HeartbeatManager durduruldu');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.HeartbeatManager = HeartbeatManager;
|
|
30
|
+
//# sourceMappingURL=HeartbeatManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeartbeatManager.js","sourceRoot":"","sources":["../../src/gateway/HeartbeatManager.ts"],"names":[],"mappings":";;;AAGA,MAAM,qBAAqB,GAAG,KAAM,CAAC;AAErC,MAAa,gBAAgB;IAG3B,YACmB,MAAc,EACd,MAAc;QADd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QAJzB,UAAK,GAA0C,IAAI,CAAC;IAKzD,CAAC;IAEJ,KAAK;QACH,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,2BAA2B;QACxC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AA3BD,4CA2BC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Client } from './client/Client';
|
|
2
|
+
export type { ClientOptions } from './client/Client';
|
|
3
|
+
export { SlashCommandBuilder } from './builders/SlashCommandBuilder';
|
|
4
|
+
export type { CommandData, CommandOptionData, CommandOptionChoice } from './builders/SlashCommandBuilder';
|
|
5
|
+
export { Interaction } from './structures/Interaction';
|
|
6
|
+
export type { InteractionReplyOptions } from './structures/Interaction';
|
|
7
|
+
export { BotApiError, BotServerError } from './rest/RestClient';
|
|
8
|
+
export type { ReadyData, MessageData, MessageUpdateData, MessageDeleteData, ServerMemberData, PartialServerMemberData, ClientEvents, } from './types/events';
|
|
9
|
+
export type { EmbedData, EmbedField, SendMessageOptions, EditMessageOptions } from './rest/endpoints/messages';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAG1G,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGhE,YAAY,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BotServerError = exports.BotApiError = exports.Interaction = exports.SlashCommandBuilder = exports.Client = void 0;
|
|
4
|
+
// βββ Main Client ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
5
|
+
var Client_1 = require("./client/Client");
|
|
6
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return Client_1.Client; } });
|
|
7
|
+
// βββ Builders βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
8
|
+
var SlashCommandBuilder_1 = require("./builders/SlashCommandBuilder");
|
|
9
|
+
Object.defineProperty(exports, "SlashCommandBuilder", { enumerable: true, get: function () { return SlashCommandBuilder_1.SlashCommandBuilder; } });
|
|
10
|
+
// βββ Structures βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
11
|
+
var Interaction_1 = require("./structures/Interaction");
|
|
12
|
+
Object.defineProperty(exports, "Interaction", { enumerable: true, get: function () { return Interaction_1.Interaction; } });
|
|
13
|
+
// βββ REST Errors ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
14
|
+
var RestClient_1 = require("./rest/RestClient");
|
|
15
|
+
Object.defineProperty(exports, "BotApiError", { enumerable: true, get: function () { return RestClient_1.BotApiError; } });
|
|
16
|
+
Object.defineProperty(exports, "BotServerError", { enumerable: true, get: function () { return RestClient_1.BotServerError; } });
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AAGf,iFAAiF;AACjF,sEAAqE;AAA5D,0HAAA,mBAAmB,OAAA;AAG5B,iFAAiF;AACjF,wDAAuD;AAA9C,0GAAA,WAAW,OAAA;AAGpB,iFAAiF;AACjF,gDAAgE;AAAvD,yGAAA,WAAW,OAAA;AAAE,4GAAA,cAAc,OAAA"}
|