n8n-nodes-max 0.1.8 → 0.1.11

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 CHANGED
@@ -49,7 +49,8 @@ export N8N_CUSTOM_EXTENSIONS=n8n-nodes-max
49
49
  - Редактирование и удаление сообщений
50
50
  - Отправка файлов (изображения, видео, аудио, документы)
51
51
  - В `Send Message` текст не обязателен, если отправляются вложения
52
- - Payload вложения формируется из JSON-ответа upload-шага (`token`, `url`, `photos`)
52
+ - Нода не ограничивает вложения по расширению файла: формат проверяется на стороне Max API
53
+ - Payload вложения формируется из JSON-ответа upload-шага: для `image` поддерживаются `token`/`photos`/`url`, для `video`/`audio`/`file` используется `token`
53
54
  - Автоматический ретрай отправки с медиа-вложением при временной ошибке `attachment.not.ready`
54
55
  - Явная валидация ID получателя: `0` отклоняется с подсказкой по полям из `Max Trigger`
55
56
  - Интерактивные клавиатуры с кнопками
@@ -14,14 +14,14 @@ class MaxApi {
14
14
  type: 'string',
15
15
  typeOptions: { password: true },
16
16
  default: '',
17
- description: 'Bot access token obtained from @PrimeBot in Max messenger.',
17
+ description: 'The bot access token. Get it from @PrimeBot in Max messenger.',
18
18
  },
19
19
  {
20
20
  displayName: 'Base URL',
21
21
  name: 'baseUrl',
22
22
  type: 'string',
23
23
  default: 'https://platform-api.max.ru',
24
- description: 'Base URL for Max messenger Bot API',
24
+ description: 'The API URL. Use the default value unless you use a custom server.',
25
25
  },
26
26
  ];
27
27
  this.test = {
@@ -1 +1 @@
1
- {"version":3,"file":"MaxApi.credentials.js","sourceRoot":"","sources":["../../credentials/MaxApi.credentials.ts"],"names":[],"mappings":";;;AAUA,MAAa,MAAM;IAAnB;QAEC,SAAI,GAAG,QAAQ,CAAC;QAGhB,gBAAW,GAAG,SAAS,CAAC;QAGxB,SAAI,GAAS,cAAc,CAAC;QAG5B,qBAAgB,GAAG,6BAA6B,CAAC;QAMjD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,4DAA4D;aACzE;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6BAA6B;gBACtC,WAAW,EAAE,oCAAoC;aACjD;SACD,CAAC;QAMF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE;oBACR,aAAa,EAAE,+BAA+B;iBAC9C;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAhDD,wBAgDC"}
1
+ {"version":3,"file":"MaxApi.credentials.js","sourceRoot":"","sources":["../../credentials/MaxApi.credentials.ts"],"names":[],"mappings":";;;AAUA,MAAa,MAAM;IAAnB;QAEC,SAAI,GAAG,QAAQ,CAAC;QAGhB,gBAAW,GAAG,SAAS,CAAC;QAGxB,SAAI,GAAS,cAAc,CAAC;QAG5B,qBAAgB,GAAG,6BAA6B,CAAC;QAMjD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,+DAA+D;aAC5E;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6BAA6B;gBACtC,WAAW,EAAE,oEAAoE;aACjF;SACD,CAAC;QAMF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE;oBACR,aAAa,EAAE,+BAA+B;iBAC9C;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAhDD,wBAgDC"}
@@ -70,7 +70,7 @@ export interface IAttachmentConfig {
70
70
  fileUrl?: string;
71
71
  fileName?: string;
72
72
  }
73
- export declare function validateAttachment(config: IAttachmentConfig, fileSize?: number, fileName?: string): void;
73
+ export declare function validateAttachment(config: IAttachmentConfig, fileSize?: number): void;
74
74
  export declare function downloadFileFromUrl(this: IExecuteFunctions, url: string, fileName?: string): Promise<{
75
75
  filePath: string;
76
76
  fileName: string;
@@ -79,19 +79,25 @@ async function sleep(ms) {
79
79
  await new Promise((resolve) => setTimeout(resolve, ms));
80
80
  }
81
81
  function extractMaxErrorText(error) {
82
- var _a;
82
+ var _a, _b;
83
83
  const parts = [];
84
84
  const append = (value) => {
85
85
  if (typeof value === 'string' && value.trim().length > 0) {
86
86
  parts.push(value.toLowerCase());
87
+ return;
88
+ }
89
+ if (typeof value === 'number' && Number.isFinite(value)) {
90
+ parts.push(String(value).toLowerCase());
87
91
  }
88
92
  };
89
93
  append(error === null || error === void 0 ? void 0 : error.message);
90
94
  append(error === null || error === void 0 ? void 0 : error.description);
95
+ append(error === null || error === void 0 ? void 0 : error.code);
91
96
  const responseBody = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.body;
97
+ const responseData = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data;
92
98
  const directBody = error === null || error === void 0 ? void 0 : error.body;
93
99
  const nestedError = error === null || error === void 0 ? void 0 : error.error;
94
- for (const bodyCandidate of [responseBody, directBody, nestedError]) {
100
+ for (const bodyCandidate of [responseBody, responseData, directBody, nestedError]) {
95
101
  if (typeof bodyCandidate === 'string') {
96
102
  append(bodyCandidate);
97
103
  continue;
@@ -102,6 +108,7 @@ function extractMaxErrorText(error) {
102
108
  append(typedBody.description);
103
109
  append(typedBody.error);
104
110
  append(typedBody.error_description);
111
+ append(typedBody.code);
105
112
  }
106
113
  }
107
114
  return parts.join(' ');
@@ -149,7 +156,7 @@ function hasKnownUploadPayloadFields(payload) {
149
156
  getNonEmptyString(payload.url) !== undefined ||
150
157
  isNonEmptyObject(payload.photos));
151
158
  }
152
- function resolveUploadPayload(uploadResult, attachmentType, tokenFromUploadsEndpoint) {
159
+ function resolveUploadPayload(uploadResult, attachmentType) {
153
160
  const token = getNonEmptyString(uploadResult.token);
154
161
  const url = getNonEmptyString(uploadResult.url);
155
162
  const photos = isNonEmptyObject(uploadResult.photos) ? uploadResult.photos : undefined;
@@ -165,18 +172,11 @@ function resolveUploadPayload(uploadResult, attachmentType, tokenFromUploadsEndp
165
172
  }
166
173
  return null;
167
174
  }
168
- if (attachmentType === 'video' || attachmentType === 'audio') {
175
+ if (attachmentType === 'video' || attachmentType === 'audio' || attachmentType === 'file') {
169
176
  if (token) {
170
177
  return { token };
171
178
  }
172
- const fallbackToken = getNonEmptyString(tokenFromUploadsEndpoint);
173
- return fallbackToken ? { token: fallbackToken } : null;
174
- }
175
- if (token) {
176
- return { token };
177
- }
178
- if (url) {
179
- return { url };
179
+ return null;
180
180
  }
181
181
  return null;
182
182
  }
@@ -203,7 +203,7 @@ async function createMaxBotInstance() {
203
203
  const credentials = await this.getCredentials('maxApi');
204
204
  if (!credentials['accessToken']) {
205
205
  throw new n8n_workflow_1.NodeApiError(this.getNode(), {
206
- message: 'Max API access token is required',
206
+ message: 'Access token is required',
207
207
  });
208
208
  }
209
209
  const config = {
@@ -293,10 +293,10 @@ async function sendMessage(_bot, recipientType, recipientId, text, options = {})
293
293
  }
294
294
  async function editMessage(_bot, messageId, text, options = {}) {
295
295
  if (!messageId || messageId.trim() === '') {
296
- throw new Error('Message ID is required and cannot be empty');
296
+ throw new Error('Message ID is required');
297
297
  }
298
298
  if (text === null || text === undefined || typeof text !== 'string') {
299
- throw new Error('Message text is required and must be a string');
299
+ throw new Error('Message text is required');
300
300
  }
301
301
  if (text.trim().length === 0) {
302
302
  throw new Error('Message text cannot be empty');
@@ -307,7 +307,7 @@ async function editMessage(_bot, messageId, text, options = {}) {
307
307
  const openTags = (text.match(/<[^\/][^>]*>/g) || []).length;
308
308
  const closeTags = (text.match(/<\/[^>]*>/g) || []).length;
309
309
  if (openTags !== closeTags) {
310
- throw new Error('HTML format error: unclosed tags detected. Make sure all HTML tags are properly closed.');
310
+ throw new Error('HTML error: Unclosed tags.');
311
311
  }
312
312
  }
313
313
  if (format === 'markdown') {
@@ -315,13 +315,13 @@ async function editMessage(_bot, messageId, text, options = {}) {
315
315
  const italicCount = (text.match(/_/g) || []).length;
316
316
  const codeCount = (text.match(/`/g) || []).length;
317
317
  if (boldCount % 2 !== 0) {
318
- throw new Error('Markdown format error: unmatched bold markers (*). Make sure all bold text is properly closed.');
318
+ throw new Error('Markdown error: Unmatched bold markers (*).');
319
319
  }
320
320
  if (italicCount % 2 !== 0) {
321
- throw new Error('Markdown format error: unmatched italic markers (_). Make sure all italic text is properly closed.');
321
+ throw new Error('Markdown error: Unmatched italic markers (_).');
322
322
  }
323
323
  if (codeCount % 2 !== 0) {
324
- throw new Error('Markdown format error: unmatched code markers (`). Make sure all code blocks are properly closed.');
324
+ throw new Error('Markdown error: Unmatched code markers (`).');
325
325
  }
326
326
  }
327
327
  try {
@@ -526,28 +526,28 @@ function createUserFriendlyErrorMessage(error, category) {
526
526
  const baseMessage = error.description || error.message || 'An unknown error occurred';
527
527
  switch (category) {
528
528
  case MaxErrorCategory.AUTHENTICATION:
529
- return `Authorization failed - please check your credentials: ${baseMessage}. Please check your Max API access token in the credentials. Make sure the token is valid and has not expired. You can get a new token from @PrimeBot in Max messenger.`;
529
+ return `Authorization failed: ${baseMessage}. Check your access token. You can get a new one from @PrimeBot.`;
530
530
  case MaxErrorCategory.RATE_LIMIT:
531
531
  const retryAfter = (_a = error.parameters) === null || _a === void 0 ? void 0 : _a.retry_after;
532
532
  const retryMessage = retryAfter
533
533
  ? ` Please wait ${retryAfter} seconds before retrying.`
534
534
  : ' Please wait before retrying.';
535
- return `The service is receiving too many requests from you: ${baseMessage}.${retryMessage} Consider reducing the frequency of your requests or implementing delays between operations.`;
535
+ return `Too many requests: ${baseMessage}.${retryMessage} Slow down your requests.`;
536
536
  case MaxErrorCategory.VALIDATION:
537
- return `Invalid request parameters: ${baseMessage}. Please check your input data. Common issues include: invalid user/chat IDs, message text too long (max 4000 characters), unsupported formatting, or missing required fields.`;
537
+ return `Invalid input: ${baseMessage}. Check your data (IDs, text length, format).`;
538
538
  case MaxErrorCategory.BUSINESS_LOGIC:
539
539
  if (baseMessage.toLowerCase().includes('chat not found')) {
540
- return `Chat not found: ${baseMessage}. The specified chat ID may be incorrect, or the bot may not have access to this chat. Make sure the bot has been added to the chat and has appropriate permissions.`;
540
+ return `Chat not found: ${baseMessage}. Check the Chat ID. Make sure the bot is a member.`;
541
541
  }
542
542
  if (baseMessage.toLowerCase().includes('user blocked') ||
543
543
  baseMessage.toLowerCase().includes('forbidden')) {
544
- return `Access denied: ${baseMessage}. The user may have blocked the bot, or the bot lacks necessary permissions. Check that the bot has been properly configured and authorized.`;
544
+ return `Access denied: ${baseMessage}. The user might have blocked the bot.`;
545
545
  }
546
- return `Operation failed: ${baseMessage}. This may be due to insufficient permissions, missing resources, or business rule violations. Please verify your bot's access rights and the validity of the target resources.`;
546
+ return `Operation failed: ${baseMessage}. Check permissions and resources.`;
547
547
  case MaxErrorCategory.NETWORK:
548
- return `Network error: ${baseMessage}. Please check your internet connection and the Max API service status. If the problem persists, try again later or verify the base URL in your credentials.`;
548
+ return `Network error: ${baseMessage}. Check your connection and the Base URL.`;
549
549
  default:
550
- return `The service was not able to process your request: ${baseMessage}. If this error persists, please check the Max API documentation or contact support with the error details.`;
550
+ return `Request failed: ${baseMessage}. Check the Max API docs if this persists.`;
551
551
  }
552
552
  }
553
553
  async function handleMaxApiError(error, operation, retryCount = 0, maxRetries = 3) {
@@ -601,7 +601,7 @@ function validateInputParameters(recipientType, recipientId, text, format, valid
601
601
  throw new Error(`Invalid ${recipientType} ID: must be a number`);
602
602
  }
603
603
  if (text === null || text === undefined || typeof text !== 'string') {
604
- throw new Error('Message text is required and must be a string');
604
+ throw new Error('Message text is required');
605
605
  }
606
606
  if (text.trim().length === 0) {
607
607
  if (validationOptions.allowEmptyText) {
@@ -614,7 +614,7 @@ function validateInputParameters(recipientType, recipientId, text, format, valid
614
614
  const openTags = (text.match(/<[^\/][^>]*>/g) || []).length;
615
615
  const closeTags = (text.match(/<\/[^>]*>/g) || []).length;
616
616
  if (openTags !== closeTags) {
617
- throw new Error('HTML format error: unclosed tags detected. Make sure all HTML tags are properly closed.');
617
+ throw new Error('HTML error: Unclosed tags.');
618
618
  }
619
619
  }
620
620
  if (format === 'markdown') {
@@ -622,13 +622,13 @@ function validateInputParameters(recipientType, recipientId, text, format, valid
622
622
  const italicCount = (text.match(/_/g) || []).length;
623
623
  const codeCount = (text.match(/`/g) || []).length;
624
624
  if (boldCount % 2 !== 0) {
625
- throw new Error('Markdown format error: unmatched bold markers (*). Make sure all bold text is properly closed.');
625
+ throw new Error('Markdown error: Unmatched bold markers (*).');
626
626
  }
627
627
  if (italicCount % 2 !== 0) {
628
- throw new Error('Markdown format error: unmatched italic markers (_). Make sure all italic text is properly closed.');
628
+ throw new Error('Markdown error: Unmatched italic markers (_).');
629
629
  }
630
630
  if (codeCount % 2 !== 0) {
631
- throw new Error('Markdown format error: unmatched code markers (`). Make sure all code blocks are properly closed.');
631
+ throw new Error('Markdown error: Unmatched code markers (`).');
632
632
  }
633
633
  }
634
634
  }
@@ -638,13 +638,7 @@ const FILE_SIZE_LIMITS = {
638
638
  audio: 20 * 1024 * 1024,
639
639
  file: 20 * 1024 * 1024,
640
640
  };
641
- const SUPPORTED_EXTENSIONS = {
642
- image: ['.jpg', '.jpeg', '.png', '.gif', '.webp', '.bmp'],
643
- video: ['.mp4', '.avi', '.mov', '.wmv', '.flv', '.webm', '.mkv'],
644
- audio: ['.mp3', '.wav', '.ogg', '.m4a', '.aac', '.flac'],
645
- file: ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.txt', '.zip', '.rar'],
646
- };
647
- function validateAttachment(config, fileSize, fileName) {
641
+ function validateAttachment(config, fileSize) {
648
642
  if (!['image', 'video', 'audio', 'file'].includes(config.type)) {
649
643
  throw new Error(`Unsupported attachment type: ${config.type}`);
650
644
  }
@@ -672,13 +666,6 @@ function validateAttachment(config, fileSize, fileName) {
672
666
  throw new Error(`File size (${Math.round((fileSize / 1024 / 1024) * 100) / 100}MB) exceeds maximum allowed size for ${config.type} (${Math.round(maxSize / 1024 / 1024)}MB)`);
673
667
  }
674
668
  }
675
- if (fileName) {
676
- const extension = fileName.toLowerCase().substring(fileName.lastIndexOf('.'));
677
- const supportedExts = SUPPORTED_EXTENSIONS[config.type];
678
- if (extension && !supportedExts.includes(extension)) {
679
- throw new Error(`Unsupported file extension "${extension}" for ${config.type}. Supported extensions: ${supportedExts.join(', ')}`);
680
- }
681
- }
682
669
  }
683
670
  async function downloadFileFromUrl(url, fileName) {
684
671
  try {
@@ -724,10 +711,6 @@ async function uploadFileToMax(_bot, filePath, fileName, attachmentType) {
724
711
  headers: getAuthHeaders(accessToken),
725
712
  json: true,
726
713
  }));
727
- const tokenFromUploadsEndpoint = uploadUrlResponse.token;
728
- if (uploadUrlResponse.token && !uploadUrlResponse.url) {
729
- return { token: uploadUrlResponse.token };
730
- }
731
714
  if (!uploadUrlResponse.url || typeof uploadUrlResponse.url !== 'string') {
732
715
  throw new Error('Failed to get upload URL from Max API');
733
716
  }
@@ -755,23 +738,15 @@ async function uploadFileToMax(_bot, filePath, fileName, attachmentType) {
755
738
  if (uploadResponse.body !== undefined &&
756
739
  uploadResponse.body !== null &&
757
740
  uploadResponse.body !== '') {
758
- try {
759
- const parsedBody = typeof uploadResponse.body === 'string'
760
- ? JSON.parse(uploadResponse.body)
761
- : uploadResponse.body;
762
- if (!isNonEmptyObject(parsedBody)) {
763
- throw new Error('Upload response is not a JSON object');
764
- }
765
- uploadResult = parsedBody;
766
- }
767
- catch {
768
- if (tokenFromUploadsEndpoint) {
769
- return { token: tokenFromUploadsEndpoint };
770
- }
771
- throw new Error('Invalid response format from file upload');
741
+ const parsedBody = typeof uploadResponse.body === 'string'
742
+ ? JSON.parse(uploadResponse.body)
743
+ : uploadResponse.body;
744
+ if (!isNonEmptyObject(parsedBody)) {
745
+ throw new Error('Upload response is not a JSON object');
772
746
  }
747
+ uploadResult = parsedBody;
773
748
  }
774
- const supportedPayload = resolveUploadPayload(uploadResult, attachmentType, tokenFromUploadsEndpoint);
749
+ const supportedPayload = resolveUploadPayload(uploadResult, attachmentType);
775
750
  if (supportedPayload) {
776
751
  return supportedPayload;
777
752
  }
@@ -792,7 +767,7 @@ async function processBinaryAttachment(bot, config, item, itemIndex = 0) {
792
767
  const fileSize = typeof binaryData.fileSize === 'string'
793
768
  ? parseInt(binaryData.fileSize, 10)
794
769
  : binaryData.fileSize;
795
- validateAttachment(config, fileSize, fileName);
770
+ validateAttachment(config, fileSize);
796
771
  let tempFilePath = '';
797
772
  try {
798
773
  const binaryBuffer = await this.helpers.getBinaryDataBuffer(itemIndex, binaryProperty);
@@ -826,7 +801,7 @@ async function processBinaryAttachment(bot, config, item, itemIndex = 0) {
826
801
  async function processUrlAttachment(bot, config) {
827
802
  const { filePath, fileName, fileSize } = await downloadFileFromUrl.call(this, config.fileUrl, config.fileName);
828
803
  try {
829
- validateAttachment(config, fileSize, fileName);
804
+ validateAttachment(config, fileSize);
830
805
  const uploadResult = await uploadFileToMax.call(this, bot, filePath, fileName, config.type);
831
806
  if (!hasKnownUploadPayloadFields(uploadResult)) {
832
807
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Upload completed but no attachment payload was returned');
@@ -1 +1 @@
1
- {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Max/GenericFunctions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Max/GenericFunctions.ts"],"names":[],"mappings":"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"}