@leemour/max-cli 0.13.0 → 0.14.0
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 +53 -9
- package/dist/bot/auth.d.ts +23 -0
- package/dist/bot/auth.d.ts.map +1 -0
- package/dist/bot/auth.js +36 -0
- package/dist/bot/auth.js.map +1 -0
- package/dist/bot/client.d.ts +20 -0
- package/dist/bot/client.d.ts.map +1 -0
- package/dist/bot/client.js +91 -0
- package/dist/bot/client.js.map +1 -0
- package/dist/bot/generated/manifest.d.ts +3 -0
- package/dist/bot/generated/manifest.d.ts.map +1 -0
- package/dist/bot/generated/manifest.js +1232 -0
- package/dist/bot/generated/manifest.js.map +1 -0
- package/dist/bot/generated/schemas.d.ts +271 -0
- package/dist/bot/generated/schemas.d.ts.map +1 -0
- package/dist/bot/generated/schemas.js +869 -0
- package/dist/bot/generated/schemas.js.map +1 -0
- package/dist/bot/generated/types.d.ts +1088 -0
- package/dist/bot/generated/types.d.ts.map +1 -0
- package/dist/bot/generated/types.js +5 -0
- package/dist/bot/generated/types.js.map +1 -0
- package/dist/bot/input.d.ts +10 -0
- package/dist/bot/input.d.ts.map +1 -0
- package/dist/bot/input.js +88 -0
- package/dist/bot/input.js.map +1 -0
- package/dist/bot/map.d.ts +11 -0
- package/dist/bot/map.d.ts.map +1 -0
- package/dist/bot/map.js +76 -0
- package/dist/bot/map.js.map +1 -0
- package/dist/bot/permissions.d.ts +14 -0
- package/dist/bot/permissions.d.ts.map +1 -0
- package/dist/bot/permissions.js +53 -0
- package/dist/bot/permissions.js.map +1 -0
- package/dist/bot/registry.d.ts +27 -0
- package/dist/bot/registry.d.ts.map +1 -0
- package/dist/bot/registry.js +68 -0
- package/dist/bot/registry.js.map +1 -0
- package/dist/bot/russian-trusted-root.d.ts +8 -0
- package/dist/bot/russian-trusted-root.d.ts.map +1 -0
- package/dist/bot/russian-trusted-root.js +41 -0
- package/dist/bot/russian-trusted-root.js.map +1 -0
- package/dist/bot/transport.d.ts +41 -0
- package/dist/bot/transport.d.ts.map +1 -0
- package/dist/bot/transport.js +200 -0
- package/dist/bot/transport.js.map +1 -0
- package/dist/client.d.ts +23 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +120 -12
- package/dist/client.js.map +1 -1
- package/dist/commands/bot-context.d.ts +21 -0
- package/dist/commands/bot-context.d.ts.map +1 -0
- package/dist/commands/bot-context.js +59 -0
- package/dist/commands/bot-context.js.map +1 -0
- package/dist/commands/bot-reads.d.ts +7 -0
- package/dist/commands/bot-reads.d.ts.map +1 -0
- package/dist/commands/bot-reads.js +103 -0
- package/dist/commands/bot-reads.js.map +1 -0
- package/dist/commands/bot-sends.d.ts +12 -0
- package/dist/commands/bot-sends.d.ts.map +1 -0
- package/dist/commands/bot-sends.js +225 -0
- package/dist/commands/bot-sends.js.map +1 -0
- package/dist/commands/bot.d.ts +3 -0
- package/dist/commands/bot.d.ts.map +1 -0
- package/dist/commands/bot.js +145 -0
- package/dist/commands/bot.js.map +1 -0
- package/dist/commands/chats.d.ts.map +1 -1
- package/dist/commands/chats.js +65 -1
- package/dist/commands/chats.js.map +1 -1
- package/dist/commands/context.d.ts +10 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +17 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/rules.d.ts +7 -0
- package/dist/commands/rules.d.ts.map +1 -0
- package/dist/commands/rules.js +69 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/domain/map.d.ts +6 -1
- package/dist/domain/map.d.ts.map +1 -1
- package/dist/domain/map.js +34 -1
- package/dist/domain/map.js.map +1 -1
- package/dist/domain/models.d.ts +51 -0
- package/dist/domain/models.d.ts.map +1 -1
- package/dist/domain/models.js.map +1 -1
- package/dist/generated/operations.generated.d.ts +3 -1
- package/dist/generated/operations.generated.d.ts.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +10 -2
- package/dist/mcp/tools.js.map +1 -1
- package/dist/moderation/rules.d.ts +56 -0
- package/dist/moderation/rules.d.ts.map +1 -0
- package/dist/moderation/rules.js +138 -0
- package/dist/moderation/rules.js.map +1 -0
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +18 -3
- package/dist/program.js.map +1 -1
- package/dist/protocol/connection.d.ts.map +1 -1
- package/dist/protocol/connection.js +12 -1
- package/dist/protocol/connection.js.map +1 -1
- package/dist/review.d.ts +23 -2
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +58 -3
- package/dist/review.js.map +1 -1
- package/dist/spec/operations/chats.d.ts +4 -1
- package/dist/spec/operations/chats.d.ts.map +1 -1
- package/dist/spec/operations/chats.js +10 -4
- package/dist/spec/operations/chats.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +14 -6
- package/skills/max-cli/SKILL.md +15 -1
package/dist/review.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
|
+
import { CliError } from "@leemour/cli-core";
|
|
1
2
|
import { notDownloaded, openInstalled, transcribe } from "./transcribe/index.js";
|
|
2
3
|
import { isInstalled, modelsDirectory } from "./transcribe/install.js";
|
|
3
4
|
import { speechModel } from "./transcribe/models.js";
|
|
4
5
|
/** Owner's ruling: without a boundary, a review looks at the last three days. */
|
|
5
6
|
export const REVIEW_DAYS = 3;
|
|
6
7
|
export const reviewStart = (now = Date.now()) => now - REVIEW_DAYS * 86_400_000;
|
|
8
|
+
export const UNANSWERED_HOURS = 24;
|
|
9
|
+
/** `--unanswered` with no value is `true`; a value is hours, a fraction allowed. */
|
|
10
|
+
export const unansweredHours = (value) => {
|
|
11
|
+
if (value === true)
|
|
12
|
+
return UNANSWERED_HOURS;
|
|
13
|
+
const hours = Number(value);
|
|
14
|
+
if (!Number.isFinite(hours) || hours < 0) {
|
|
15
|
+
throw new CliError("validation_error", `--unanswered takes hours, a number 0 or more — got ${String(value)}`);
|
|
16
|
+
}
|
|
17
|
+
return hours;
|
|
18
|
+
};
|
|
7
19
|
/**
|
|
8
20
|
* `max review` and `max_review` alike. A text already heard comes from the cache with no model
|
|
9
21
|
* loaded; with `transcribeWith`, the rest are transcribed one by one. A missing model or a recording
|
|
10
22
|
* that will not decode is a field in the answer, not a failed review: the messages are still worth
|
|
11
23
|
* reading. The model is never downloaded from here (`NEED-231`).
|
|
12
24
|
*/
|
|
13
|
-
export const review = async (client, { since, cache, transcribeWith }) => {
|
|
14
|
-
const read = await client.inbox.review({ since });
|
|
25
|
+
export const review = async (client, { since, cache, transcribeWith, chatId, unansweredAfterHours, now = Date.now() }) => {
|
|
26
|
+
const read = await client.inbox.review({ since, ...(chatId === undefined ? {} : { chatId }) });
|
|
15
27
|
const unheard = [];
|
|
16
28
|
const model = transcribeWith === undefined ? undefined : speechModel(transcribeWith);
|
|
17
29
|
const directory = modelsDirectory();
|
|
@@ -51,6 +63,49 @@ export const review = async (client, { since, cache, transcribeWith }) => {
|
|
|
51
63
|
loaded?.free();
|
|
52
64
|
}
|
|
53
65
|
const complete = read.skipped.length === 0 && !read.partial && unheard.length === 0 && read.chats.every((chat) => !chat.more);
|
|
54
|
-
|
|
66
|
+
const found = {
|
|
67
|
+
...read,
|
|
68
|
+
complete,
|
|
69
|
+
unheard,
|
|
70
|
+
...(transcribeProblem === undefined ? {} : { transcribeProblem }),
|
|
71
|
+
};
|
|
72
|
+
if (unansweredAfterHours === undefined)
|
|
73
|
+
return found;
|
|
74
|
+
const chats = [];
|
|
75
|
+
for (const chat of found.chats) {
|
|
76
|
+
const admins = chat.kind === "dialog" ? [] : await client.chats.adminIds(chat.id);
|
|
77
|
+
const open = unanswered(chat.messages, {
|
|
78
|
+
answerers: new Set(admins ?? []),
|
|
79
|
+
before: now - unansweredAfterHours * 3_600_000,
|
|
80
|
+
});
|
|
81
|
+
if (open.length === 0)
|
|
82
|
+
continue;
|
|
83
|
+
chats.push({ ...chat, messages: open, answeredBy: admins === undefined ? "owner" : "owner-and-admins" });
|
|
84
|
+
}
|
|
85
|
+
return { ...found, chats, unanswered: { olderThanHours: unansweredAfterHours } };
|
|
86
|
+
};
|
|
87
|
+
/** A shared link's query string is not a question. */
|
|
88
|
+
const LINKS = /https?:\/\/\S+/g;
|
|
89
|
+
/**
|
|
90
|
+
* Questions from others still waiting. A question is a message with `?` in it, or a reply to the
|
|
91
|
+
* owner or an admin. It is answered when one of them replied to it, or was the next to speak after
|
|
92
|
+
* the person who asked — "the next to speak" rather than "spoke later", because in a busy group an
|
|
93
|
+
* admin answering somebody else says nothing about this question.
|
|
94
|
+
*/
|
|
95
|
+
export const unanswered = (messages, { answerers, before }) => {
|
|
96
|
+
const answers = (message) => message.outgoing === true || (message.senderId !== null && answerers.has(message.senderId));
|
|
97
|
+
return messages.filter((message, index) => {
|
|
98
|
+
if (answers(message) || Date.parse(message.timestamp) >= before)
|
|
99
|
+
return false;
|
|
100
|
+
const text = message.transcript ?? message.text;
|
|
101
|
+
const asked = text.replace(LINKS, "").includes("?") || (message.replyTo !== null && answers(message.replyTo));
|
|
102
|
+
if (!asked)
|
|
103
|
+
return false;
|
|
104
|
+
const later = messages.slice(index + 1);
|
|
105
|
+
if (later.some((reply) => reply.replyTo?.id === message.id && answers(reply)))
|
|
106
|
+
return false;
|
|
107
|
+
const next = later.find((other) => other.senderId !== message.senderId);
|
|
108
|
+
return !(next && answers(next));
|
|
109
|
+
});
|
|
55
110
|
};
|
|
56
111
|
//# sourceMappingURL=review.js.map
|
package/dist/review.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../src/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,10 +68,13 @@ export declare const chatsUpdate: import("../define.js").Operation<v.UnionSchema
|
|
|
68
68
|
}, undefined>>;
|
|
69
69
|
export declare const chatsMembers: import("../define.js").Operation<v.StrictObjectSchema<{
|
|
70
70
|
readonly chatId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "an id is a whole number written as a string">, v.TransformAction<string, bigint>]>;
|
|
71
|
-
readonly type: v.
|
|
71
|
+
readonly type: v.PicklistSchema<["MEMBER", "JOIN_REQUEST"], undefined>;
|
|
72
|
+
/** `MEMBER` only: 0 for the first page, then the `marker` the previous answer carried. */
|
|
73
|
+
readonly marker: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
72
74
|
readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>]>;
|
|
73
75
|
}, undefined>, v.LooseObjectSchema<{
|
|
74
76
|
readonly members: v.OptionalSchema<v.ArraySchema<v.LooseObjectSchema<{}, undefined>, undefined>, undefined>;
|
|
77
|
+
readonly marker: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
75
78
|
}, undefined>>;
|
|
76
79
|
export declare const chatsUpdateMembers: import("../define.js").Operation<v.StrictObjectSchema<{
|
|
77
80
|
readonly chatId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "an id is a whole number written as a string">, v.TransformAction<string, bigint>]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,eAAO,MAAM,SAAS;IAMlB,6DAA6D;;;;;cAW/D,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;IAerB,6GAA6G;;;;;;cAc/G,CAAA;AAEF,eAAO,MAAM,SAAS;;;;IAalB;;;;OAIG;;;;;cAcL,CAAA;AAKF,eAAO,MAAM,aAAa;;;;cAaxB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;cAcpB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;cAarB,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;cA8CtB,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;
|
|
1
|
+
{"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAM5B,eAAO,MAAM,SAAS;IAMlB,6DAA6D;;;;;cAW/D,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;IAerB,6GAA6G;;;;;;cAc/G,CAAA;AAEF,eAAO,MAAM,SAAS;;;;IAalB;;;;OAIG;;;;;cAcL,CAAA;AAKF,eAAO,MAAM,aAAa;;;;cAaxB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;cAcpB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;cAarB,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;cA8CtB,CAAA;AAEF,eAAO,MAAM,YAAY;;;IAQrB,0FAA0F;;;;;;cAgB5F,CAAA;AAQF,eAAO,MAAM,kBAAkB;;;;IAS3B,uCAAuC;;;IAGvC,iGAAiG;;IAEjG,mGAAmG;;;;cA0BrG,CAAA;AAEF,eAAO,MAAM,UAAU,oCAOrB,CAAA"}
|
|
@@ -182,15 +182,21 @@ export const chatsMembers = defineOperation({
|
|
|
182
182
|
auth: true,
|
|
183
183
|
request: v.strictObject({
|
|
184
184
|
chatId: id(),
|
|
185
|
-
type: v.
|
|
185
|
+
type: v.picklist(["MEMBER", "JOIN_REQUEST"]),
|
|
186
|
+
/** `MEMBER` only: 0 for the first page, then the `marker` the previous answer carried. */
|
|
187
|
+
marker: v.optional(v.number()),
|
|
186
188
|
count: v.pipe(v.number(), v.integer(), v.minValue(1)),
|
|
187
189
|
}),
|
|
188
|
-
response: v.looseObject({ members: v.optional(v.array(v.looseObject({}))) }),
|
|
190
|
+
response: v.looseObject({ members: v.optional(v.array(v.looseObject({}))), marker: v.optional(v.number()) }),
|
|
189
191
|
guard: null,
|
|
190
192
|
provenance: {
|
|
191
193
|
confidence: "measured",
|
|
192
|
-
sources: [
|
|
193
|
-
|
|
194
|
+
sources: [
|
|
195
|
+
"measured against MAX 2026-09-24 with no requests (`pnpm probe:groups`)",
|
|
196
|
+
"`MEMBER` measured 2026-09-27 on a group of 2 (`pnpm probe:member-list`): `{members: [{contact, presence, readMark}]}`, no `marker`",
|
|
197
|
+
"PyMax get_join_requests, get_chat_members (53103f0)",
|
|
198
|
+
],
|
|
199
|
+
notes: "With no requests the answer is `{}` — no `members` at all. Paging by `marker` is PyMax's claim: one page of two members carried none.",
|
|
194
200
|
},
|
|
195
201
|
});
|
|
196
202
|
const MEMBER_ACTIONS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chats.js","sourceRoot":"","sources":["../../../src/spec/operations/chats.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leemour/max-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.14.0",
|
|
4
|
+
"description": "MAX Messenger bots through the official Bot API, and a personal MAX account, from the terminal \u2014 built for agents and scripts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|
|
7
7
|
"repository": {
|
|
@@ -24,7 +24,10 @@
|
|
|
24
24
|
],
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tsc --build",
|
|
27
|
-
"generate": "pnpm build && node --experimental-strip-types scripts/generate.ts && node --experimental-strip-types scripts/commands.ts",
|
|
27
|
+
"generate": "node --experimental-strip-types scripts/bot/generate.ts && pnpm build && node --experimental-strip-types scripts/generate.ts && node --experimental-strip-types scripts/commands.ts",
|
|
28
|
+
"bot:spec:sync": "node --experimental-strip-types scripts/bot/sync-spec.ts",
|
|
29
|
+
"bot:generate": "node --experimental-strip-types scripts/bot/generate.ts",
|
|
30
|
+
"bot:generate:check": "node --experimental-strip-types scripts/bot/generate.ts --check",
|
|
28
31
|
"typecheck": "tsc --build --force --emitDeclarationOnly && tsc -p tsconfig.test.json && tsc -p tsconfig.scripts.json",
|
|
29
32
|
"lint": "biome check .",
|
|
30
33
|
"lint:fix": "biome check --write .",
|
|
@@ -57,11 +60,15 @@
|
|
|
57
60
|
"probe:account": "pnpm build && node --experimental-strip-types scripts/probe-account.ts",
|
|
58
61
|
"probe:read-mark": "pnpm build && node --experimental-strip-types scripts/probe-read-mark.ts",
|
|
59
62
|
"probe:pre-release": "pnpm build && node --experimental-strip-types scripts/probe-pre-release.ts",
|
|
60
|
-
"probe:
|
|
63
|
+
"probe:control": "pnpm build && node --experimental-strip-types scripts/probe-control.ts",
|
|
64
|
+
"probe:member-list": "pnpm build && node --experimental-strip-types scripts/probe-member-list.ts",
|
|
65
|
+
"probe:message-count": "pnpm build && node --experimental-strip-types scripts/probe-message-count.ts",
|
|
66
|
+
"probe:bot:me": "pnpm build && node --experimental-strip-types scripts/probe-bot-me.ts"
|
|
61
67
|
},
|
|
62
68
|
"dependencies": {
|
|
63
69
|
"@bomb.sh/tab": "0.0.22",
|
|
64
|
-
"@leemour/cli-core": "0.
|
|
70
|
+
"@leemour/cli-core": "0.8.0",
|
|
71
|
+
"@leemour/cli-messaging": "0.2.0",
|
|
65
72
|
"@modelcontextprotocol/server": "2.1.0",
|
|
66
73
|
"@msgpack/msgpack": "3.1.3",
|
|
67
74
|
"@valibot/to-json-schema": "1.8.0",
|
|
@@ -82,7 +89,8 @@
|
|
|
82
89
|
"@types/ws": "^8.18.1",
|
|
83
90
|
"lefthook": "^2.1.8",
|
|
84
91
|
"typescript": "^7.0.2",
|
|
85
|
-
"vitest": "^5.0.1"
|
|
92
|
+
"vitest": "^5.0.1",
|
|
93
|
+
"yaml": "^2.9.1"
|
|
86
94
|
},
|
|
87
95
|
"publishConfig": {
|
|
88
96
|
"access": "public"
|
package/skills/max-cli/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: max-cli
|
|
3
|
-
description: Читать и отправлять сообщения в личном аккаунте MAX Messenger владельца через команду `max`. Использовать, когда просят найти чат, прочитать переписку, найти сообщение, показать
|
|
3
|
+
description: Читать и отправлять сообщения в личном аккаунте MAX Messenger владельца и от имени его ботов через команду `max`. Использовать, когда просят найти чат, прочитать переписку, найти сообщение, показать вложение, отправить сообщение в MAX или написать от имени бота.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# max — личный MAX владельца из командной строки
|
|
@@ -122,10 +122,14 @@ max chats list --unread --json # где есть непрочи
|
|
|
122
122
|
max inbox --json # непрочитанное во всех чатах
|
|
123
123
|
max inbox --new --json # что пришло с прошлой проверки, один раз
|
|
124
124
|
max review --since 2026-09-23T09:00 --json # всё, свои тоже, для обзора «кто кому должен»
|
|
125
|
+
max review --chat -1000 --unanswered 4 --json # вопросы в группе, на которые 4 часа не ответили ни владелец, ни админы
|
|
125
126
|
max watch --jsonl # новые сообщения по мере прихода, если запущен `max serve`
|
|
126
127
|
max watch --events --jsonl # плюс правки, удаления, реакции; в каждой строке "event"
|
|
127
128
|
max server status --json # работает ли фоновый сервер, какой версии, подключён ли
|
|
128
129
|
max chats show -1000 --json # один чат и кто в нём
|
|
130
|
+
max chats events -1000 --since 2026-09-20T00:00 --json # кто вступил, вышел, кого добавили и удалили
|
|
131
|
+
max chats members list -1000 --json # все участники от MAX: registeredAt, lastSeenAt
|
|
132
|
+
max chats rules show -1000 --json # правила модерации группы; set <ключ> <значение> меняет одно
|
|
129
133
|
max contacts show @ivan --json # один человек и общие чаты
|
|
130
134
|
max messages list -1000 --limit 20 --json # последние сообщения, от старых к новым
|
|
131
135
|
max messages list -1000 --after 100000000000000001 --json # что было после этого сообщения
|
|
@@ -147,3 +151,13 @@ max messages transcribe -1000 100000000000000001 --json # текст голо
|
|
|
147
151
|
|
|
148
152
|
Вложение в JSON: `{ "kind": "photo", "url": "https://…", "width": 901, "height": 594 }`. Чтобы
|
|
149
153
|
посмотреть фото, скачать его по `url` и открыть файл.
|
|
154
|
+
|
|
155
|
+
## Бот
|
|
156
|
+
|
|
157
|
+
`max <имя> bot …` — бот владельца через официальный Bot API, **не** личный аккаунт. Имя — первое
|
|
158
|
+
слово, как профиль: `max sales bot messages send -72894839451 "текст"`. Какие боты есть —
|
|
159
|
+
`max bot list`. Чат бота — номер, `user:<номер>` для человека или название чата, который бот уже
|
|
160
|
+
видел; списка чатов бота у MAX нет, `max <имя> bot chats list` — только увиденные. Отказ с кодом `7`
|
|
161
|
+
значит «чата нет в списке получателей бота»: скажите владельцу, какую команду выполнить, и не
|
|
162
|
+
пишите в обход. Любая операция API — `max <имя> bot api <операция>`; её флаги —
|
|
163
|
+
`max commands --json`. Отправляйте от имени бота только то, о чём просил владелец.
|