simplex-chat 6.5.0-beta.4.1 → 6.5.0-beta.4.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 +1 -1
- package/binding.gyp +19 -4
- package/cpp/simplex.cc +426 -0
- package/cpp/simplex.h +46 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.js +18 -3
- package/dist/index.js.map +1 -1
- package/docs/Namespace.api.md +32 -0
- package/docs/Namespace.bot.md +20 -0
- package/docs/Namespace.core.md +48 -0
- package/docs/Namespace.util.md +25 -0
- package/docs/README.md +12 -0
- package/docs/api.Class.ChatApi.md +1602 -0
- package/docs/api.Class.ChatCommandError.md +205 -0
- package/docs/api.Enumeration.ConnReqType.md +27 -0
- package/docs/api.Interface.BotAddressSettings.md +60 -0
- package/docs/api.TypeAlias.EventSubscriberFunc.md +27 -0
- package/docs/api.TypeAlias.EventSubscribers.md +11 -0
- package/docs/api.Variable.defaultBotAddressSettings.md +11 -0
- package/docs/bot.Function.run.md +21 -0
- package/docs/bot.Interface.BotConfig.md +75 -0
- package/docs/bot.Interface.BotDbOpts.md +33 -0
- package/docs/bot.Interface.BotOptions.md +81 -0
- package/docs/core.Class.ChatAPIError.md +205 -0
- package/docs/core.Class.ChatInitError.md +205 -0
- package/docs/core.DBMigrationError.Interface.ErrorMigration.md +41 -0
- package/docs/core.DBMigrationError.Interface.ErrorNotADatabase.md +33 -0
- package/docs/core.DBMigrationError.Interface.ErrorSQL.md +41 -0
- package/docs/core.DBMigrationError.Interface.InvalidConfirmation.md +25 -0
- package/docs/core.DBMigrationError.TypeAlias.Tag.md +11 -0
- package/docs/core.Enumeration.MigrationConfirmation.md +43 -0
- package/docs/core.Function.chatCloseStore.md +23 -0
- package/docs/core.Function.chatDecryptFile.md +31 -0
- package/docs/core.Function.chatEncryptFile.md +31 -0
- package/docs/core.Function.chatMigrateInit.md +31 -0
- package/docs/core.Function.chatReadFile.md +27 -0
- package/docs/core.Function.chatRecvMsgWait.md +27 -0
- package/docs/core.Function.chatSendCmd.md +27 -0
- package/docs/core.Function.chatWriteFile.md +31 -0
- package/docs/core.Interface.APIResult.md +31 -0
- package/docs/core.Interface.CryptoArgs.md +27 -0
- package/docs/core.Interface.UpMigration.md +25 -0
- package/docs/core.MTRError.Interface.MTREDifferent.md +33 -0
- package/docs/core.MTRError.Interface.MTRENoDown.md +33 -0
- package/docs/core.MTRError.TypeAlias.Tag.md +11 -0
- package/docs/core.MigrationError.Interface.MEDowngrade.md +33 -0
- package/docs/core.MigrationError.Interface.MEUpgrade.md +33 -0
- package/docs/core.MigrationError.Interface.MigrationError.md +33 -0
- package/docs/core.MigrationError.TypeAlias.Tag.md +11 -0
- package/docs/core.Namespace.DBMigrationError.md +18 -0
- package/docs/core.Namespace.MTRError.md +16 -0
- package/docs/core.Namespace.MigrationError.md +17 -0
- package/docs/core.TypeAlias.DBMigrationError.md +11 -0
- package/docs/core.TypeAlias.MTRError.md +11 -0
- package/docs/core.TypeAlias.MigrationError.md +11 -0
- package/docs/util.Function.botAddressSettings.md +21 -0
- package/docs/util.Function.chatInfoName.md +21 -0
- package/docs/util.Function.chatInfoRef.md +21 -0
- package/docs/util.Function.ciBotCommand.md +21 -0
- package/docs/util.Function.ciContentText.md +21 -0
- package/docs/util.Function.contactAddressStr.md +21 -0
- package/docs/util.Function.fromLocalProfile.md +21 -0
- package/docs/util.Function.reactionText.md +21 -0
- package/docs/util.Function.senderName.md +25 -0
- package/docs/util.Interface.BotCommand.md +25 -0
- package/examples/squaring-bot-readme.js +17 -0
- package/examples/squaring-bot.ts +42 -0
- package/package.json +7 -3
- package/tsconfig.json +23 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[**simplex-chat**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[simplex-chat](README.md) / [util](Namespace.util.md) / reactionText
|
|
6
|
+
|
|
7
|
+
# Function: reactionText()
|
|
8
|
+
|
|
9
|
+
> **reactionText**(`reaction`): `string`
|
|
10
|
+
|
|
11
|
+
Defined in: [src/util.ts:89](../src/util.ts#L89)
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
### reaction
|
|
16
|
+
|
|
17
|
+
`ACIReaction`
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
`string`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[**simplex-chat**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[simplex-chat](README.md) / [util](Namespace.util.md) / senderName
|
|
6
|
+
|
|
7
|
+
# Function: senderName()
|
|
8
|
+
|
|
9
|
+
> **senderName**(`cInfo`, `chatDir`): `string`
|
|
10
|
+
|
|
11
|
+
Defined in: [src/util.ts:37](../src/util.ts#L37)
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
### cInfo
|
|
16
|
+
|
|
17
|
+
`ChatInfo`
|
|
18
|
+
|
|
19
|
+
### chatDir
|
|
20
|
+
|
|
21
|
+
`CIDirection`
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
`string`
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[**simplex-chat**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[simplex-chat](README.md) / [util](Namespace.util.md) / BotCommand
|
|
6
|
+
|
|
7
|
+
# Interface: BotCommand
|
|
8
|
+
|
|
9
|
+
Defined in: [src/util.ts:72](../src/util.ts#L72)
|
|
10
|
+
|
|
11
|
+
## Properties
|
|
12
|
+
|
|
13
|
+
### keyword
|
|
14
|
+
|
|
15
|
+
> **keyword**: `string`
|
|
16
|
+
|
|
17
|
+
Defined in: [src/util.ts:73](../src/util.ts#L73)
|
|
18
|
+
|
|
19
|
+
***
|
|
20
|
+
|
|
21
|
+
### params
|
|
22
|
+
|
|
23
|
+
> **params**: `string`
|
|
24
|
+
|
|
25
|
+
Defined in: [src/util.ts:74](../src/util.ts#L74)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
(async () => {
|
|
2
|
+
const {bot} = await import("../dist/index.js")
|
|
3
|
+
const [chat, _user, _address] = await bot.run({
|
|
4
|
+
profile: {displayName: "Squaring bot example", fullName: ""},
|
|
5
|
+
dbOpts: {dbFilePrefix: "./squaring_bot", dbKey: ""},
|
|
6
|
+
options: {
|
|
7
|
+
addressSettings: {welcomeMessage: "If you send me a number, I will calculate its square."},
|
|
8
|
+
},
|
|
9
|
+
onMessage: async (ci, content) => {
|
|
10
|
+
const n = +content.text
|
|
11
|
+
const reply = typeof n === "number" && !isNaN(n)
|
|
12
|
+
? `${n} * ${n} = ${n * n}`
|
|
13
|
+
: `this is not a number`
|
|
14
|
+
await chat.apiSendTextReply(ci, reply)
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
})()
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {T} from "@simplex-chat/types"
|
|
2
|
+
import {bot, util} from "../dist"
|
|
3
|
+
|
|
4
|
+
(async () => {
|
|
5
|
+
const welcomeMessage = "Hello! I am a simple squaring bot.\n\nIf you send me a number, I will calculate its square."
|
|
6
|
+
const [chat, _user, _address] = await bot.run({
|
|
7
|
+
profile: {displayName: "Squaring bot example", fullName: ""},
|
|
8
|
+
dbOpts: {dbFilePrefix: "./squaring_bot", dbKey: ""},
|
|
9
|
+
options: {
|
|
10
|
+
addressSettings: {autoAccept: true, welcomeMessage, businessAddress: false},
|
|
11
|
+
commands: [ // commands to show in client UI
|
|
12
|
+
{type: "command", keyword: "help", label: "Send welcome message"},
|
|
13
|
+
{type: "command", keyword: "info", label: "More information (not implemented)"}
|
|
14
|
+
],
|
|
15
|
+
logContacts: true,
|
|
16
|
+
logNetwork: false
|
|
17
|
+
},
|
|
18
|
+
onMessage: async (ci, content) => {
|
|
19
|
+
const n = +content.text
|
|
20
|
+
const reply = typeof n === "number" && !isNaN(n)
|
|
21
|
+
? `${n} * ${n} = ${n * n}`
|
|
22
|
+
: `this is not a number`
|
|
23
|
+
await chat.apiSendTextReply(ci, reply)
|
|
24
|
+
},
|
|
25
|
+
onCommands: { // command handlers can be different from commands to be shown in client UI
|
|
26
|
+
"help": async (ci: T.AChatItem, _cmd: util.BotCommand) => {
|
|
27
|
+
await chat.apiSendTextMessage(ci.chatInfo, welcomeMessage)
|
|
28
|
+
},
|
|
29
|
+
// fallback handler that will be called for all other commands
|
|
30
|
+
"": async (ci: T.AChatItem, _cmd: util.BotCommand) => {
|
|
31
|
+
await chat.apiSendTextReply(ci, "This command is not supported")
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
// If you use `onMessage` and subscribe to "newChatItems" event, exclude content messages from processing
|
|
35
|
+
// If you use `onCommands` and subscribe to "newChatItems" event, exclude commands from processing
|
|
36
|
+
events: {
|
|
37
|
+
"chatItemReaction": ({added, reaction}) => {
|
|
38
|
+
console.log(`${util.senderName(reaction.chatInfo, reaction.chatReaction.chatDir)} ${added ? "added" : "removed"} reaction ${util.reactionText(reaction)}`)
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
})
|
|
42
|
+
})()
|
package/package.json
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "simplex-chat",
|
|
3
|
-
"version": "6.5.0-beta.4.
|
|
3
|
+
"version": "6.5.0-beta.4.3",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
7
|
-
"dist",
|
|
8
7
|
"src",
|
|
9
|
-
"
|
|
8
|
+
"cpp",
|
|
9
|
+
"dist",
|
|
10
|
+
"binding.gyp",
|
|
11
|
+
"tsconfig.json",
|
|
12
|
+
"docs",
|
|
13
|
+
"examples"
|
|
10
14
|
],
|
|
11
15
|
"scripts": {
|
|
12
16
|
"preinstall": "node src/download-libs.js",
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"include": ["src"],
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"declaration": true,
|
|
5
|
+
"forceConsistentCasingInFileNames": true,
|
|
6
|
+
"lib": ["ES2018"],
|
|
7
|
+
"module": "CommonJS",
|
|
8
|
+
"moduleResolution": "Node",
|
|
9
|
+
"noFallthroughCasesInSwitch": true,
|
|
10
|
+
"noImplicitAny": true,
|
|
11
|
+
"noImplicitReturns": true,
|
|
12
|
+
"noImplicitThis": true,
|
|
13
|
+
"noUnusedLocals": true,
|
|
14
|
+
"noUnusedParameters": true,
|
|
15
|
+
"noEmitOnError": true,
|
|
16
|
+
"outDir": "dist",
|
|
17
|
+
"sourceMap": true,
|
|
18
|
+
"strict": true,
|
|
19
|
+
"strictNullChecks": true,
|
|
20
|
+
"target": "ES2018",
|
|
21
|
+
"types": ["node"]
|
|
22
|
+
}
|
|
23
|
+
}
|