rynkai 0.1.0 → 0.1.2

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,55 @@ await bot.plugins.loadFromDirectory('./plugins');
62
62
  await bot.connect();
63
63
  ```
64
64
 
65
+ ## Presence (typing / online status)
66
+
67
+ ```ts
68
+ await bot.sendTyping(msg.chatId); // "sedang mengetik..." selama 1 detik
69
+ await bot.sendTyping(msg.chatId, 3000); // custom durasi
70
+ await bot.sendPresence(msg.chatId, 'available'); // online / unavailable / recording / dst
71
+ ```
72
+
73
+ ## Group helpers
74
+
75
+ ```ts
76
+ const info = await bot.getGroupMetadata(groupId);
77
+ console.log(info.subject, info.participants.length);
78
+
79
+ await bot.addParticipants(groupId, ['628123456789@s.whatsapp.net']);
80
+ await bot.removeParticipants(groupId, ['628123456789@s.whatsapp.net']);
81
+ await bot.promoteParticipants(groupId, ['628123456789@s.whatsapp.net']);
82
+ await bot.demoteParticipants(groupId, ['628123456789@s.whatsapp.net']);
83
+
84
+ bot.on('group-participants-update', ({ groupId, action, participants }) => {
85
+ // action: 'add' | 'remove' | 'promote' | 'demote'
86
+ if (action === 'add') {
87
+ console.log(`${participants.join(', ')} join ke grup ${groupId}`);
88
+ }
89
+ });
90
+ ```
91
+
92
+ ## Download media
93
+
94
+ ```ts
95
+ bot.on('message', async (msg) => {
96
+ if (msg.type === 'image') {
97
+ const buffer = await bot.downloadMedia(msg);
98
+ // buffer siap disimpan ke disk, di-forward, diproses, dll
99
+ }
100
+ });
101
+ ```
102
+
103
+ ## Message send queue (anti rate-limit)
104
+
105
+ Semua `client.send()` dan `client.reply()` otomatis lewat antrian dengan jeda default 250ms antar pesan — mencegah akun ke-flag WA saat kirim banyak pesan beruntun (misal broadcast). Bisa disesuaikan:
106
+
107
+ ```ts
108
+ const bot = new Client({
109
+ sessionName: 'my-bot',
110
+ sendQueue: { intervalMs: 500 }, // lebih santai, jeda 500ms
111
+ });
112
+ ```
113
+
65
114
  ## Middleware / hooks
66
115
 
67
116
  Middleware jalan sebelum plugin, bergaya "onion" (kayak Koa/Express) — bisa ngerjain sesuatu sebelum & sesudah `next()`, atau berhenti total tanpa memanggil `next()` (misal buat blokir user).
@@ -151,6 +200,11 @@ Masih tahap awal (0.1.0). Yang sudah ada:
151
200
  - [x] Middleware/hooks sebelum plugin dieksekusi
152
201
  - [x] Rate limiter global (terpisah dari cooldown per-plugin)
153
202
  - [x] Built-in MongoSessionStore
203
+ - [x] Media downloader helper (`client.downloadMedia()`)
204
+ - [x] Message send queue dengan throttle (anti rate-limit WA)
205
+ - [x] Presence helper (`sendTyping`, `sendPresence`)
206
+ - [x] Group helpers (metadata, add/remove/promote/demote, join-leave event)
154
207
 
155
208
  Belum ada (rencana selanjutnya):
156
209
  - [ ] Test suite
210
+ - [ ] Interactive messages (button, list, poll)
@@ -1,14 +1,20 @@
1
- import { type WASocket, type AnyMessageContent } from '@whiskeysockets/baileys';
1
+ import { type WASocket, type AnyMessageContent, type WAPresence, type GroupMetadata, type ParticipantAction } from '@whiskeysockets/baileys';
2
2
  import { EventEmitter } from 'events';
3
3
  import type { NormalizedMessage, RynkaiConfig } from '../types';
4
4
  import { PluginLoader } from '../plugin/PluginLoader';
5
5
  import { type Middleware } from './Middleware';
6
+ export interface GroupParticipantsEvent {
7
+ groupId: string;
8
+ action: ParticipantAction;
9
+ participants: string[];
10
+ }
6
11
  export interface RynkaiEvents {
7
12
  ready: () => void;
8
13
  message: (msg: NormalizedMessage) => void;
9
14
  disconnected: (reason: string) => void;
10
15
  qr: (qr: string) => void;
11
16
  pairingCode: (code: string) => void;
17
+ 'group-participants-update': (event: GroupParticipantsEvent) => void;
12
18
  }
13
19
  /**
14
20
  * Client utama rynkai. Bungkus WASocket Baileys dan expose API yang lebih
@@ -23,6 +29,7 @@ export declare class Client extends EventEmitter {
23
29
  private logger;
24
30
  private middlewares;
25
31
  private rateLimiter;
32
+ private sendQueue;
26
33
  constructor(config: RynkaiConfig);
27
34
  /**
28
35
  * Daftarkan middleware yang jalan sebelum (dan bisa membungkus) eksekusi plugin.
@@ -34,10 +41,29 @@ export declare class Client extends EventEmitter {
34
41
  connect(): Promise<void>;
35
42
  /** Cocokkan pesan terhadap prefix & jalankan plugin yang sesuai, kalau ada. */
36
43
  private dispatchPlugin;
37
- /** Kirim pesan ke sebuah chat. Wrapper tipis di atas sock.sendMessage. */
44
+ /** Kirim pesan ke sebuah chat. Otomatis di-throttle lewat send queue biar tidak spam ke WA. */
38
45
  send(chatId: string, content: AnyMessageContent): Promise<void>;
39
- /** Balas sebuah NormalizedMessage, otomatis quote pesan aslinya. */
46
+ /** Balas sebuah NormalizedMessage, otomatis quote pesan aslinya. Ikut lewat send queue juga. */
40
47
  reply(message: NormalizedMessage, text: string): Promise<void>;
48
+ /** Download media (image/video/audio/sticker/document) dari sebuah pesan sebagai Buffer. */
49
+ downloadMedia(message: NormalizedMessage): Promise<Buffer>;
50
+ /** Update presence (online/typing/recording/dst) di sebuah chat. */
51
+ sendPresence(chatId: string, presence: WAPresence): Promise<void>;
52
+ /**
53
+ * Tampilkan indikator "sedang mengetik" di sebuah chat selama `durationMs`,
54
+ * lalu otomatis kembali ke status paused. Default durasi 1000ms.
55
+ */
56
+ sendTyping(chatId: string, durationMs?: number): Promise<void>;
57
+ /** Ambil metadata sebuah grup (nama, deskripsi, daftar participant, admin, dst). */
58
+ getGroupMetadata(groupId: string): Promise<GroupMetadata>;
59
+ /** Tambah participant ke grup. */
60
+ addParticipants(groupId: string, participants: string[]): Promise<void>;
61
+ /** Keluarkan participant dari grup. */
62
+ removeParticipants(groupId: string, participants: string[]): Promise<void>;
63
+ /** Jadikan participant admin grup. */
64
+ promoteParticipants(groupId: string, participants: string[]): Promise<void>;
65
+ /** Turunkan admin grup jadi member biasa. */
66
+ demoteParticipants(groupId: string, participants: string[]): Promise<void>;
41
67
  /** Logout & bersihkan sesi tersimpan. */
42
68
  logout(): Promise<void>;
43
69
  on<K extends keyof RynkaiEvents>(event: K, listener: RynkaiEvents[K]): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":"AAAA,OAAqB,EAGnB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAiB,MAAM,UAAU,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGxD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACpC,SAAgB,OAAO,eAAsB;IAE7C,OAAO,CAAC,MAAM,CACqD;IACnE,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,WAAW,CAAqB;gBAE5B,MAAM,EAAE,YAAY;IAgBhC;;;;OAIG;IACH,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKjC,kEAAkE;IAC5D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D9B,+EAA+E;YACjE,cAAc;IA6B5B,0EAA0E;IACpE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,oEAAoE;IAC9D,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,yCAAyC;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAG3E,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO;CAG5F"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ const MessageParser_1 = require("../message/MessageParser");
45
45
  const PluginLoader_1 = require("../plugin/PluginLoader");
46
46
  const Middleware_1 = require("./Middleware");
47
47
  const RateLimiter_1 = require("./RateLimiter");
48
+ const SendQueue_1 = require("./SendQueue");
49
+ const downloadMedia_1 = require("../media/downloadMedia");
48
50
  /**
49
51
  * Client utama rynkai. Bungkus WASocket Baileys dan expose API yang lebih
50
52
  * sederhana: client.on('message', ...), client.send(...), plugin otomatis
@@ -64,10 +66,12 @@ class Client extends events_1.EventEmitter {
64
66
  sessionStore: config.sessionStore,
65
67
  sessionName: config.sessionName,
66
68
  rateLimit: config.rateLimit,
69
+ sendQueue: config.sendQueue,
67
70
  };
68
71
  this.sessionStore = config.sessionStore ?? new FileSessionStore_1.FileSessionStore(config.sessionName);
69
72
  this.logger = (0, pino_1.default)({ level: this.config.logLevel });
70
73
  this.rateLimiter = config.rateLimit ? new RateLimiter_1.RateLimiter(config.rateLimit) : null;
74
+ this.sendQueue = new SendQueue_1.SendQueue(config.sendQueue);
71
75
  }
72
76
  /**
73
77
  * Daftarkan middleware yang jalan sebelum (dan bisa membungkus) eksekusi plugin.
@@ -126,6 +130,13 @@ class Client extends events_1.EventEmitter {
126
130
  await this.dispatchPlugin(message);
127
131
  }
128
132
  });
133
+ this.sock.ev.on('group-participants.update', (event) => {
134
+ this.emit('group-participants-update', {
135
+ groupId: event.id,
136
+ action: event.action,
137
+ participants: event.participants,
138
+ });
139
+ });
129
140
  }
130
141
  /** Cocokkan pesan terhadap prefix & jalankan plugin yang sesuai, kalau ada. */
131
142
  async dispatchPlugin(message) {
@@ -154,17 +165,72 @@ class Client extends events_1.EventEmitter {
154
165
  });
155
166
  await pipeline(ctx);
156
167
  }
157
- /** Kirim pesan ke sebuah chat. Wrapper tipis di atas sock.sendMessage. */
168
+ /** Kirim pesan ke sebuah chat. Otomatis di-throttle lewat send queue biar tidak spam ke WA. */
158
169
  async send(chatId, content) {
159
170
  if (!this.sock)
160
171
  throw new Error('Client belum connect. Panggil connect() dulu.');
161
- await this.sock.sendMessage(chatId, content);
172
+ const sock = this.sock;
173
+ await this.sendQueue.push(() => sock.sendMessage(chatId, content));
162
174
  }
163
- /** Balas sebuah NormalizedMessage, otomatis quote pesan aslinya. */
175
+ /** Balas sebuah NormalizedMessage, otomatis quote pesan aslinya. Ikut lewat send queue juga. */
164
176
  async reply(message, text) {
165
177
  if (!this.sock)
166
178
  throw new Error('Client belum connect. Panggil connect() dulu.');
167
- await this.sock.sendMessage(message.chatId, { text }, { quoted: message.raw });
179
+ const sock = this.sock;
180
+ await this.sendQueue.push(() => sock.sendMessage(message.chatId, { text }, { quoted: message.raw }));
181
+ }
182
+ /** Download media (image/video/audio/sticker/document) dari sebuah pesan sebagai Buffer. */
183
+ async downloadMedia(message) {
184
+ if (!this.sock)
185
+ throw new Error('Client belum connect. Panggil connect() dulu.');
186
+ return (0, downloadMedia_1.downloadMedia)(message, this.sock, this.logger);
187
+ }
188
+ /** Update presence (online/typing/recording/dst) di sebuah chat. */
189
+ async sendPresence(chatId, presence) {
190
+ if (!this.sock)
191
+ throw new Error('Client belum connect. Panggil connect() dulu.');
192
+ await this.sock.sendPresenceUpdate(presence, chatId);
193
+ }
194
+ /**
195
+ * Tampilkan indikator "sedang mengetik" di sebuah chat selama `durationMs`,
196
+ * lalu otomatis kembali ke status paused. Default durasi 1000ms.
197
+ */
198
+ async sendTyping(chatId, durationMs = 1000) {
199
+ if (!this.sock)
200
+ throw new Error('Client belum connect. Panggil connect() dulu.');
201
+ await this.sock.sendPresenceUpdate('composing', chatId);
202
+ await new Promise((r) => setTimeout(r, durationMs));
203
+ await this.sock.sendPresenceUpdate('paused', chatId);
204
+ }
205
+ /** Ambil metadata sebuah grup (nama, deskripsi, daftar participant, admin, dst). */
206
+ async getGroupMetadata(groupId) {
207
+ if (!this.sock)
208
+ throw new Error('Client belum connect. Panggil connect() dulu.');
209
+ return this.sock.groupMetadata(groupId);
210
+ }
211
+ /** Tambah participant ke grup. */
212
+ async addParticipants(groupId, participants) {
213
+ if (!this.sock)
214
+ throw new Error('Client belum connect. Panggil connect() dulu.');
215
+ await this.sock.groupParticipantsUpdate(groupId, participants, 'add');
216
+ }
217
+ /** Keluarkan participant dari grup. */
218
+ async removeParticipants(groupId, participants) {
219
+ if (!this.sock)
220
+ throw new Error('Client belum connect. Panggil connect() dulu.');
221
+ await this.sock.groupParticipantsUpdate(groupId, participants, 'remove');
222
+ }
223
+ /** Jadikan participant admin grup. */
224
+ async promoteParticipants(groupId, participants) {
225
+ if (!this.sock)
226
+ throw new Error('Client belum connect. Panggil connect() dulu.');
227
+ await this.sock.groupParticipantsUpdate(groupId, participants, 'promote');
228
+ }
229
+ /** Turunkan admin grup jadi member biasa. */
230
+ async demoteParticipants(groupId, participants) {
231
+ if (!this.sock)
232
+ throw new Error('Client belum connect. Panggil connect() dulu.');
233
+ await this.sock.groupParticipantsUpdate(groupId, participants, 'demote');
168
234
  }
169
235
  /** Logout & bersihkan sesi tersimpan. */
170
236
  async logout() {
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface SendQueueConfig {
2
+ /** Jeda minimum antar pengiriman pesan, dalam milidetik. Default: 250ms */
3
+ intervalMs?: number;
4
+ }
5
+ /**
6
+ * Antrian FIFO buat pengiriman pesan, dengan jeda minimum antar item.
7
+ * Baileys/WA bisa nge-flag akun kalau kirim banyak pesan secara instan
8
+ * beruntun (misal broadcast ke banyak chat) — queue ini bikin semua
9
+ * pengiriman lewat client.send() otomatis di-throttle tanpa perlu
10
+ * consumer mikirin delay manual.
11
+ */
12
+ export declare class SendQueue {
13
+ private queue;
14
+ private processing;
15
+ private intervalMs;
16
+ constructor(config?: SendQueueConfig);
17
+ /** Masukkan task ke antrian. Resolve/reject sesuai hasil task saat gilirannya jalan. */
18
+ push<T>(task: () => Promise<T>): Promise<T>;
19
+ private process;
20
+ /** Jumlah task yang masih menunggu di antrian (tidak termasuk yang sedang jalan) */
21
+ get pending(): number;
22
+ }
23
+ //# sourceMappingURL=SendQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendQueue.d.ts","sourceRoot":"","sources":["../../src/core/SendQueue.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,eAAoB;IAIxC,wFAAwF;IACxF,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAO7B,OAAO;IAqBrB,oFAAoF;IACpF,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SendQueue = void 0;
4
+ /**
5
+ * Antrian FIFO buat pengiriman pesan, dengan jeda minimum antar item.
6
+ * Baileys/WA bisa nge-flag akun kalau kirim banyak pesan secara instan
7
+ * beruntun (misal broadcast ke banyak chat) — queue ini bikin semua
8
+ * pengiriman lewat client.send() otomatis di-throttle tanpa perlu
9
+ * consumer mikirin delay manual.
10
+ */
11
+ class SendQueue {
12
+ constructor(config = {}) {
13
+ this.queue = [];
14
+ this.processing = false;
15
+ this.intervalMs = config.intervalMs ?? 250;
16
+ }
17
+ /** Masukkan task ke antrian. Resolve/reject sesuai hasil task saat gilirannya jalan. */
18
+ push(task) {
19
+ return new Promise((resolve, reject) => {
20
+ this.queue.push({ task, resolve, reject });
21
+ void this.process();
22
+ });
23
+ }
24
+ async process() {
25
+ if (this.processing)
26
+ return;
27
+ this.processing = true;
28
+ while (this.queue.length > 0) {
29
+ const item = this.queue.shift();
30
+ try {
31
+ const result = await item.task();
32
+ item.resolve(result);
33
+ }
34
+ catch (err) {
35
+ item.reject(err);
36
+ }
37
+ if (this.queue.length > 0) {
38
+ await new Promise((r) => setTimeout(r, this.intervalMs));
39
+ }
40
+ }
41
+ this.processing = false;
42
+ }
43
+ /** Jumlah task yang masih menunggu di antrian (tidak termasuk yang sedang jalan) */
44
+ get pending() {
45
+ return this.queue.length;
46
+ }
47
+ }
48
+ exports.SendQueue = SendQueue;
49
+ //# sourceMappingURL=SendQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SendQueue.js","sourceRoot":"","sources":["../../src/core/SendQueue.ts"],"names":[],"mappings":";;;AAWA;;;;;;GAMG;AACH,MAAa,SAAS;IAKpB,YAAY,SAA0B,EAAE;QAJhC,UAAK,GAA0B,EAAE,CAAC;QAClC,eAAU,GAAG,KAAK,CAAC;QAIzB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC;IAC7C,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAI,IAAsB;QAC5B,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAyB,CAAC,CAAC;YAClE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,oFAAoF;IACpF,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF;AA1CD,8BA0CC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,11 @@ export { MessageBuilder } from './message/MessageBuilder';
5
5
  export { PluginLoader } from './plugin/PluginLoader';
6
6
  export { RateLimiter } from './core/RateLimiter';
7
7
  export { compose } from './core/Middleware';
8
+ export { SendQueue } from './core/SendQueue';
9
+ export { downloadMedia } from './media/downloadMedia';
8
10
  export type { NormalizedMessage, NormalizedMessageType, SessionStore, Plugin, PluginContext, RynkaiConfig, } from './types';
9
11
  export type { Middleware, NextFunction } from './core/Middleware';
10
12
  export type { RateLimitConfig } from './core/RateLimiter';
13
+ export type { SendQueueConfig } from './core/SendQueue';
14
+ export type { GroupParticipantsEvent, RynkaiEvents } from './core/Client';
11
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,MAAM,EACN,aAAa,EACb,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,MAAM,EACN,aAAa,EACb,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compose = exports.RateLimiter = exports.PluginLoader = exports.MessageBuilder = exports.MongoSessionStore = exports.FileSessionStore = exports.Client = void 0;
3
+ exports.downloadMedia = exports.SendQueue = exports.compose = exports.RateLimiter = exports.PluginLoader = exports.MessageBuilder = exports.MongoSessionStore = exports.FileSessionStore = exports.Client = void 0;
4
4
  var Client_1 = require("./core/Client");
5
5
  Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return Client_1.Client; } });
6
6
  var FileSessionStore_1 = require("./session/FileSessionStore");
@@ -15,4 +15,8 @@ var RateLimiter_1 = require("./core/RateLimiter");
15
15
  Object.defineProperty(exports, "RateLimiter", { enumerable: true, get: function () { return RateLimiter_1.RateLimiter; } });
16
16
  var Middleware_1 = require("./core/Middleware");
17
17
  Object.defineProperty(exports, "compose", { enumerable: true, get: function () { return Middleware_1.compose; } });
18
+ var SendQueue_1 = require("./core/SendQueue");
19
+ Object.defineProperty(exports, "SendQueue", { enumerable: true, get: function () { return SendQueue_1.SendQueue; } });
20
+ var downloadMedia_1 = require("./media/downloadMedia");
21
+ Object.defineProperty(exports, "downloadMedia", { enumerable: true, get: function () { return downloadMedia_1.downloadMedia; } });
18
22
  //# 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,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,+DAA8D;AAArD,oHAAA,gBAAgB,OAAA;AACzB,iEAAgE;AAAvD,sHAAA,iBAAiB,OAAA;AAC1B,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AACvB,sDAAqD;AAA5C,4GAAA,YAAY,OAAA;AACrB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,gDAA4C;AAAnC,qGAAA,OAAO,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,+DAA8D;AAArD,oHAAA,gBAAgB,OAAA;AACzB,iEAAgE;AAAvD,sHAAA,iBAAiB,OAAA;AAC1B,2DAA0D;AAAjD,gHAAA,cAAc,OAAA;AACvB,sDAAqD;AAA5C,4GAAA,YAAY,OAAA;AACrB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,gDAA4C;AAAnC,qGAAA,OAAO,OAAA;AAChB,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAClB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA"}
@@ -0,0 +1,17 @@
1
+ import { type WASocket } from '@whiskeysockets/baileys';
2
+ import pino from 'pino';
3
+ import type { NormalizedMessage } from '../types';
4
+ /**
5
+ * Download media (image/video/audio/sticker/document) dari sebuah pesan
6
+ * dan return langsung sebagai Buffer. Di Baileys mentah ini butuh beberapa
7
+ * baris boilerplate (downloadContentFromMessage + stream ke buffer manual);
8
+ * di sini tinggal satu panggilan.
9
+ *
10
+ * `sock` diperlukan supaya media yang sudah expired di server WA bisa
11
+ * di-reupload-request otomatis oleh Baileys (dipakai `client.downloadMedia()`,
12
+ * yang otomatis mengoper socket aktifnya).
13
+ *
14
+ * @throws Error kalau pesan bukan tipe media (text, location, dll)
15
+ */
16
+ export declare function downloadMedia(message: NormalizedMessage, sock: WASocket, logger?: pino.Logger): Promise<Buffer>;
17
+ //# sourceMappingURL=downloadMedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadMedia.d.ts","sourceRoot":"","sources":["../../src/media/downloadMedia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAKlD;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBrH"}
@@ -0,0 +1,33 @@
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.downloadMedia = downloadMedia;
7
+ const baileys_1 = require("@whiskeysockets/baileys");
8
+ const pino_1 = __importDefault(require("pino"));
9
+ const MEDIA_TYPES = ['image', 'video', 'audio', 'sticker', 'document'];
10
+ const defaultLogger = (0, pino_1.default)({ level: 'silent' });
11
+ /**
12
+ * Download media (image/video/audio/sticker/document) dari sebuah pesan
13
+ * dan return langsung sebagai Buffer. Di Baileys mentah ini butuh beberapa
14
+ * baris boilerplate (downloadContentFromMessage + stream ke buffer manual);
15
+ * di sini tinggal satu panggilan.
16
+ *
17
+ * `sock` diperlukan supaya media yang sudah expired di server WA bisa
18
+ * di-reupload-request otomatis oleh Baileys (dipakai `client.downloadMedia()`,
19
+ * yang otomatis mengoper socket aktifnya).
20
+ *
21
+ * @throws Error kalau pesan bukan tipe media (text, location, dll)
22
+ */
23
+ async function downloadMedia(message, sock, logger) {
24
+ if (!MEDIA_TYPES.includes(message.type)) {
25
+ throw new Error(`Pesan bertipe "${message.type}" bukan media, tidak bisa di-download.`);
26
+ }
27
+ const buffer = await (0, baileys_1.downloadMediaMessage)(message.raw, 'buffer', {}, {
28
+ logger: logger ?? defaultLogger,
29
+ reuploadRequest: sock.updateMediaMessage,
30
+ });
31
+ return buffer;
32
+ }
33
+ //# sourceMappingURL=downloadMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"downloadMedia.js","sourceRoot":"","sources":["../../src/media/downloadMedia.ts"],"names":[],"mappings":";;;;;AAmBA,sCAgBC;AAnCD,qDAA8F;AAC9F,gDAAwB;AAGxB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAChF,MAAM,aAAa,GAAG,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,aAAa,CAAC,OAA0B,EAAE,IAAc,EAAE,MAAoB;IAClG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAoC,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,IAAI,wCAAwC,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAoB,EACvC,OAAO,CAAC,GAAgB,EACxB,QAAQ,EACR,EAAE,EACF;QACE,MAAM,EAAE,MAAM,IAAI,aAAa;QAC/B,eAAe,EAAE,IAAI,CAAC,kBAAkB;KACzC,CACF,CAAC;IAEF,OAAO,MAAgB,CAAC;AAC1B,CAAC"}
@@ -72,5 +72,9 @@ export interface RynkaiConfig {
72
72
  /** Panjang window dalam milidetik */
73
73
  windowMs: number;
74
74
  };
75
+ /** Konfigurasi throttle pengiriman pesan (send queue). Default: jeda 250ms antar pesan. */
76
+ sendQueue?: {
77
+ intervalMs?: number;
78
+ };
75
79
  }
76
80
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEpF,iGAAiG;AACjG,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,uGAAuG;IACvG,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACjD,iFAAiF;IACjF,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,IAAI,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC5C,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uEAAuE;IACvE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACpE;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV,yCAAyC;QACzC,GAAG,EAAE,MAAM,CAAC;QACZ,qCAAqC;QACrC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEpF,iGAAiG;AACjG,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,uGAAuG;IACvG,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACjD,iFAAiF;IACjF,GAAG,EAAE,KAAK,CAAC,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,IAAI,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC5C,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,uEAAuE;IACvE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,YAAY;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACpE;;;OAGG;IACH,SAAS,CAAC,EAAE;QACV,yCAAyC;QACzC,GAAG,EAAE,MAAM,CAAC;QACZ,qCAAqC;QACrC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,2FAA2F;IAC3F,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rynkai",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Clean, typed wrapper around Baileys with built-in plugin system and pluggable session store — for building WhatsApp bots fast.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,7 +10,13 @@
10
10
  "dev": "ts-node-dev --respawn --transpile-only src/index.ts",
11
11
  "prepublishOnly": "npm run build"
12
12
  },
13
- "keywords": ["whatsapp", "bot", "baileys", "wrapper", "plugin"],
13
+ "keywords": [
14
+ "whatsapp",
15
+ "bot",
16
+ "baileys",
17
+ "wrapper",
18
+ "plugin"
19
+ ],
14
20
  "license": "MIT",
15
21
  "author": "rynk",
16
22
  "repository": {
@@ -44,5 +50,7 @@
44
50
  "@types/node": "^20.14.0",
45
51
  "mongoose": "^8.0.0"
46
52
  },
47
- "files": ["dist"]
53
+ "files": [
54
+ "dist"
55
+ ]
48
56
  }