simplex-chat 0.2.1 → 6.5.0-beta.10

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.
Files changed (116) hide show
  1. package/README.md +108 -21
  2. package/binding.gyp +50 -0
  3. package/cpp/simplex.cc +426 -0
  4. package/cpp/simplex.h +46 -0
  5. package/dist/api.d.ts +423 -0
  6. package/dist/api.js +857 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/bot.d.ts +29 -0
  9. package/dist/bot.js +189 -0
  10. package/dist/bot.js.map +1 -0
  11. package/dist/core.d.ts +128 -0
  12. package/dist/core.js +121 -0
  13. package/dist/core.js.map +1 -0
  14. package/dist/index.d.ts +19 -2
  15. package/dist/index.js +20 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/simplex.d.ts +10 -0
  18. package/dist/simplex.js +1 -0
  19. package/dist/util.d.ts +15 -0
  20. package/dist/util.js +91 -0
  21. package/dist/util.js.map +1 -0
  22. package/docs/Namespace.api.md +33 -0
  23. package/docs/Namespace.bot.md +23 -0
  24. package/docs/Namespace.core.md +48 -0
  25. package/docs/Namespace.util.md +25 -0
  26. package/docs/README.md +12 -0
  27. package/docs/api.Class.ChatApi.md +1752 -0
  28. package/docs/api.Class.ChatCommandError.md +205 -0
  29. package/docs/api.Enumeration.ConnReqType.md +27 -0
  30. package/docs/api.Interface.BotAddressSettings.md +60 -0
  31. package/docs/api.TypeAlias.DbConfig.md +64 -0
  32. package/docs/api.TypeAlias.EventSubscriberFunc.md +27 -0
  33. package/docs/api.TypeAlias.EventSubscribers.md +11 -0
  34. package/docs/api.Variable.defaultBotAddressSettings.md +11 -0
  35. package/docs/bot.Function.run.md +21 -0
  36. package/docs/bot.Interface.BotConfig.md +75 -0
  37. package/docs/bot.Interface.BotOptions.md +81 -0
  38. package/docs/bot.TypeAlias.BotDbOpts.md +17 -0
  39. package/docs/core.Class.ChatAPIError.md +205 -0
  40. package/docs/core.Class.ChatInitError.md +205 -0
  41. package/docs/core.DBMigrationError.Interface.ErrorMigration.md +41 -0
  42. package/docs/core.DBMigrationError.Interface.ErrorNotADatabase.md +33 -0
  43. package/docs/core.DBMigrationError.Interface.ErrorSQL.md +41 -0
  44. package/docs/core.DBMigrationError.Interface.InvalidConfirmation.md +25 -0
  45. package/docs/core.DBMigrationError.TypeAlias.Tag.md +11 -0
  46. package/docs/core.Enumeration.MigrationConfirmation.md +43 -0
  47. package/docs/core.Function.chatCloseStore.md +23 -0
  48. package/docs/core.Function.chatDecryptFile.md +31 -0
  49. package/docs/core.Function.chatEncryptFile.md +31 -0
  50. package/docs/core.Function.chatMigrateInit.md +31 -0
  51. package/docs/core.Function.chatReadFile.md +27 -0
  52. package/docs/core.Function.chatRecvMsgWait.md +27 -0
  53. package/docs/core.Function.chatSendCmd.md +27 -0
  54. package/docs/core.Function.chatWriteFile.md +31 -0
  55. package/docs/core.Interface.APIResult.md +31 -0
  56. package/docs/core.Interface.CryptoArgs.md +27 -0
  57. package/docs/core.Interface.UpMigration.md +25 -0
  58. package/docs/core.MTRError.Interface.MTREDifferent.md +33 -0
  59. package/docs/core.MTRError.Interface.MTRENoDown.md +33 -0
  60. package/docs/core.MTRError.TypeAlias.Tag.md +11 -0
  61. package/docs/core.MigrationError.Interface.MEDowngrade.md +33 -0
  62. package/docs/core.MigrationError.Interface.MEUpgrade.md +33 -0
  63. package/docs/core.MigrationError.Interface.MigrationError.md +33 -0
  64. package/docs/core.MigrationError.TypeAlias.Tag.md +11 -0
  65. package/docs/core.Namespace.DBMigrationError.md +18 -0
  66. package/docs/core.Namespace.MTRError.md +16 -0
  67. package/docs/core.Namespace.MigrationError.md +17 -0
  68. package/docs/core.TypeAlias.DBMigrationError.md +11 -0
  69. package/docs/core.TypeAlias.MTRError.md +11 -0
  70. package/docs/core.TypeAlias.MigrationError.md +11 -0
  71. package/docs/util.Function.botAddressSettings.md +21 -0
  72. package/docs/util.Function.chatInfoName.md +21 -0
  73. package/docs/util.Function.chatInfoRef.md +21 -0
  74. package/docs/util.Function.ciBotCommand.md +21 -0
  75. package/docs/util.Function.ciContentText.md +21 -0
  76. package/docs/util.Function.contactAddressStr.md +21 -0
  77. package/docs/util.Function.fromLocalProfile.md +21 -0
  78. package/docs/util.Function.reactionText.md +21 -0
  79. package/docs/util.Function.senderName.md +25 -0
  80. package/docs/util.Interface.BotCommand.md +25 -0
  81. package/examples/squaring-bot-pg.js +21 -0
  82. package/examples/squaring-bot-readme.js +17 -0
  83. package/examples/squaring-bot.ts +42 -0
  84. package/package.json +34 -37
  85. package/src/api.ts +939 -0
  86. package/src/bot.ts +214 -0
  87. package/src/core.ts +210 -0
  88. package/src/download-libs.js +239 -0
  89. package/src/index.ts +22 -0
  90. package/src/simplex.d.ts +10 -0
  91. package/src/simplex.js +1 -0
  92. package/src/util.ts +92 -0
  93. package/tsconfig.json +23 -0
  94. package/dist/client.d.ts +0 -76
  95. package/dist/client.js +0 -329
  96. package/dist/client.js.map +0 -1
  97. package/dist/command.d.ts +0 -412
  98. package/dist/command.js +0 -186
  99. package/dist/command.js.map +0 -1
  100. package/dist/index-web.d.ts +0 -1
  101. package/dist/index-web.js +0 -6
  102. package/dist/index-web.js.map +0 -1
  103. package/dist/index.bundle.js +0 -11
  104. package/dist/queue.d.ts +0 -24
  105. package/dist/queue.js +0 -77
  106. package/dist/queue.js.map +0 -1
  107. package/dist/response.d.ts +0 -755
  108. package/dist/response.js +0 -21
  109. package/dist/response.js.map +0 -1
  110. package/dist/test.html +0 -7
  111. package/dist/transport.d.ts +0 -51
  112. package/dist/transport.js +0 -131
  113. package/dist/transport.js.map +0 -1
  114. package/dist/websocket.d.ts +0 -8
  115. package/dist/websocket.js +0 -4
  116. package/dist/websocket.js.map +0 -1
@@ -0,0 +1,1752 @@
1
+ [**simplex-chat**](README.md)
2
+
3
+ ***
4
+
5
+ [simplex-chat](README.md) / [api](Namespace.api.md) / ChatApi
6
+
7
+ # Class: ChatApi
8
+
9
+ Defined in: [src/api.ts:97](../src/api.ts#L97)
10
+
11
+ Main API class for interacting with the chat core library.
12
+
13
+ ## Properties
14
+
15
+ ### ctrl\_
16
+
17
+ > `protected` **ctrl\_**: `bigint` \| `undefined`
18
+
19
+ Defined in: [src/api.ts:103](../src/api.ts#L103)
20
+
21
+ ## Accessors
22
+
23
+ ### ctrl
24
+
25
+ #### Get Signature
26
+
27
+ > **get** **ctrl**(): `bigint`
28
+
29
+ Defined in: [src/api.ts:329](../src/api.ts#L329)
30
+
31
+ Chat controller reference
32
+
33
+ ##### Returns
34
+
35
+ `bigint`
36
+
37
+ ***
38
+
39
+ ### initialized
40
+
41
+ #### Get Signature
42
+
43
+ > **get** **initialized**(): `boolean`
44
+
45
+ Defined in: [src/api.ts:315](../src/api.ts#L315)
46
+
47
+ Chat controller is initialized
48
+
49
+ ##### Returns
50
+
51
+ `boolean`
52
+
53
+ ***
54
+
55
+ ### started
56
+
57
+ #### Get Signature
58
+
59
+ > **get** **started**(): `boolean`
60
+
61
+ Defined in: [src/api.ts:322](../src/api.ts#L322)
62
+
63
+ Chat controller is started
64
+
65
+ ##### Returns
66
+
67
+ `boolean`
68
+
69
+ ## Methods
70
+
71
+ ### apiAcceptContactRequest()
72
+
73
+ > **apiAcceptContactRequest**(`contactReqId`): `Promise`\<`Contact`\>
74
+
75
+ Defined in: [src/api.ts:731](../src/api.ts#L731)
76
+
77
+ Accept contact request.
78
+ Network usage: interactive.
79
+
80
+ #### Parameters
81
+
82
+ ##### contactReqId
83
+
84
+ `number`
85
+
86
+ #### Returns
87
+
88
+ `Promise`\<`Contact`\>
89
+
90
+ ***
91
+
92
+ ### apiAcceptMember()
93
+
94
+ > **apiAcceptMember**(`groupId`, `groupMemberId`, `memberRole`): `Promise`\<`GroupMember`\>
95
+
96
+ Defined in: [src/api.ts:551](../src/api.ts#L551)
97
+
98
+ Accept group member. Requires Admin role.
99
+ Network usage: background.
100
+
101
+ #### Parameters
102
+
103
+ ##### groupId
104
+
105
+ `number`
106
+
107
+ ##### groupMemberId
108
+
109
+ `number`
110
+
111
+ ##### memberRole
112
+
113
+ `GroupMemberRole`
114
+
115
+ #### Returns
116
+
117
+ `Promise`\<`GroupMember`\>
118
+
119
+ ***
120
+
121
+ ### apiAddMember()
122
+
123
+ > **apiAddMember**(`groupId`, `contactId`, `memberRole`): `Promise`\<`GroupMember`\>
124
+
125
+ Defined in: [src/api.ts:531](../src/api.ts#L531)
126
+
127
+ Add contact to group. Requires bot to have Admin role.
128
+ Network usage: interactive.
129
+
130
+ #### Parameters
131
+
132
+ ##### groupId
133
+
134
+ `number`
135
+
136
+ ##### contactId
137
+
138
+ `number`
139
+
140
+ ##### memberRole
141
+
142
+ `GroupMemberRole`
143
+
144
+ #### Returns
145
+
146
+ `Promise`\<`GroupMember`\>
147
+
148
+ ***
149
+
150
+ ### apiBlockMembersForAll()
151
+
152
+ > **apiBlockMembersForAll**(`groupId`, `groupMemberIds`, `blocked`): `Promise`\<`void`\>
153
+
154
+ Defined in: [src/api.ts:571](../src/api.ts#L571)
155
+
156
+ Block members. Requires Moderator role.
157
+ Network usage: background.
158
+
159
+ #### Parameters
160
+
161
+ ##### groupId
162
+
163
+ `number`
164
+
165
+ ##### groupMemberIds
166
+
167
+ `number`[]
168
+
169
+ ##### blocked
170
+
171
+ `boolean`
172
+
173
+ #### Returns
174
+
175
+ `Promise`\<`void`\>
176
+
177
+ ***
178
+
179
+ ### apiCancelFile()
180
+
181
+ > **apiCancelFile**(`fileId`): `Promise`\<`void`\>
182
+
183
+ Defined in: [src/api.ts:521](../src/api.ts#L521)
184
+
185
+ Cancel file.
186
+ Network usage: background.
187
+
188
+ #### Parameters
189
+
190
+ ##### fileId
191
+
192
+ `number`
193
+
194
+ #### Returns
195
+
196
+ `Promise`\<`void`\>
197
+
198
+ ***
199
+
200
+ ### apiChatItemReaction()
201
+
202
+ > **apiChatItemReaction**(`chatType`, `chatId`, `chatItemId`, `add`, `reaction`): `Promise`\<`ChatItemDeletion`[]\>
203
+
204
+ Defined in: [src/api.ts:495](../src/api.ts#L495)
205
+
206
+ Add/remove message reaction.
207
+ Network usage: background.
208
+
209
+ #### Parameters
210
+
211
+ ##### chatType
212
+
213
+ `ChatType`
214
+
215
+ ##### chatId
216
+
217
+ `number`
218
+
219
+ ##### chatItemId
220
+
221
+ `number`
222
+
223
+ ##### add
224
+
225
+ `boolean`
226
+
227
+ ##### reaction
228
+
229
+ `MsgReaction`
230
+
231
+ #### Returns
232
+
233
+ `Promise`\<`ChatItemDeletion`[]\>
234
+
235
+ ***
236
+
237
+ ### apiConnect()
238
+
239
+ > **apiConnect**(`userId`, `incognito`, `preparedLink?`): `Promise`\<[`ConnReqType`](api.Enumeration.ConnReqType.md)\>
240
+
241
+ Defined in: [src/api.ts:700](../src/api.ts#L700)
242
+
243
+ Connect via prepared SimpleX link. The link can be 1-time invitation link, contact address or group link
244
+ Network usage: interactive.
245
+
246
+ #### Parameters
247
+
248
+ ##### userId
249
+
250
+ `number`
251
+
252
+ ##### incognito
253
+
254
+ `boolean`
255
+
256
+ ##### preparedLink?
257
+
258
+ `CreatedConnLink`
259
+
260
+ #### Returns
261
+
262
+ `Promise`\<[`ConnReqType`](api.Enumeration.ConnReqType.md)\>
263
+
264
+ ***
265
+
266
+ ### apiConnectActiveUser()
267
+
268
+ > **apiConnectActiveUser**(`connLink`): `Promise`\<[`ConnReqType`](api.Enumeration.ConnReqType.md)\>
269
+
270
+ Defined in: [src/api.ts:709](../src/api.ts#L709)
271
+
272
+ Connect via SimpleX link as string in the active user profile.
273
+ Network usage: interactive.
274
+
275
+ #### Parameters
276
+
277
+ ##### connLink
278
+
279
+ `string`
280
+
281
+ #### Returns
282
+
283
+ `Promise`\<[`ConnReqType`](api.Enumeration.ConnReqType.md)\>
284
+
285
+ ***
286
+
287
+ ### apiConnectPlan()
288
+
289
+ > **apiConnectPlan**(`userId`, `connectionLink`): `Promise`\<\[`ConnectionPlan`, `CreatedConnLink`\]\>
290
+
291
+ Defined in: [src/api.ts:690](../src/api.ts#L690)
292
+
293
+ Determine SimpleX link type and if the bot is already connected via this link.
294
+ Network usage: interactive.
295
+
296
+ #### Parameters
297
+
298
+ ##### userId
299
+
300
+ `number`
301
+
302
+ ##### connectionLink
303
+
304
+ `string`
305
+
306
+ #### Returns
307
+
308
+ `Promise`\<\[`ConnectionPlan`, `CreatedConnLink`\]\>
309
+
310
+ ***
311
+
312
+ ### apiCreateActiveUser()
313
+
314
+ > **apiCreateActiveUser**(`profile?`): `Promise`\<`User`\>
315
+
316
+ Defined in: [src/api.ts:849](../src/api.ts#L849)
317
+
318
+ Create new user profile
319
+ Network usage: no.
320
+
321
+ #### Parameters
322
+
323
+ ##### profile?
324
+
325
+ `Profile`
326
+
327
+ #### Returns
328
+
329
+ `Promise`\<`User`\>
330
+
331
+ ***
332
+
333
+ ### apiCreateGroupLink()
334
+
335
+ > **apiCreateGroupLink**(`groupId`, `memberRole`): `Promise`\<`string`\>
336
+
337
+ Defined in: [src/api.ts:631](../src/api.ts#L631)
338
+
339
+ Create group link.
340
+ Network usage: interactive.
341
+
342
+ #### Parameters
343
+
344
+ ##### groupId
345
+
346
+ `number`
347
+
348
+ ##### memberRole
349
+
350
+ `GroupMemberRole`
351
+
352
+ #### Returns
353
+
354
+ `Promise`\<`string`\>
355
+
356
+ ***
357
+
358
+ ### apiCreateLink()
359
+
360
+ > **apiCreateLink**(`userId`): `Promise`\<`string`\>
361
+
362
+ Defined in: [src/api.ts:677](../src/api.ts#L677)
363
+
364
+ Create 1-time invitation link.
365
+ Network usage: interactive.
366
+
367
+ #### Parameters
368
+
369
+ ##### userId
370
+
371
+ `number`
372
+
373
+ #### Returns
374
+
375
+ `Promise`\<`string`\>
376
+
377
+ ***
378
+
379
+ ### apiCreateMemberContact()
380
+
381
+ > **apiCreateMemberContact**(`groupId`, `groupMemberId`): `Promise`\<`Contact`\>
382
+
383
+ Defined in: [src/api.ts:915](../src/api.ts#L915)
384
+
385
+ Create a direct message contact with a group member.
386
+ Returns the created contact.
387
+ Network usage: interactive.
388
+
389
+ #### Parameters
390
+
391
+ ##### groupId
392
+
393
+ `number`
394
+
395
+ ##### groupMemberId
396
+
397
+ `number`
398
+
399
+ #### Returns
400
+
401
+ `Promise`\<`Contact`\>
402
+
403
+ ***
404
+
405
+ ### apiCreateUserAddress()
406
+
407
+ > **apiCreateUserAddress**(`userId`): `Promise`\<`CreatedConnLink`\>
408
+
409
+ Defined in: [src/api.ts:346](../src/api.ts#L346)
410
+
411
+ Create bot address.
412
+ Network usage: interactive.
413
+
414
+ #### Parameters
415
+
416
+ ##### userId
417
+
418
+ `number`
419
+
420
+ #### Returns
421
+
422
+ `Promise`\<`CreatedConnLink`\>
423
+
424
+ ***
425
+
426
+ ### apiDeleteChat()
427
+
428
+ > **apiDeleteChat**(`chatType`, `chatId`, `deleteMode?`): `Promise`\<`void`\>
429
+
430
+ Defined in: [src/api.ts:771](../src/api.ts#L771)
431
+
432
+ Delete chat.
433
+ Network usage: background.
434
+
435
+ #### Parameters
436
+
437
+ ##### chatType
438
+
439
+ `ChatType`
440
+
441
+ ##### chatId
442
+
443
+ `number`
444
+
445
+ ##### deleteMode?
446
+
447
+ `ChatDeleteMode` = `...`
448
+
449
+ #### Returns
450
+
451
+ `Promise`\<`void`\>
452
+
453
+ ***
454
+
455
+ ### apiDeleteChatItems()
456
+
457
+ > **apiDeleteChatItems**(`chatType`, `chatId`, `chatItemIds`, `deleteMode`): `Promise`\<`ChatItemDeletion`[]\>
458
+
459
+ Defined in: [src/api.ts:470](../src/api.ts#L470)
460
+
461
+ Delete message.
462
+ Network usage: background.
463
+
464
+ #### Parameters
465
+
466
+ ##### chatType
467
+
468
+ `ChatType`
469
+
470
+ ##### chatId
471
+
472
+ `number`
473
+
474
+ ##### chatItemIds
475
+
476
+ `number`[]
477
+
478
+ ##### deleteMode
479
+
480
+ `CIDeleteMode`
481
+
482
+ #### Returns
483
+
484
+ `Promise`\<`ChatItemDeletion`[]\>
485
+
486
+ ***
487
+
488
+ ### apiDeleteGroupLink()
489
+
490
+ > **apiDeleteGroupLink**(`groupId`): `Promise`\<`void`\>
491
+
492
+ Defined in: [src/api.ts:653](../src/api.ts#L653)
493
+
494
+ Delete group link.
495
+ Network usage: background.
496
+
497
+ #### Parameters
498
+
499
+ ##### groupId
500
+
501
+ `number`
502
+
503
+ #### Returns
504
+
505
+ `Promise`\<`void`\>
506
+
507
+ ***
508
+
509
+ ### apiDeleteMemberChatItem()
510
+
511
+ > **apiDeleteMemberChatItem**(`groupId`, `chatItemIds`): `Promise`\<`ChatItemDeletion`[]\>
512
+
513
+ Defined in: [src/api.ts:485](../src/api.ts#L485)
514
+
515
+ Moderate message. Requires Moderator role (and higher than message author's).
516
+ Network usage: background.
517
+
518
+ #### Parameters
519
+
520
+ ##### groupId
521
+
522
+ `number`
523
+
524
+ ##### chatItemIds
525
+
526
+ `number`[]
527
+
528
+ #### Returns
529
+
530
+ `Promise`\<`ChatItemDeletion`[]\>
531
+
532
+ ***
533
+
534
+ ### apiDeleteUser()
535
+
536
+ > **apiDeleteUser**(`userId`, `delSMPQueues`, `viewPwd?`): `Promise`\<`void`\>
537
+
538
+ Defined in: [src/api.ts:879](../src/api.ts#L879)
539
+
540
+ Delete user profile.
541
+ Network usage: background.
542
+
543
+ #### Parameters
544
+
545
+ ##### userId
546
+
547
+ `number`
548
+
549
+ ##### delSMPQueues
550
+
551
+ `boolean`
552
+
553
+ ##### viewPwd?
554
+
555
+ `string`
556
+
557
+ #### Returns
558
+
559
+ `Promise`\<`void`\>
560
+
561
+ ***
562
+
563
+ ### apiDeleteUserAddress()
564
+
565
+ > **apiDeleteUserAddress**(`userId`): `Promise`\<`void`\>
566
+
567
+ Defined in: [src/api.ts:356](../src/api.ts#L356)
568
+
569
+ Deletes a user address.
570
+ Network usage: background.
571
+
572
+ #### Parameters
573
+
574
+ ##### userId
575
+
576
+ `number`
577
+
578
+ #### Returns
579
+
580
+ `Promise`\<`void`\>
581
+
582
+ ***
583
+
584
+ ### apiGetActiveUser()
585
+
586
+ > **apiGetActiveUser**(): `Promise`\<`User` \| `undefined`\>
587
+
588
+ Defined in: [src/api.ts:829](../src/api.ts#L829)
589
+
590
+ Get active user profile
591
+ Network usage: no.
592
+
593
+ #### Returns
594
+
595
+ `Promise`\<`User` \| `undefined`\>
596
+
597
+ ***
598
+
599
+ ### apiGetChat()
600
+
601
+ > **apiGetChat**(`chatType`, `chatId`, `count`): `Promise`\<`any`\>
602
+
603
+ Defined in: [src/api.ts:819](../src/api.ts#L819)
604
+
605
+ Get chat items.
606
+ Network usage: no.
607
+
608
+ #### Parameters
609
+
610
+ ##### chatType
611
+
612
+ `ChatType`
613
+
614
+ ##### chatId
615
+
616
+ `number`
617
+
618
+ ##### count
619
+
620
+ `number`
621
+
622
+ #### Returns
623
+
624
+ `Promise`\<`any`\>
625
+
626
+ ***
627
+
628
+ ### apiGetGroupLink()
629
+
630
+ > **apiGetGroupLink**(`groupId`): `Promise`\<`GroupLink`\>
631
+
632
+ Defined in: [src/api.ts:662](../src/api.ts#L662)
633
+
634
+ Get group link.
635
+ Network usage: no.
636
+
637
+ #### Parameters
638
+
639
+ ##### groupId
640
+
641
+ `number`
642
+
643
+ #### Returns
644
+
645
+ `Promise`\<`GroupLink`\>
646
+
647
+ ***
648
+
649
+ ### apiGetGroupLinkStr()
650
+
651
+ > **apiGetGroupLinkStr**(`groupId`): `Promise`\<`string`\>
652
+
653
+ Defined in: [src/api.ts:668](../src/api.ts#L668)
654
+
655
+ #### Parameters
656
+
657
+ ##### groupId
658
+
659
+ `number`
660
+
661
+ #### Returns
662
+
663
+ `Promise`\<`string`\>
664
+
665
+ ***
666
+
667
+ ### apiGetUserAddress()
668
+
669
+ > **apiGetUserAddress**(`userId`): `Promise`\<`UserContactLink` \| `undefined`\>
670
+
671
+ Defined in: [src/api.ts:366](../src/api.ts#L366)
672
+
673
+ Get bot address and settings.
674
+ Network usage: no.
675
+
676
+ #### Parameters
677
+
678
+ ##### userId
679
+
680
+ `number`
681
+
682
+ #### Returns
683
+
684
+ `Promise`\<`UserContactLink` \| `undefined`\>
685
+
686
+ ***
687
+
688
+ ### apiJoinGroup()
689
+
690
+ > **apiJoinGroup**(`groupId`): `Promise`\<`GroupInfo`\>
691
+
692
+ Defined in: [src/api.ts:541](../src/api.ts#L541)
693
+
694
+ Join group.
695
+ Network usage: interactive.
696
+
697
+ #### Parameters
698
+
699
+ ##### groupId
700
+
701
+ `number`
702
+
703
+ #### Returns
704
+
705
+ `Promise`\<`GroupInfo`\>
706
+
707
+ ***
708
+
709
+ ### apiLeaveGroup()
710
+
711
+ > **apiLeaveGroup**(`groupId`): `Promise`\<`GroupInfo`\>
712
+
713
+ Defined in: [src/api.ts:591](../src/api.ts#L591)
714
+
715
+ Leave group.
716
+ Network usage: background.
717
+
718
+ #### Parameters
719
+
720
+ ##### groupId
721
+
722
+ `number`
723
+
724
+ #### Returns
725
+
726
+ `Promise`\<`GroupInfo`\>
727
+
728
+ ***
729
+
730
+ ### apiListContacts()
731
+
732
+ > **apiListContacts**(`userId`): `Promise`\<`Contact`[]\>
733
+
734
+ Defined in: [src/api.ts:751](../src/api.ts#L751)
735
+
736
+ Get contacts.
737
+ Network usage: no.
738
+
739
+ #### Parameters
740
+
741
+ ##### userId
742
+
743
+ `number`
744
+
745
+ #### Returns
746
+
747
+ `Promise`\<`Contact`[]\>
748
+
749
+ ***
750
+
751
+ ### apiListGroups()
752
+
753
+ > **apiListGroups**(`userId`, `contactId?`, `search?`): `Promise`\<`GroupInfo`[]\>
754
+
755
+ Defined in: [src/api.ts:761](../src/api.ts#L761)
756
+
757
+ Get groups.
758
+ Network usage: no.
759
+
760
+ #### Parameters
761
+
762
+ ##### userId
763
+
764
+ `number`
765
+
766
+ ##### contactId?
767
+
768
+ `number`
769
+
770
+ ##### search?
771
+
772
+ `string`
773
+
774
+ #### Returns
775
+
776
+ `Promise`\<`GroupInfo`[]\>
777
+
778
+ ***
779
+
780
+ ### apiListMembers()
781
+
782
+ > **apiListMembers**(`groupId`): `Promise`\<`GroupMember`[]\>
783
+
784
+ Defined in: [src/api.ts:601](../src/api.ts#L601)
785
+
786
+ Get group members.
787
+ Network usage: no.
788
+
789
+ #### Parameters
790
+
791
+ ##### groupId
792
+
793
+ `number`
794
+
795
+ #### Returns
796
+
797
+ `Promise`\<`GroupMember`[]\>
798
+
799
+ ***
800
+
801
+ ### apiListUsers()
802
+
803
+ > **apiListUsers**(): `Promise`\<`UserInfo`[]\>
804
+
805
+ Defined in: [src/api.ts:859](../src/api.ts#L859)
806
+
807
+ Get all user profiles
808
+ Network usage: no.
809
+
810
+ #### Returns
811
+
812
+ `Promise`\<`UserInfo`[]\>
813
+
814
+ ***
815
+
816
+ ### apiNewGroup()
817
+
818
+ > **apiNewGroup**(`userId`, `groupProfile`): `Promise`\<`GroupInfo`\>
819
+
820
+ Defined in: [src/api.ts:611](../src/api.ts#L611)
821
+
822
+ Create group.
823
+ Network usage: no.
824
+
825
+ #### Parameters
826
+
827
+ ##### userId
828
+
829
+ `number`
830
+
831
+ ##### groupProfile
832
+
833
+ `GroupProfile`
834
+
835
+ #### Returns
836
+
837
+ `Promise`\<`GroupInfo`\>
838
+
839
+ ***
840
+
841
+ ### apiReceiveFile()
842
+
843
+ > **apiReceiveFile**(`fileId`): `Promise`\<`AChatItem`\>
844
+
845
+ Defined in: [src/api.ts:511](../src/api.ts#L511)
846
+
847
+ Receive file.
848
+ Network usage: no.
849
+
850
+ #### Parameters
851
+
852
+ ##### fileId
853
+
854
+ `number`
855
+
856
+ #### Returns
857
+
858
+ `Promise`\<`AChatItem`\>
859
+
860
+ ***
861
+
862
+ ### apiRejectContactRequest()
863
+
864
+ > **apiRejectContactRequest**(`contactReqId`): `Promise`\<`void`\>
865
+
866
+ Defined in: [src/api.ts:741](../src/api.ts#L741)
867
+
868
+ Reject contact request. The user who sent the request is **not notified**.
869
+ Network usage: no.
870
+
871
+ #### Parameters
872
+
873
+ ##### contactReqId
874
+
875
+ `number`
876
+
877
+ #### Returns
878
+
879
+ `Promise`\<`void`\>
880
+
881
+ ***
882
+
883
+ ### apiRemoveMembers()
884
+
885
+ > **apiRemoveMembers**(`groupId`, `memberIds`, `withMessages?`): `Promise`\<`GroupMember`[]\>
886
+
887
+ Defined in: [src/api.ts:581](../src/api.ts#L581)
888
+
889
+ Remove members. Requires Admin role.
890
+ Network usage: background.
891
+
892
+ #### Parameters
893
+
894
+ ##### groupId
895
+
896
+ `number`
897
+
898
+ ##### memberIds
899
+
900
+ `number`[]
901
+
902
+ ##### withMessages?
903
+
904
+ `boolean` = `false`
905
+
906
+ #### Returns
907
+
908
+ `Promise`\<`GroupMember`[]\>
909
+
910
+ ***
911
+
912
+ ### apiSendMemberContactInvitation()
913
+
914
+ > **apiSendMemberContactInvitation**(`contactId`, `message?`): `Promise`\<`Contact`\>
915
+
916
+ Defined in: [src/api.ts:926](../src/api.ts#L926)
917
+
918
+ Send a direct message invitation to a group member contact.
919
+ The contact must have been created with [apiCreateMemberContact](#apicreatemembercontact).
920
+ Network usage: interactive.
921
+
922
+ #### Parameters
923
+
924
+ ##### contactId
925
+
926
+ `number`
927
+
928
+ ##### message?
929
+
930
+ `string` \| `MsgContent`
931
+
932
+ #### Returns
933
+
934
+ `Promise`\<`Contact`\>
935
+
936
+ ***
937
+
938
+ ### apiSendMessages()
939
+
940
+ > **apiSendMessages**(`chat`, `messages`, `liveMessage?`): `Promise`\<`AChatItem`[]\>
941
+
942
+ Defined in: [src/api.ts:415](../src/api.ts#L415)
943
+
944
+ Send messages.
945
+ Network usage: background.
946
+
947
+ #### Parameters
948
+
949
+ ##### chat
950
+
951
+ `ChatInfo` \| `ChatRef` \| \[`ChatType`, `number`\]
952
+
953
+ ##### messages
954
+
955
+ `ComposedMessage`[]
956
+
957
+ ##### liveMessage?
958
+
959
+ `boolean` = `false`
960
+
961
+ #### Returns
962
+
963
+ `Promise`\<`AChatItem`[]\>
964
+
965
+ ***
966
+
967
+ ### apiSendTextMessage()
968
+
969
+ > **apiSendTextMessage**(`chat`, `text`, `inReplyTo?`): `Promise`\<`AChatItem`[]\>
970
+
971
+ Defined in: [src/api.ts:437](../src/api.ts#L437)
972
+
973
+ Send text message.
974
+ Network usage: background.
975
+
976
+ #### Parameters
977
+
978
+ ##### chat
979
+
980
+ `ChatInfo` \| `ChatRef` \| \[`ChatType`, `number`\]
981
+
982
+ ##### text
983
+
984
+ `string`
985
+
986
+ ##### inReplyTo?
987
+
988
+ `number`
989
+
990
+ #### Returns
991
+
992
+ `Promise`\<`AChatItem`[]\>
993
+
994
+ ***
995
+
996
+ ### apiSendTextReply()
997
+
998
+ > **apiSendTextReply**(`chatItem`, `text`): `Promise`\<`AChatItem`[]\>
999
+
1000
+ Defined in: [src/api.ts:445](../src/api.ts#L445)
1001
+
1002
+ Send text message in reply to received message.
1003
+ Network usage: background.
1004
+
1005
+ #### Parameters
1006
+
1007
+ ##### chatItem
1008
+
1009
+ `AChatItem`
1010
+
1011
+ ##### text
1012
+
1013
+ `string`
1014
+
1015
+ #### Returns
1016
+
1017
+ `Promise`\<`AChatItem`[]\>
1018
+
1019
+ ***
1020
+
1021
+ ### apiSetActiveUser()
1022
+
1023
+ > **apiSetActiveUser**(`userId`, `viewPwd?`): `Promise`\<`User`\>
1024
+
1025
+ Defined in: [src/api.ts:869](../src/api.ts#L869)
1026
+
1027
+ Set active user profile
1028
+ Network usage: no.
1029
+
1030
+ #### Parameters
1031
+
1032
+ ##### userId
1033
+
1034
+ `number`
1035
+
1036
+ ##### viewPwd?
1037
+
1038
+ `string`
1039
+
1040
+ #### Returns
1041
+
1042
+ `Promise`\<`User`\>
1043
+
1044
+ ***
1045
+
1046
+ ### apiSetAddressSettings()
1047
+
1048
+ > **apiSetAddressSettings**(`userId`, `__namedParameters`): `Promise`\<`void`\>
1049
+
1050
+ Defined in: [src/api.ts:398](../src/api.ts#L398)
1051
+
1052
+ Set bot address settings.
1053
+ Network usage: interactive.
1054
+
1055
+ #### Parameters
1056
+
1057
+ ##### userId
1058
+
1059
+ `number`
1060
+
1061
+ ##### \_\_namedParameters
1062
+
1063
+ [`BotAddressSettings`](api.Interface.BotAddressSettings.md)
1064
+
1065
+ #### Returns
1066
+
1067
+ `Promise`\<`void`\>
1068
+
1069
+ ***
1070
+
1071
+ ### apiSetAutoAcceptMemberContacts()
1072
+
1073
+ > **apiSetAutoAcceptMemberContacts**(`userId`, `onOff`): `Promise`\<`void`\>
1074
+
1075
+ Defined in: [src/api.ts:808](../src/api.ts#L808)
1076
+
1077
+ Set auto-accept member contacts.
1078
+ Network usage: no.
1079
+
1080
+ #### Parameters
1081
+
1082
+ ##### userId
1083
+
1084
+ `number`
1085
+
1086
+ ##### onOff
1087
+
1088
+ `boolean`
1089
+
1090
+ #### Returns
1091
+
1092
+ `Promise`\<`void`\>
1093
+
1094
+ ***
1095
+
1096
+ ### apiSetContactCustomData()
1097
+
1098
+ > **apiSetContactCustomData**(`contactId`, `customData?`): `Promise`\<`void`\>
1099
+
1100
+ Defined in: [src/api.ts:798](../src/api.ts#L798)
1101
+
1102
+ Set contact custom data.
1103
+ Network usage: no.
1104
+
1105
+ #### Parameters
1106
+
1107
+ ##### contactId
1108
+
1109
+ `number`
1110
+
1111
+ ##### customData?
1112
+
1113
+ `object`
1114
+
1115
+ #### Returns
1116
+
1117
+ `Promise`\<`void`\>
1118
+
1119
+ ***
1120
+
1121
+ ### apiSetContactPrefs()
1122
+
1123
+ > **apiSetContactPrefs**(`contactId`, `preferences`): `Promise`\<`void`\>
1124
+
1125
+ Defined in: [src/api.ts:905](../src/api.ts#L905)
1126
+
1127
+ Configure chat preference overrides for the contact.
1128
+ Network usage: background.
1129
+
1130
+ #### Parameters
1131
+
1132
+ ##### contactId
1133
+
1134
+ `number`
1135
+
1136
+ ##### preferences
1137
+
1138
+ `Preferences`
1139
+
1140
+ #### Returns
1141
+
1142
+ `Promise`\<`void`\>
1143
+
1144
+ ***
1145
+
1146
+ ### apiSetGroupCustomData()
1147
+
1148
+ > **apiSetGroupCustomData**(`groupId`, `customData?`): `Promise`\<`void`\>
1149
+
1150
+ Defined in: [src/api.ts:788](../src/api.ts#L788)
1151
+
1152
+ Set group custom data.
1153
+ Network usage: no.
1154
+
1155
+ #### Parameters
1156
+
1157
+ ##### groupId
1158
+
1159
+ `number`
1160
+
1161
+ ##### customData?
1162
+
1163
+ `object`
1164
+
1165
+ #### Returns
1166
+
1167
+ `Promise`\<`void`\>
1168
+
1169
+ ***
1170
+
1171
+ ### apiSetGroupLinkMemberRole()
1172
+
1173
+ > **apiSetGroupLinkMemberRole**(`groupId`, `memberRole`): `Promise`\<`void`\>
1174
+
1175
+ Defined in: [src/api.ts:644](../src/api.ts#L644)
1176
+
1177
+ Set member role for group link.
1178
+ Network usage: no.
1179
+
1180
+ #### Parameters
1181
+
1182
+ ##### groupId
1183
+
1184
+ `number`
1185
+
1186
+ ##### memberRole
1187
+
1188
+ `GroupMemberRole`
1189
+
1190
+ #### Returns
1191
+
1192
+ `Promise`\<`void`\>
1193
+
1194
+ ***
1195
+
1196
+ ### apiSetMembersRole()
1197
+
1198
+ > **apiSetMembersRole**(`groupId`, `groupMemberIds`, `memberRole`): `Promise`\<`void`\>
1199
+
1200
+ Defined in: [src/api.ts:561](../src/api.ts#L561)
1201
+
1202
+ Set members role. Requires Admin role.
1203
+ Network usage: background.
1204
+
1205
+ #### Parameters
1206
+
1207
+ ##### groupId
1208
+
1209
+ `number`
1210
+
1211
+ ##### groupMemberIds
1212
+
1213
+ `number`[]
1214
+
1215
+ ##### memberRole
1216
+
1217
+ `GroupMemberRole`
1218
+
1219
+ #### Returns
1220
+
1221
+ `Promise`\<`void`\>
1222
+
1223
+ ***
1224
+
1225
+ ### apiSetProfileAddress()
1226
+
1227
+ > **apiSetProfileAddress**(`userId`, `enable`): `Promise`\<`UserProfileUpdateSummary`\>
1228
+
1229
+ Defined in: [src/api.ts:384](../src/api.ts#L384)
1230
+
1231
+ Add address to bot profile.
1232
+ Network usage: interactive.
1233
+
1234
+ #### Parameters
1235
+
1236
+ ##### userId
1237
+
1238
+ `number`
1239
+
1240
+ ##### enable
1241
+
1242
+ `boolean`
1243
+
1244
+ #### Returns
1245
+
1246
+ `Promise`\<`UserProfileUpdateSummary`\>
1247
+
1248
+ ***
1249
+
1250
+ ### apiUpdateChatItem()
1251
+
1252
+ > **apiUpdateChatItem**(`chatType`, `chatId`, `chatItemId`, `msgContent`, `liveMessage`): `Promise`\<`ChatItem`\>
1253
+
1254
+ Defined in: [src/api.ts:453](../src/api.ts#L453)
1255
+
1256
+ Update message.
1257
+ Network usage: background.
1258
+
1259
+ #### Parameters
1260
+
1261
+ ##### chatType
1262
+
1263
+ `ChatType`
1264
+
1265
+ ##### chatId
1266
+
1267
+ `number`
1268
+
1269
+ ##### chatItemId
1270
+
1271
+ `number`
1272
+
1273
+ ##### msgContent
1274
+
1275
+ `MsgContent`
1276
+
1277
+ ##### liveMessage
1278
+
1279
+ `false`
1280
+
1281
+ #### Returns
1282
+
1283
+ `Promise`\<`ChatItem`\>
1284
+
1285
+ ***
1286
+
1287
+ ### apiUpdateGroupProfile()
1288
+
1289
+ > **apiUpdateGroupProfile**(`groupId`, `groupProfile`): `Promise`\<`GroupInfo`\>
1290
+
1291
+ Defined in: [src/api.ts:621](../src/api.ts#L621)
1292
+
1293
+ Update group profile.
1294
+ Network usage: background.
1295
+
1296
+ #### Parameters
1297
+
1298
+ ##### groupId
1299
+
1300
+ `number`
1301
+
1302
+ ##### groupProfile
1303
+
1304
+ `GroupProfile`
1305
+
1306
+ #### Returns
1307
+
1308
+ `Promise`\<`GroupInfo`\>
1309
+
1310
+ ***
1311
+
1312
+ ### apiUpdateProfile()
1313
+
1314
+ > **apiUpdateProfile**(`userId`, `profile`): `Promise`\<`UserProfileUpdateSummary` \| `undefined`\>
1315
+
1316
+ Defined in: [src/api.ts:889](../src/api.ts#L889)
1317
+
1318
+ Update user profile.
1319
+ Network usage: background.
1320
+
1321
+ #### Parameters
1322
+
1323
+ ##### userId
1324
+
1325
+ `number`
1326
+
1327
+ ##### profile
1328
+
1329
+ `Profile`
1330
+
1331
+ #### Returns
1332
+
1333
+ `Promise`\<`UserProfileUpdateSummary` \| `undefined`\>
1334
+
1335
+ ***
1336
+
1337
+ ### close()
1338
+
1339
+ > **close**(): `Promise`\<`void`\>
1340
+
1341
+ Defined in: [src/api.ts:148](../src/api.ts#L148)
1342
+
1343
+ Close chat database.
1344
+ Usually doesn't need to be called in chat bots.
1345
+
1346
+ #### Returns
1347
+
1348
+ `Promise`\<`void`\>
1349
+
1350
+ ***
1351
+
1352
+ ### off()
1353
+
1354
+ > **off**\<`K`\>(`event`, `subscriber?`): `void`
1355
+
1356
+ Defined in: [src/api.ts:287](../src/api.ts#L287)
1357
+
1358
+ Unsubscribe all or a specific handler from a specific event.
1359
+
1360
+ #### Type Parameters
1361
+
1362
+ ##### K
1363
+
1364
+ `K` *extends* `Tag`
1365
+
1366
+ #### Parameters
1367
+
1368
+ ##### event
1369
+
1370
+ `K`
1371
+
1372
+ The event type to unsubscribe from.
1373
+
1374
+ ##### subscriber?
1375
+
1376
+ [`EventSubscriberFunc`](api.TypeAlias.EventSubscriberFunc.md)\<`K`\> \| `undefined`
1377
+
1378
+ An optional subscriber function for the event.
1379
+
1380
+ #### Returns
1381
+
1382
+ `void`
1383
+
1384
+ ***
1385
+
1386
+ ### offAny()
1387
+
1388
+ > **offAny**(`receiver?`): `void`
1389
+
1390
+ Defined in: [src/api.ts:303](../src/api.ts#L303)
1391
+
1392
+ Unsubscribe all or a specific handler from any events.
1393
+
1394
+ #### Parameters
1395
+
1396
+ ##### receiver?
1397
+
1398
+ [`EventSubscriberFunc`](api.TypeAlias.EventSubscriberFunc.md)\<`Tag`\> \| `undefined`
1399
+
1400
+ An optional subscriber function for the event.
1401
+
1402
+ #### Returns
1403
+
1404
+ `void`
1405
+
1406
+ ***
1407
+
1408
+ ### on()
1409
+
1410
+ #### Call Signature
1411
+
1412
+ > **on**\<`K`\>(`subscribers`): `void`
1413
+
1414
+ Defined in: [src/api.ts:197](../src/api.ts#L197)
1415
+
1416
+ Subscribe multiple event handlers at once.
1417
+
1418
+ ##### Type Parameters
1419
+
1420
+ ###### K
1421
+
1422
+ `K` *extends* `Tag`
1423
+
1424
+ ##### Parameters
1425
+
1426
+ ###### subscribers
1427
+
1428
+ [`EventSubscribers`](api.TypeAlias.EventSubscribers.md)
1429
+
1430
+ An object mapping event types (CEvt.Tag) to their subscriber functions.
1431
+
1432
+ ##### Returns
1433
+
1434
+ `void`
1435
+
1436
+ ##### Throws
1437
+
1438
+ If the same function is subscribed to event.
1439
+
1440
+ #### Call Signature
1441
+
1442
+ > **on**\<`K`\>(`event`, `subscriber`): `void`
1443
+
1444
+ Defined in: [src/api.ts:205](../src/api.ts#L205)
1445
+
1446
+ Subscribe a handler to a specific event.
1447
+
1448
+ ##### Type Parameters
1449
+
1450
+ ###### K
1451
+
1452
+ `K` *extends* `Tag`
1453
+
1454
+ ##### Parameters
1455
+
1456
+ ###### event
1457
+
1458
+ `K`
1459
+
1460
+ The event type to subscribe to.
1461
+
1462
+ ###### subscriber
1463
+
1464
+ [`EventSubscriberFunc`](api.TypeAlias.EventSubscriberFunc.md)\<`K`\>
1465
+
1466
+ The subscriber function for the event.
1467
+
1468
+ ##### Returns
1469
+
1470
+ `void`
1471
+
1472
+ ##### Throws
1473
+
1474
+ If the same function is subscribed to event.
1475
+
1476
+ ***
1477
+
1478
+ ### onAny()
1479
+
1480
+ > **onAny**(`receiver`): `void`
1481
+
1482
+ Defined in: [src/api.ts:228](../src/api.ts#L228)
1483
+
1484
+ Subscribe a handler to any event.
1485
+
1486
+ #### Parameters
1487
+
1488
+ ##### receiver
1489
+
1490
+ [`EventSubscriberFunc`](api.TypeAlias.EventSubscriberFunc.md)\<`Tag`\>
1491
+
1492
+ The receiver function for any event.
1493
+
1494
+ #### Returns
1495
+
1496
+ `void`
1497
+
1498
+ #### Throws
1499
+
1500
+ If the same function is subscribed to event.
1501
+
1502
+ ***
1503
+
1504
+ ### once()
1505
+
1506
+ > **once**\<`K`\>(`event`, `subscriber`): `void`
1507
+
1508
+ Defined in: [src/api.ts:239](../src/api.ts#L239)
1509
+
1510
+ Subscribe a handler to a specific event to be delivered one time.
1511
+
1512
+ #### Type Parameters
1513
+
1514
+ ##### K
1515
+
1516
+ `K` *extends* `Tag`
1517
+
1518
+ #### Parameters
1519
+
1520
+ ##### event
1521
+
1522
+ `K`
1523
+
1524
+ The event type to subscribe to.
1525
+
1526
+ ##### subscriber
1527
+
1528
+ [`EventSubscriberFunc`](api.TypeAlias.EventSubscriberFunc.md)\<`K`\>
1529
+
1530
+ The subscriber function for the event.
1531
+
1532
+ #### Returns
1533
+
1534
+ `void`
1535
+
1536
+ #### Throws
1537
+
1538
+ If the same function is subscribed to event.
1539
+
1540
+ ***
1541
+
1542
+ ### recvChatEvent()
1543
+
1544
+ > **recvChatEvent**(`wait?`): `Promise`\<`ChatEvent` \| `undefined`\>
1545
+
1546
+ Defined in: [src/api.ts:338](../src/api.ts#L338)
1547
+
1548
+ #### Parameters
1549
+
1550
+ ##### wait?
1551
+
1552
+ `number` = `5_000_000`
1553
+
1554
+ #### Returns
1555
+
1556
+ `Promise`\<`ChatEvent` \| `undefined`\>
1557
+
1558
+ ***
1559
+
1560
+ ### sendChatCmd()
1561
+
1562
+ > **sendChatCmd**(`cmd`): `Promise`\<`ChatResponse`\>
1563
+
1564
+ Defined in: [src/api.ts:334](../src/api.ts#L334)
1565
+
1566
+ #### Parameters
1567
+
1568
+ ##### cmd
1569
+
1570
+ `string`
1571
+
1572
+ #### Returns
1573
+
1574
+ `Promise`\<`ChatResponse`\>
1575
+
1576
+ ***
1577
+
1578
+ ### startChat()
1579
+
1580
+ > **startChat**(): `Promise`\<`void`\>
1581
+
1582
+ Defined in: [src/api.ts:122](../src/api.ts#L122)
1583
+
1584
+ Start chat controller. Must be called with the existing user profile.
1585
+
1586
+ #### Returns
1587
+
1588
+ `Promise`\<`void`\>
1589
+
1590
+ ***
1591
+
1592
+ ### stopChat()
1593
+
1594
+ > **stopChat**(): `Promise`\<`void`\>
1595
+
1596
+ Defined in: [src/api.ts:136](../src/api.ts#L136)
1597
+
1598
+ Stop chat controller.
1599
+ Must be called before closing the database.
1600
+ Usually doesn't need to be called in chat bots.
1601
+
1602
+ #### Returns
1603
+
1604
+ `Promise`\<`void`\>
1605
+
1606
+ ***
1607
+
1608
+ ### wait()
1609
+
1610
+ #### Call Signature
1611
+
1612
+ > **wait**\<`K`\>(`event`): `Promise`\<`ChatEvent` & `object`\>
1613
+
1614
+ Defined in: [src/api.ts:247](../src/api.ts#L247)
1615
+
1616
+ Waits for specific event, with an optional predicate.
1617
+ Returns `undefined` on timeout if specified.
1618
+
1619
+ ##### Type Parameters
1620
+
1621
+ ###### K
1622
+
1623
+ `K` *extends* `Tag`
1624
+
1625
+ ##### Parameters
1626
+
1627
+ ###### event
1628
+
1629
+ `K`
1630
+
1631
+ ##### Returns
1632
+
1633
+ `Promise`\<`ChatEvent` & `object`\>
1634
+
1635
+ #### Call Signature
1636
+
1637
+ > **wait**\<`K`\>(`event`, `predicate`): `Promise`\<`ChatEvent` & `object`\>
1638
+
1639
+ Defined in: [src/api.ts:248](../src/api.ts#L248)
1640
+
1641
+ Waits for specific event, with an optional predicate.
1642
+ Returns `undefined` on timeout if specified.
1643
+
1644
+ ##### Type Parameters
1645
+
1646
+ ###### K
1647
+
1648
+ `K` *extends* `Tag`
1649
+
1650
+ ##### Parameters
1651
+
1652
+ ###### event
1653
+
1654
+ `K`
1655
+
1656
+ ###### predicate
1657
+
1658
+ ((`event`) => `boolean`) \| `undefined`
1659
+
1660
+ ##### Returns
1661
+
1662
+ `Promise`\<`ChatEvent` & `object`\>
1663
+
1664
+ #### Call Signature
1665
+
1666
+ > **wait**\<`K`\>(`event`, `timeout`): `Promise`\<ChatEvent & \{ type: K; \} \| `undefined`\>
1667
+
1668
+ Defined in: [src/api.ts:249](../src/api.ts#L249)
1669
+
1670
+ Waits for specific event, with an optional predicate.
1671
+ Returns `undefined` on timeout if specified.
1672
+
1673
+ ##### Type Parameters
1674
+
1675
+ ###### K
1676
+
1677
+ `K` *extends* `Tag`
1678
+
1679
+ ##### Parameters
1680
+
1681
+ ###### event
1682
+
1683
+ `K`
1684
+
1685
+ ###### timeout
1686
+
1687
+ `number`
1688
+
1689
+ ##### Returns
1690
+
1691
+ `Promise`\<ChatEvent & \{ type: K; \} \| `undefined`\>
1692
+
1693
+ #### Call Signature
1694
+
1695
+ > **wait**\<`K`\>(`event`, `predicate`, `timeout`): `Promise`\<ChatEvent & \{ type: K; \} \| `undefined`\>
1696
+
1697
+ Defined in: [src/api.ts:250](../src/api.ts#L250)
1698
+
1699
+ Waits for specific event, with an optional predicate.
1700
+ Returns `undefined` on timeout if specified.
1701
+
1702
+ ##### Type Parameters
1703
+
1704
+ ###### K
1705
+
1706
+ `K` *extends* `Tag`
1707
+
1708
+ ##### Parameters
1709
+
1710
+ ###### event
1711
+
1712
+ `K`
1713
+
1714
+ ###### predicate
1715
+
1716
+ ((`event`) => `boolean`) \| `undefined`
1717
+
1718
+ ###### timeout
1719
+
1720
+ `number`
1721
+
1722
+ ##### Returns
1723
+
1724
+ `Promise`\<ChatEvent & \{ type: K; \} \| `undefined`\>
1725
+
1726
+ ***
1727
+
1728
+ ### init()
1729
+
1730
+ > `static` **init**(`db`, `confirm?`): `Promise`\<`ChatApi`\>
1731
+
1732
+ Defined in: [src/api.ts:110](../src/api.ts#L110)
1733
+
1734
+ Initializes the ChatApi.
1735
+
1736
+ #### Parameters
1737
+
1738
+ ##### db
1739
+
1740
+ [`DbConfig`](api.TypeAlias.DbConfig.md)
1741
+
1742
+ Database configuration (sqlite or postgres).
1743
+
1744
+ ##### confirm?
1745
+
1746
+ [`MigrationConfirmation`](core.Enumeration.MigrationConfirmation.md) = `core.MigrationConfirmation.YesUp`
1747
+
1748
+ Migration confirmation mode.
1749
+
1750
+ #### Returns
1751
+
1752
+ `Promise`\<`ChatApi`\>