rynkai 0.1.1 → 0.1.3
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 +37 -24
- package/dist/core/Client.d.ts +24 -1
- package/dist/core/Client.d.ts.map +1 -1
- package/dist/core/Client.js +54 -0
- package/dist/core/Client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/package.json +3 -8
package/README.md
CHANGED
|
@@ -62,6 +62,33 @@ 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
|
+
|
|
65
92
|
## Download media
|
|
66
93
|
|
|
67
94
|
```ts
|
|
@@ -119,36 +146,23 @@ const bot = new Client({
|
|
|
119
146
|
|
|
120
147
|
Kalau user kelebihan limit, bot otomatis reply pemberitahuan dan command tidak diteruskan ke middleware/plugin.
|
|
121
148
|
|
|
122
|
-
## Session store custom
|
|
123
|
-
|
|
124
|
-
Sudah disediakan `MongoSessionStore` built-in — cocok kalau stack-mu (kayak rynk4) sudah pakai MongoDB/Mongoose:
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
npm install mongoose
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
```ts
|
|
131
|
-
import mongoose from 'mongoose';
|
|
132
|
-
import { Client, MongoSessionStore } from 'rynkai';
|
|
149
|
+
## Session store custom
|
|
133
150
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const bot = new Client({
|
|
137
|
-
sessionName: 'my-bot',
|
|
138
|
-
sessionStore: new MongoSessionStore('my-bot'),
|
|
139
|
-
});
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Kalau butuh store lain (Redis, dll), tinggal implement interface `SessionStore` yang sama:
|
|
151
|
+
Default-nya pakai `FileSessionStore` (simpan sesi sebagai file di disk). Kalau butuh store lain (MongoDB, Redis, dll), tinggal implement interface `SessionStore`:
|
|
143
152
|
|
|
144
153
|
```ts
|
|
145
154
|
import type { SessionStore } from 'rynkai';
|
|
146
155
|
|
|
147
|
-
class
|
|
156
|
+
class MySessionStore implements SessionStore {
|
|
148
157
|
async load() { /* ... */ }
|
|
149
158
|
async save(state) { /* ... */ }
|
|
150
159
|
async clear() { /* ... */ }
|
|
151
160
|
}
|
|
161
|
+
|
|
162
|
+
const bot = new Client({
|
|
163
|
+
sessionName: 'my-bot',
|
|
164
|
+
sessionStore: new MySessionStore(),
|
|
165
|
+
});
|
|
152
166
|
```
|
|
153
167
|
|
|
154
168
|
## Pairing code (tanpa QR)
|
|
@@ -172,12 +186,11 @@ Masih tahap awal (0.1.0). Yang sudah ada:
|
|
|
172
186
|
- [x] MessageBuilder helper
|
|
173
187
|
- [x] Middleware/hooks sebelum plugin dieksekusi
|
|
174
188
|
- [x] Rate limiter global (terpisah dari cooldown per-plugin)
|
|
175
|
-
- [x] Built-in MongoSessionStore
|
|
176
189
|
- [x] Media downloader helper (`client.downloadMedia()`)
|
|
177
190
|
- [x] Message send queue dengan throttle (anti rate-limit WA)
|
|
191
|
+
- [x] Presence helper (`sendTyping`, `sendPresence`)
|
|
192
|
+
- [x] Group helpers (metadata, add/remove/promote/demote, join-leave event)
|
|
178
193
|
|
|
179
194
|
Belum ada (rencana selanjutnya):
|
|
180
195
|
- [ ] Test suite
|
|
181
196
|
- [ ] Interactive messages (button, list, poll)
|
|
182
|
-
- [ ] Presence helper (typing, online status)
|
|
183
|
-
- [ ] Group helpers (metadata, add/remove participant, join/leave event)
|
package/dist/core/Client.d.ts
CHANGED
|
@@ -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
|
|
@@ -41,6 +47,23 @@ export declare class Client extends EventEmitter {
|
|
|
41
47
|
reply(message: NormalizedMessage, text: string): Promise<void>;
|
|
42
48
|
/** Download media (image/video/audio/sticker/document) dari sebuah pesan sebagai Buffer. */
|
|
43
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>;
|
|
44
67
|
/** Logout & bersihkan sesi tersimpan. */
|
|
45
68
|
logout(): Promise<void>;
|
|
46
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;AAKxD,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;
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/Client.js
CHANGED
|
@@ -130,6 +130,13 @@ class Client extends events_1.EventEmitter {
|
|
|
130
130
|
await this.dispatchPlugin(message);
|
|
131
131
|
}
|
|
132
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
|
+
});
|
|
133
140
|
}
|
|
134
141
|
/** Cocokkan pesan terhadap prefix & jalankan plugin yang sesuai, kalau ada. */
|
|
135
142
|
async dispatchPlugin(message) {
|
|
@@ -178,6 +185,53 @@ class Client extends events_1.EventEmitter {
|
|
|
178
185
|
throw new Error('Client belum connect. Panggil connect() dulu.');
|
|
179
186
|
return (0, downloadMedia_1.downloadMedia)(message, this.sock, this.logger);
|
|
180
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');
|
|
234
|
+
}
|
|
181
235
|
/** Logout & bersihkan sesi tersimpan. */
|
|
182
236
|
async logout() {
|
|
183
237
|
await this.sock?.logout();
|
package/dist/core/Client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/core/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAQiC;AAEjC,mCAAsC;AACtC,gDAAwB;AAGxB,kEAA+D;AAC/D,4DAAwD;AACxD,yDAAsD;AACtD,6CAAwD;AACxD,+CAA4C;AAC5C,2CAAwC;AACxC,0DAAuD;AAiBvD;;;;GAIG;AACH,MAAa,MAAO,SAAQ,qBAAY;IAYtC,YAAY,MAAoB;QAC9B,KAAK,EAAE,CAAC;QAZH,SAAI,GAAoB,IAAI,CAAC;QACpB,YAAO,GAAG,IAAI,2BAAY,EAAE,CAAC;QAMrC,gBAAW,GAAiB,EAAE,CAAC;QAMrC,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,CAAC,MAAM,CAAC,WAAW;YAC5B,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,mCAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM,GAAG,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/E,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,UAAsB;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,mCAAyB,GAAE,CAAC;QAEtD,IAAI,CAAC,IAAI,GAAG,IAAA,iBAAY,EAAC;YACvB,OAAO;YACP,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,iBAAiB,EAAE,KAAK,EAAE,uCAAuC;SAClE,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9C,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;YAElD,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAI,cAAc,EAAE,KAAc,EAAE,MAAM,EAAE,UAAU,CAAC;gBACvE,MAAM,eAAe,GAAG,UAAU,KAAK,0BAAgB,CAAC,SAAS,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC;gBAE3D,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9D,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAE9B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,SAAS;gBAC3B,MAAM,OAAO,GAAG,IAAA,4BAAY,EAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC,KAAK,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACrC,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IACvE,KAAK,CAAC,cAAc,CAAC,OAA0B;QACrD,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO;QAEzD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3E,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,GAAG,GAAkB;YACzB,MAAM,EAAE,IAAI,CAAC,IAAK;YAClB,OAAO;YACP,IAAI;YACJ,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;SACnD,CAAC;QAEF,0EAA0E;QAC1E,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,GAAG,CAAC,KAAK,CAAC,4CAA4C,UAAU,SAAS,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,oBAAO,EAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,+FAA+F;IAC/F,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAA0B;QACnD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,gGAAgG;IAChG,KAAK,CAAC,KAAK,CAAC,OAA0B,EAAE,IAAY;QAClD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,4FAA4F;IAC5F,KAAK,CAAC,aAAa,CAAC,OAA0B;QAC5C,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,OAAO,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,QAAoB;QACrD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,UAAU,GAAG,IAAI;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,YAAsB;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,YAAsB;QAC9D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,YAAsB;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,kBAAkB,CAAC,OAAe,EAAE,YAAsB;QAC9D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,oCAAoC;IACpC,EAAE,CAA+B,KAAQ,EAAE,QAAyB;QAClE,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAwC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAA+B,KAAQ,EAAE,GAAG,IAAiC;QAC/E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AAzND,wBAyNC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { Client } from './core/Client';
|
|
2
2
|
export { FileSessionStore } from './session/FileSessionStore';
|
|
3
|
-
export { MongoSessionStore } from './session/MongoSessionStore';
|
|
4
3
|
export { MessageBuilder } from './message/MessageBuilder';
|
|
5
4
|
export { PluginLoader } from './plugin/PluginLoader';
|
|
6
5
|
export { RateLimiter } from './core/RateLimiter';
|
|
@@ -11,4 +10,5 @@ export type { NormalizedMessage, NormalizedMessageType, SessionStore, Plugin, Pl
|
|
|
11
10
|
export type { Middleware, NextFunction } from './core/Middleware';
|
|
12
11
|
export type { RateLimitConfig } from './core/RateLimiter';
|
|
13
12
|
export type { SendQueueConfig } from './core/SendQueue';
|
|
13
|
+
export type { GroupParticipantsEvent, RynkaiEvents } from './core/Client';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,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,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.downloadMedia = exports.SendQueue = exports.compose = exports.RateLimiter = exports.PluginLoader = exports.MessageBuilder = exports.
|
|
3
|
+
exports.downloadMedia = exports.SendQueue = exports.compose = exports.RateLimiter = exports.PluginLoader = exports.MessageBuilder = 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");
|
|
7
7
|
Object.defineProperty(exports, "FileSessionStore", { enumerable: true, get: function () { return FileSessionStore_1.FileSessionStore; } });
|
|
8
|
-
var MongoSessionStore_1 = require("./session/MongoSessionStore");
|
|
9
|
-
Object.defineProperty(exports, "MongoSessionStore", { enumerable: true, get: function () { return MongoSessionStore_1.MongoSessionStore; } });
|
|
10
8
|
var MessageBuilder_1 = require("./message/MessageBuilder");
|
|
11
9
|
Object.defineProperty(exports, "MessageBuilder", { enumerable: true, get: function () { return MessageBuilder_1.MessageBuilder; } });
|
|
12
10
|
var PluginLoader_1 = require("./plugin/PluginLoader");
|
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,
|
|
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,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rynkai",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
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",
|
|
@@ -33,22 +33,17 @@
|
|
|
33
33
|
"pino": "^9.4.0"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"qrcode-terminal": "^0.12.0"
|
|
37
|
-
"mongoose": "^8.0.0"
|
|
36
|
+
"qrcode-terminal": "^0.12.0"
|
|
38
37
|
},
|
|
39
38
|
"peerDependenciesMeta": {
|
|
40
39
|
"qrcode-terminal": {
|
|
41
40
|
"optional": true
|
|
42
|
-
},
|
|
43
|
-
"mongoose": {
|
|
44
|
-
"optional": true
|
|
45
41
|
}
|
|
46
42
|
},
|
|
47
43
|
"devDependencies": {
|
|
48
44
|
"typescript": "^5.5.4",
|
|
49
45
|
"ts-node-dev": "^2.0.0",
|
|
50
|
-
"@types/node": "^20.14.0"
|
|
51
|
-
"mongoose": "^8.0.0"
|
|
46
|
+
"@types/node": "^20.14.0"
|
|
52
47
|
},
|
|
53
48
|
"files": [
|
|
54
49
|
"dist"
|