@maxhub/max-bot-api 0.2.1
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/LICENSE +20 -0
- package/dist/api.d.ts +42 -0
- package/dist/api.js +144 -0
- package/dist/bot.d.ts +26 -0
- package/dist/bot.js +70 -0
- package/dist/composer.d.ts +22 -0
- package/dist/composer.js +130 -0
- package/dist/context.d.ts +85 -0
- package/dist/context.js +252 -0
- package/dist/core/helpers/attachments.d.ts +70 -0
- package/dist/core/helpers/attachments.js +127 -0
- package/dist/core/helpers/buttons.d.ts +8 -0
- package/dist/core/helpers/buttons.js +33 -0
- package/dist/core/helpers/keyboard.d.ts +3 -0
- package/dist/core/helpers/keyboard.js +34 -0
- package/dist/core/helpers/types.d.ts +7 -0
- package/dist/core/helpers/types.js +2 -0
- package/dist/core/helpers/upload.d.ts +47 -0
- package/dist/core/helpers/upload.js +166 -0
- package/dist/core/network/api/base-api.d.ts +14 -0
- package/dist/core/network/api/base-api.js +35 -0
- package/dist/core/network/api/client.d.ts +23 -0
- package/dist/core/network/api/client.js +72 -0
- package/dist/core/network/api/error.d.ts +11 -0
- package/dist/core/network/api/error.js +17 -0
- package/dist/core/network/api/index.d.ts +5 -0
- package/dist/core/network/api/index.js +25 -0
- package/dist/core/network/api/modules/bots/api.d.ts +7 -0
- package/dist/core/network/api/modules/bots/api.js +16 -0
- package/dist/core/network/api/modules/bots/types.d.ts +11 -0
- package/dist/core/network/api/modules/bots/types.js +2 -0
- package/dist/core/network/api/modules/chats/api.d.ts +19 -0
- package/dist/core/network/api/modules/chats/api.js +83 -0
- package/dist/core/network/api/modules/chats/types.d.ts +109 -0
- package/dist/core/network/api/modules/chats/types.js +2 -0
- package/dist/core/network/api/modules/index.d.ts +12 -0
- package/dist/core/network/api/modules/index.js +34 -0
- package/dist/core/network/api/modules/messages/api.d.ts +17 -0
- package/dist/core/network/api/modules/messages/api.js +59 -0
- package/dist/core/network/api/modules/messages/types.d.ts +70 -0
- package/dist/core/network/api/modules/messages/types.js +2 -0
- package/dist/core/network/api/modules/subscriptions/api.d.ts +6 -0
- package/dist/core/network/api/modules/subscriptions/api.js +13 -0
- package/dist/core/network/api/modules/subscriptions/types.d.ts +13 -0
- package/dist/core/network/api/modules/subscriptions/types.js +2 -0
- package/dist/core/network/api/modules/types.d.ts +118 -0
- package/dist/core/network/api/modules/types.js +19 -0
- package/dist/core/network/api/modules/uploads/api.d.ts +6 -0
- package/dist/core/network/api/modules/uploads/api.js +13 -0
- package/dist/core/network/api/modules/uploads/types.d.ts +9 -0
- package/dist/core/network/api/modules/uploads/types.js +2 -0
- package/dist/core/network/api/raw-api.d.ts +169 -0
- package/dist/core/network/api/raw-api.js +29 -0
- package/dist/core/network/api/types/attachment-request.d.ts +68 -0
- package/dist/core/network/api/types/attachment-request.js +2 -0
- package/dist/core/network/api/types/attachment.d.ts +67 -0
- package/dist/core/network/api/types/attachment.js +2 -0
- package/dist/core/network/api/types/bot.d.ts +8 -0
- package/dist/core/network/api/types/bot.js +2 -0
- package/dist/core/network/api/types/chat.d.ts +41 -0
- package/dist/core/network/api/types/chat.js +2 -0
- package/dist/core/network/api/types/common.d.ts +9 -0
- package/dist/core/network/api/types/common.js +2 -0
- package/dist/core/network/api/types/index.d.ts +11 -0
- package/dist/core/network/api/types/index.js +27 -0
- package/dist/core/network/api/types/keyboard.d.ts +30 -0
- package/dist/core/network/api/types/keyboard.js +2 -0
- package/dist/core/network/api/types/markup.d.ts +13 -0
- package/dist/core/network/api/types/markup.js +2 -0
- package/dist/core/network/api/types/message.d.ts +38 -0
- package/dist/core/network/api/types/message.js +2 -0
- package/dist/core/network/api/types/subcription.d.ts +85 -0
- package/dist/core/network/api/types/subcription.js +2 -0
- package/dist/core/network/api/types/uploads.d.ts +1 -0
- package/dist/core/network/api/types/uploads.js +2 -0
- package/dist/core/network/api/types/user.d.ts +14 -0
- package/dist/core/network/api/types/user.js +2 -0
- package/dist/core/network/polling.d.ts +11 -0
- package/dist/core/network/polling.js +51 -0
- package/dist/filters.d.ts +2 -0
- package/dist/filters.js +17 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +45 -0
- package/dist/middleware.d.ts +9 -0
- package/dist/middleware.js +2 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +17 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +24 -0
- package/package.json +55 -0
- package/readme.md +62 -0
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@maxhub/max-bot-api",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Max Bot Framework",
|
|
5
|
+
"repository": "https://github.com/max-messenger/max-bot-api-client-ts",
|
|
6
|
+
"author": "Juice Development",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"engines": {
|
|
9
|
+
"node": ">=18.18.0"
|
|
10
|
+
},
|
|
11
|
+
"main": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"files": [
|
|
14
|
+
"./dist/"
|
|
15
|
+
],
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"default": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./types": {
|
|
22
|
+
"types": "./dist/types.d.ts",
|
|
23
|
+
"default": "./dist/types.js"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"typesVersions": {
|
|
27
|
+
"*": {
|
|
28
|
+
"types": [
|
|
29
|
+
"./dist/types.d.ts"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "tsc",
|
|
35
|
+
"lint": "eslint ./src --ext ts --report-unused-disable-directives"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/debug": "^4.1.12",
|
|
39
|
+
"@types/node": "^22.5.5",
|
|
40
|
+
"@types/vcf": "^2.0.7",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
42
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
43
|
+
"eslint": "^8.2.0",
|
|
44
|
+
"eslint-config-airbnb-base": "15.0.0",
|
|
45
|
+
"eslint-config-airbnb-typescript": "^18.0.0",
|
|
46
|
+
"eslint-plugin-import": "^2.25.2",
|
|
47
|
+
"mit-license": "^1.0.0",
|
|
48
|
+
"nodemon": "^3.1.7",
|
|
49
|
+
"typescript": "^5.4.2"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"debug": "^4.3.7",
|
|
53
|
+
"vcf": "^2.1.2"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Max Bot API Client
|
|
2
|
+
|
|
3
|
+
## Документация
|
|
4
|
+
|
|
5
|
+
В [документации](https://github.com/max-messenger/max-bot-api-client-ts/tree/master/docs) вы можете найти подробные инструкции по использованию фреймворка.
|
|
6
|
+
|
|
7
|
+
## Быстрый старт
|
|
8
|
+
|
|
9
|
+
> Если вы новичок, то можете прочитать [официальную документацию](https://dev.max.ru/), написанную разработчиками Max
|
|
10
|
+
|
|
11
|
+
### Получение токена
|
|
12
|
+
Откройте диалог с [PrimeBot](https://max.ru/primebot), следуйте инструкциям и создайте нового бота. После создания бота PrimeBot отправит вам токен.
|
|
13
|
+
|
|
14
|
+
### Установка
|
|
15
|
+
#### npm
|
|
16
|
+
```sh
|
|
17
|
+
npm install @maxhub/max-bot-api
|
|
18
|
+
```
|
|
19
|
+
#### yarn
|
|
20
|
+
```sh
|
|
21
|
+
yarn add @maxhub/max-bot-api
|
|
22
|
+
```
|
|
23
|
+
#### pnpm
|
|
24
|
+
```sh
|
|
25
|
+
pnpm add @maxhub/max-bot-api
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Пример
|
|
29
|
+
```javascript
|
|
30
|
+
import { Bot } from '@maxhub/max-bot-api';
|
|
31
|
+
|
|
32
|
+
const bot = new Bot(process.env.BOT_TOKEN);
|
|
33
|
+
|
|
34
|
+
// Установка подсказок с доступными командами
|
|
35
|
+
bot.api.setMyCommands([
|
|
36
|
+
{
|
|
37
|
+
name: 'ping',
|
|
38
|
+
description: 'Сыграть в пинг-понг'
|
|
39
|
+
},
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
// Обработчик события запуска бота
|
|
43
|
+
bot.on('bot_started', (ctx) => ctx.reply('Привет! Отправь мне команду /ping, чтобы сыграть в пинг-понг'));
|
|
44
|
+
|
|
45
|
+
// Обработчик команды '/ping'
|
|
46
|
+
bot.command('ping', (ctx) => ctx.reply('pong'));
|
|
47
|
+
|
|
48
|
+
// Обработчик для сообщения с текстом 'hello'
|
|
49
|
+
bot.hears('hello', (ctx) => ctx.reply('world'));
|
|
50
|
+
|
|
51
|
+
// Обработчик для всех остальных входящих сообщений
|
|
52
|
+
bot.on('message_created', (ctx) => ctx.reply(ctx.message.body.text));
|
|
53
|
+
|
|
54
|
+
bot.start();
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Обработка ошибок
|
|
58
|
+
Если во время обработки события произойдёт ошибка, Bot вызовет метод `bot.handleError`. По умолчанию `bot.handleError` просто завершает работу программы, но вы можете переопределить это поведение, используя `bot.catch`.
|
|
59
|
+
|
|
60
|
+
> ⚠️ Завершайте работу программы при неизвестных ошибках, иначе бот может зависнуть в состоянии ошибки.
|
|
61
|
+
|
|
62
|
+
> ℹ️ [`pm2`](https://pm2.keymetrics.io/) может автоматически перезапустить вашего бота, если он остановится по какой-либо причине
|