prototurk-sdk 0.0.3 → 0.0.4

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/README.md CHANGED
@@ -62,6 +62,9 @@ client.on("ready", () => {
62
62
 
63
63
  // DM Mesajlarını Dinleme
64
64
  client.on("dmMessageCreate", async (message) => {
65
+ // Mesaj bir komut ise normal mesaj akışını (ör. geçmişi kaydetme vs.) atla
66
+ if (message.isCommand) return;
67
+
65
68
  // Kendi kendine veya diğer botlara cevap vermeyi engelle
66
69
  if (message.fromBot || message.authorUsername === client.user?.username)
67
70
  return;
@@ -149,24 +152,33 @@ await client.posts.createComment(targetId, {
149
152
  DM ve Post (Gönderi/Yorum) komutlarınızı (ör. `/ping`) kolayca oluşturmanızı ve yönetmenizi sağlar. Client oluşturulurken `commandPrefix` verilerek (varsayılan: `/`) aktif edilebilir.
150
153
 
151
154
  - `client.commands.register(command)`: Belirtilen komutu sisteme kaydeder.
155
+ - `client.commands.isCommand(text)`: Herhangi bir metnin kayıtlı bir komut olup olmadığını doğrular. Ayrıca gönderilerde (`@bot /komut`) kullanımını destekler.
152
156
 
153
- **Örnek Komut Dosyası (`./commands/ping.ts`)**
157
+ **Örnek Komut Dosyası (`./commands/ban.ts` argümanlı kullanım)**
154
158
 
155
159
  ```typescript
156
160
  import { Command, Client, CommandMessage } from "prototurk-sdk";
157
161
 
158
162
  export default new Command({
159
- name: "ping",
160
- description: "Ping komutu",
161
- aliases: ["pong"],
163
+ name: "ban",
164
+ description: "Kullanıcıyı banlar",
165
+ aliases: ["yasakla"],
162
166
  type: "all", // "dm" | "post" | "all" (varsayılan "all")
163
167
  execute: async (
164
168
  client: Client,
165
169
  message: CommandMessage,
166
- args: string[],
170
+ args: string[], // Örn: /ban @clqu sebep => ["@clqu", "sebep"]
167
171
  ) => {
172
+ const targetUser = args[0];
173
+ const reason = args.slice(1).join(" ");
174
+
175
+ if (!targetUser) {
176
+ await message.reply("Lütfen banlanacak birini etiketleyin!");
177
+ return;
178
+ }
179
+
168
180
  // Komut DM'den gelirse DM mesajı atar, gönderiden (mention vs.) gelirse yorum atar.
169
- await message.reply("Pong!");
181
+ await message.reply(`${targetUser} kullanıcısı '${reason || "belirtilmedi"}' sebebiyle banlandı!`);
170
182
  },
171
183
  });
172
184
  ```
@@ -14,6 +14,7 @@ export declare class EventPoller {
14
14
  private intervalId;
15
15
  private since;
16
16
  private pollIntervalMs;
17
+ private isPolling;
17
18
  constructor(client: Client);
18
19
  start(): Promise<void>;
19
20
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"EventPoller.d.ts","sourceRoot":"","sources":["../../src/gateway/EventPoller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qBAAa,WAAW;IACb,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAAgB;gBAE1B,MAAM,EAAE,MAAM;IAIb,KAAK;IAqBX,IAAI;YAOG,IAAI;IA2CX,WAAW,CAAC,KAAK,EAAE,SAAS;CAqCtC"}
1
+ {"version":3,"file":"EventPoller.d.ts","sourceRoot":"","sources":["../../src/gateway/EventPoller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qBAAa,WAAW;IACb,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAkB;gBAEvB,MAAM,EAAE,MAAM;IAIb,KAAK;IAqBX,IAAI;YAOG,IAAI;IAgDX,WAAW,CAAC,KAAK,EAAE,SAAS;CAqCtC"}
@@ -5,6 +5,7 @@ export class EventPoller {
5
5
  intervalId = null;
6
6
  since = null;
7
7
  pollIntervalMs = 3000; // default to 3s
8
+ isPolling = false;
8
9
  constructor(client) {
9
10
  this.client = client;
10
11
  }
@@ -32,6 +33,9 @@ export class EventPoller {
32
33
  }
33
34
  }
34
35
  async poll() {
36
+ if (this.isPolling)
37
+ return;
38
+ this.isPolling = true;
35
39
  try {
36
40
  const query = {};
37
41
  if (this.since) {
@@ -60,6 +64,9 @@ export class EventPoller {
60
64
  catch (err) {
61
65
  this.client.emit(ClientEvents.ERROR, err instanceof Error ? err : new Error(err?.toString()));
62
66
  }
67
+ finally {
68
+ this.isPolling = false;
69
+ }
63
70
  }
64
71
  handleEvent(event) {
65
72
  switch (event.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventPoller.js","sourceRoot":"","sources":["../../src/gateway/EventPoller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventPoller.js","sourceRoot":"","sources":["../../src/gateway/EventPoller.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare class CommandManager {
11
11
  * @param command The command instance to register.
12
12
  */
13
13
  register(command: Command): this;
14
+ /**
15
+ * Checks if a given text corresponds to a registered command.
16
+ * Takes mention prefixes into account.
17
+ * @param text The text to check.
18
+ */
19
+ isCommand(text: string): boolean;
14
20
  /**
15
21
  * Handles incoming DM messages.
16
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CommandManager.d.ts","sourceRoot":"","sources":["../../src/managers/CommandManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhD,qBAAa,cAAc;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAExB,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;IAWhD;;;OAGG;IACI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOvC;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,eAAe;IA0B7B;;;OAGG;YACW,cAAc;CAgC/B"}
1
+ {"version":3,"file":"CommandManager.d.ts","sourceRoot":"","sources":["../../src/managers/CommandManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhD,qBAAa,cAAc;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAExB,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY;IAWhD;;;OAGG;IACI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAQvC;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAqBvC;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,eAAe;IA0B7B;;;OAGG;YACW,cAAc;CAgC/B"}
@@ -24,6 +24,29 @@ export class CommandManager {
24
24
  }
25
25
  return this;
26
26
  }
27
+ /**
28
+ * Checks if a given text corresponds to a registered command.
29
+ * Takes mention prefixes into account.
30
+ * @param text The text to check.
31
+ */
32
+ isCommand(text) {
33
+ if (!text)
34
+ return false;
35
+ let normalizedText = text.trim();
36
+ if (this.client.user?.username) {
37
+ const mentionPrefix = `@${this.client.user.username}`;
38
+ if (normalizedText.startsWith(mentionPrefix)) {
39
+ normalizedText = normalizedText.slice(mentionPrefix.length).trim();
40
+ }
41
+ }
42
+ if (!normalizedText.startsWith(this.prefix))
43
+ return false;
44
+ const args = normalizedText.slice(this.prefix.length).trim().split(/ +/);
45
+ const commandName = args.shift()?.toLowerCase();
46
+ if (!commandName)
47
+ return false;
48
+ return this.commands.has(commandName) || this.aliases.has(commandName);
49
+ }
27
50
  /**
28
51
  * Handles incoming DM messages.
29
52
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CommandManager.js","sourceRoot":"","sources":["../../src/managers/CommandManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandManager.js","sourceRoot":"","sources":["../../src/managers/CommandManager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export interface RequestOptions {
2
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
2
+ method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
3
3
  body?: any;
4
4
  query?: Record<string, any>;
5
5
  headers?: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"RESTManager.d.ts","sourceRoot":"","sources":["../../src/rest/RESTManager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAuB;IAE7B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAInB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAoDlF,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIpD,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAG5C"}
1
+ {"version":3,"file":"RESTManager.d.ts","sourceRoot":"","sources":["../../src/rest/RESTManager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,KAAK,CAAuB;IAE7B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAInB,OAAO,CAAC,CAAC,GAAG,GAAG,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,CAAC,CAAC;IAoDN,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIpD,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAG9C"}
@@ -1,5 +1,5 @@
1
- import { API_BASE_URL } from '../util/Constants';
2
- import { APIError } from './APIError';
1
+ import { API_BASE_URL } from "../util/Constants";
2
+ import { APIError } from "./APIError";
3
3
  export class RESTManager {
4
4
  token = null;
5
5
  setToken(token) {
@@ -10,9 +10,9 @@ export class RESTManager {
10
10
  }
11
11
  async request(endpoint, options = {}) {
12
12
  if (!this.token) {
13
- throw new Error('Token is not set');
13
+ throw new Error("Token is not set");
14
14
  }
15
- const { method = 'GET', body, query, headers = {} } = options;
15
+ const { method = "GET", body, query, headers = {} } = options;
16
16
  let url = `${API_BASE_URL}${endpoint}`;
17
17
  if (query) {
18
18
  const searchParams = new URLSearchParams();
@@ -29,8 +29,8 @@ export class RESTManager {
29
29
  const fetchOptions = {
30
30
  method,
31
31
  headers: {
32
- 'Authorization': `Bearer ${this.token}`,
33
- 'Content-Type': 'application/json',
32
+ Authorization: `Bearer ${this.token}`,
33
+ "Content-Type": "application/json",
34
34
  ...headers,
35
35
  },
36
36
  };
@@ -47,16 +47,16 @@ export class RESTManager {
47
47
  }
48
48
  if (!response.ok) {
49
49
  const errorMessage = data?.error || response.statusText;
50
- const errorCode = data?.code || 'UNKNOWN_ERROR';
50
+ const errorCode = data?.code || "UNKNOWN_ERROR";
51
51
  throw new APIError(errorMessage, errorCode, response.status);
52
52
  }
53
53
  return data;
54
54
  }
55
55
  get(endpoint, query) {
56
- return this.request(endpoint, { method: 'GET', query });
56
+ return this.request(endpoint, { method: "GET", query });
57
57
  }
58
58
  post(endpoint, body) {
59
- return this.request(endpoint, { method: 'POST', body });
59
+ return this.request(endpoint, { method: "POST", body });
60
60
  }
61
61
  }
62
62
  //# sourceMappingURL=RESTManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RESTManager.js","sourceRoot":"","sources":["../../src/rest/RESTManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC,MAAM,OAAO,WAAW;IACd,KAAK,GAAkB,IAAI,CAAC;IAE7B,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAU,QAAgB,EAAE,UAA0B,EAAE;QAC1E,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAC9D,IAAI,GAAG,GAAG,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAC;QAEvC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC1C,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,WAAW,EAAE,CAAC;gBAChB,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAgB;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;gBACvC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACX;SACF,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,IAAS,CAAC;QAEd,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,eAAe,CAAC;YAChD,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAS,CAAC;IACnB,CAAC;IAEM,GAAG,CAAI,QAAgB,EAAE,KAA2B;QACzD,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI,CAAI,QAAgB,EAAE,IAAU;QACzC,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"RESTManager.js","sourceRoot":"","sources":["../../src/rest/RESTManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAStC,MAAM,OAAO,WAAW;IACZ,KAAK,GAAkB,IAAI,CAAC;IAE7B,QAAQ,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,OAAO,CAChB,QAAgB,EAChB,UAA0B,EAAE;QAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAC9D,IAAI,GAAG,GAAG,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAC;QAEvC,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACxC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,WAAW,EAAE,CAAC;gBACd,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAgB;YAC9B,MAAM;YACN,OAAO,EAAE;gBACL,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;gBACrC,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO;aACb;SACJ,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACP,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,IAAS,CAAC;QAEd,IAAI,CAAC;YACD,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,GAAG,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,UAAU,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,eAAe,CAAC;YAChD,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAS,CAAC;IACrB,CAAC;IAEM,GAAG,CAAI,QAAgB,EAAE,KAA2B;QACvD,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,IAAI,CAAI,QAAgB,EAAE,IAAU;QACvC,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;CACJ"}
@@ -21,6 +21,10 @@ export declare class DMMessage extends Base {
21
21
  createdAt: Date;
22
22
  replyToId: string | null;
23
23
  constructor(client: Client, data: DMMessageData);
24
+ /**
25
+ * Checks whether this message is a registered command.
26
+ */
27
+ get isCommand(): boolean;
24
28
  /**
25
29
  * Reply to the conversation.
26
30
  * Note: The API does not have reply-to specific logic for DMs, it just sends a new message to the conversation.
@@ -1 +1 @@
1
- {"version":3,"file":"DMMessage.d.ts","sourceRoot":"","sources":["../../src/structures/DMMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,SAAU,SAAQ,IAAI;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAY/C;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;CAGtD"}
1
+ {"version":3,"file":"DMMessage.d.ts","sourceRoot":"","sources":["../../src/structures/DMMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,SAAU,SAAQ,IAAI;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAY/C;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;CAGtD"}
@@ -19,6 +19,12 @@ export class DMMessage extends Base {
19
19
  this.createdAt = new Date(data.createdAt);
20
20
  this.replyToId = data.replyToId;
21
21
  }
22
+ /**
23
+ * Checks whether this message is a registered command.
24
+ */
25
+ get isCommand() {
26
+ return this.client.commands?.isCommand(this.text) || false;
27
+ }
22
28
  /**
23
29
  * Reply to the conversation.
24
30
  * Note: The API does not have reply-to specific logic for DMs, it just sends a new message to the conversation.
@@ -1 +1 @@
1
- {"version":3,"file":"DMMessage.js","sourceRoot":"","sources":["../../src/structures/DMMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAe9B,MAAM,OAAO,SAAU,SAAQ,IAAI;IACxB,EAAE,CAAS;IACX,cAAc,CAAS;IACvB,OAAO,CAAU;IACjB,cAAc,CAAS;IACvB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,SAAS,CAAO;IAChB,SAAS,CAAgB;IAEhC,YAAY,MAAc,EAAE,IAAmB;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAAgC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACJ"}
1
+ {"version":3,"file":"DMMessage.js","sourceRoot":"","sources":["../../src/structures/DMMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAe9B,MAAM,OAAO,SAAU,SAAQ,IAAI;IACxB,EAAE,CAAS;IACX,cAAc,CAAS;IACvB,OAAO,CAAU;IACjB,cAAc,CAAS;IACvB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,SAAS,CAAO;IAChB,SAAS,CAAgB;IAEhC,YAAY,MAAc,EAAE,IAAmB;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAAgC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prototurk-sdk",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "Prototürk platformunda Bot geliştirmek için geliştirilmiş SDK.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",