nexushub-commands 1.1.1 → 1.1.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.
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const evogram_1 = require("evogram");
6
6
  const migrated_1 = require("evogram/lib/migrated");
7
7
  const Client_1 = require("../../Client");
8
- const qs = require('qs');
9
8
  let CheckPaidOrderCommand = class CheckPaidOrderCommand extends migrated_1.Command {
10
9
  execute(context, orderId) {
11
10
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -5,8 +5,21 @@ const tslib_1 = require("tslib");
5
5
  const evogram_1 = require("evogram");
6
6
  const migrated_1 = require("evogram/lib/migrated");
7
7
  const Client_1 = require("../../Client");
8
- const GetDepositOrder_command_1 = require("./GetDepositOrder.command");
9
8
  const formatMessage_1 = require("../../utils/formatMessage");
9
+ const GetDepositOrder_command_1 = require("./GetDepositOrder.command");
10
+ // Функция для маскировки реквизитов: оставляет только последние 4 не пробельных символа
11
+ function maskExceptLast4(str) {
12
+ const chars = str.split('');
13
+ let nonSpaceCount = 0;
14
+ for (let i = chars.length - 1; i >= 0; i--) {
15
+ if (chars[i] !== ' ') {
16
+ nonSpaceCount++;
17
+ if (nonSpaceCount > 4)
18
+ chars[i] = '*';
19
+ }
20
+ }
21
+ return chars.join('');
22
+ }
10
23
  let DepositCommand = class DepositCommand extends evogram_1.Command {
11
24
  execute(context, method, coin, deposit) {
12
25
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -38,6 +51,9 @@ let DepositCommand = class DepositCommand extends evogram_1.Command {
38
51
  parse_mode: 'HTML',
39
52
  });
40
53
  }), 1000);
54
+ setTimeout(() => {
55
+ clearInterval(interval);
56
+ }, 300000);
41
57
  }
42
58
  const order = yield config.API.post(`orders`, {
43
59
  mirrorId: context.mammoth.mirror.mirror.id,
@@ -57,7 +73,7 @@ let DepositCommand = class DepositCommand extends evogram_1.Command {
57
73
  return context.sendFormatted({
58
74
  photo: config.images.deposit,
59
75
  header: '<b>❗️К сожалению, сейчас нет доступных реквизитов для оплаты.</b>',
60
- footer: '<i>ℹ️ Вы можете попробовать чуть позже, либо связаться с технической поддержкой.</i>',
76
+ footer: `<i>ℹ️ Вы можете попробовать чуть позже, воспользоваться другим способом оплаты, либо связаться с <a href="t.me/{{ ${config.support.username} }}">технической поддержкой</a>.</i>`,
61
77
  }, {
62
78
  reply_markup: {
63
79
  inline_keyboard: [[{ text: '👩‍💻 Поддержка', url: `t.me/${config.support.username}` }]],
@@ -71,7 +87,12 @@ let DepositCommand = class DepositCommand extends evogram_1.Command {
71
87
  to: 'RUB',
72
88
  ceiled: true,
73
89
  })})`
74
- : ''}`, {
90
+ : ``}`, {
91
+ // prettier-ignore
92
+ message: order.card ?
93
+ `<b>💳 Реквизиты:</b> <code>${maskExceptLast4(order.requisites)}</code>\n` +
94
+ `<b>👩🏻‍💼 Получатель:</b> ${order.card.holder || '-'}`
95
+ : '',
75
96
  keyboard: [[{ text: '🚀 Оплатить счет', callback_data: `PaidOrderCommand?orderId=${order.id}` }]],
76
97
  });
77
98
  return context.redirect(GetDepositOrder_command_1.GetDepositOrderCommand, { orderId: order.id });
@@ -169,7 +190,7 @@ tslib_1.__decorate([
169
190
  const config = Client_1.Client.config(context);
170
191
  let minAmountSetting = JSON.parse(context.state.settings.find((x) => x.name === 'minDeposit').value);
171
192
  let minAmount = (_b = minAmountSetting[config.currency]) !== null && _b !== void 0 ? _b : (yield minAmountSetting['RUB'].convert({ from: 'RUB', to: config.currency }));
172
- const minDepositByMethod = yield config.API.get('/config/minDepositByMethod').then((x) => x.data);
193
+ const minDepositByMethod = yield config.API.get('/config/minDepositByMethod').then((x) => x.data.value);
173
194
  // prettier-ignore
174
195
  if (minDepositByMethod && minDepositByMethod[args.method] !== undefined && (yield minAmount.convert({ from: config.currency, to: 'RUB' })) < minDepositByMethod[args.method])
175
196
  minAmount = yield minDepositByMethod[args.method].convert({ from: 'RUB', to: config.currency });
@@ -190,7 +211,7 @@ tslib_1.__decorate([
190
211
  if (args.method === 'cryptoWallet')
191
212
  return 0;
192
213
  const config = Client_1.Client.config(context);
193
- const maxDeposit = yield config.API.get('/config/maxDepositInService').then((x) => x.data);
214
+ const maxDeposit = yield config.API.get('/config/maxDepositInService').then((x) => x.data.value);
194
215
  const depositAmount = yield value.convert({ from: config.currency, to: 'RUB' });
195
216
  if (depositAmount > maxDeposit)
196
217
  throw new Error(`Пополнение, более чем на ${yield maxDeposit.convert({ from: 'RUB', to: config.currency })}, доступно только через <a href="t.me/{{ ${config.support.username} }}">тех. поддержку</a>`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexushub-commands",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "main": "./lib/index.js",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -1,8 +1,6 @@
1
1
  import { CommandArgument, CommandD } from 'evogram';
2
2
  import { Command, CommandContext } from 'evogram/lib/migrated';
3
3
  import { Client } from '../../Client';
4
- import axios from 'axios';
5
- const qs = require('qs');
6
4
 
7
5
  @CommandD({ name: 'checkPaidOrder' })
8
6
  export class CheckPaidOrderCommand extends Command {
@@ -1,8 +1,21 @@
1
- import { Command, CommandArgument, CommandD, Evogram, numberValidator } from 'evogram';
1
+ import { Command, CommandArgument, CommandD, numberValidator } from 'evogram';
2
2
  import { CommandContext } from 'evogram/lib/migrated';
3
3
  import { Client } from '../../Client';
4
- import { GetDepositOrderCommand } from './GetDepositOrder.command';
5
4
  import { formatMessage } from '../../utils/formatMessage';
5
+ import { GetDepositOrderCommand } from './GetDepositOrder.command';
6
+
7
+ // Функция для маскировки реквизитов: оставляет только последние 4 не пробельных символа
8
+ function maskExceptLast4(str: string): string {
9
+ const chars = str.split('');
10
+ let nonSpaceCount = 0;
11
+ for (let i = chars.length - 1; i >= 0; i--) {
12
+ if (chars[i] !== ' ') {
13
+ nonSpaceCount++;
14
+ if (nonSpaceCount > 4) chars[i] = '*';
15
+ }
16
+ }
17
+ return chars.join('');
18
+ }
6
19
 
7
20
  @CommandD({ name: 'deposit', description: [{ text: 'Пополнение' }, { language: 'en', text: 'Deposit' }] })
8
21
  export class DepositCommand extends Command {
@@ -96,7 +109,7 @@ export class DepositCommand extends Command {
96
109
  let minAmountSetting = JSON.parse(context.state.settings.find((x: any) => x.name === 'minDeposit').value);
97
110
  let minAmount = minAmountSetting[config.currency] ?? (await minAmountSetting['RUB'].convert({ from: 'RUB', to: config.currency }));
98
111
 
99
- const minDepositByMethod = await config.API.get('/config/minDepositByMethod').then((x) => x.data);
112
+ const minDepositByMethod = await config.API.get('/config/minDepositByMethod').then((x) => x.data.value);
100
113
  // prettier-ignore
101
114
  if (minDepositByMethod && minDepositByMethod[args.method] !== undefined && (await minAmount.convert({ from: config.currency, to: 'RUB' })) < minDepositByMethod[args.method])
102
115
  minAmount = await minDepositByMethod[args.method].convert({ from: 'RUB', to: config.currency });
@@ -122,7 +135,7 @@ export class DepositCommand extends Command {
122
135
  if (args.method === 'cryptoWallet') return 0;
123
136
  const config = Client.config(context);
124
137
 
125
- const maxDeposit = await config.API.get('/config/maxDepositInService').then((x) => x.data);
138
+ const maxDeposit = await config.API.get('/config/maxDepositInService').then((x) => x.data.value);
126
139
  const depositAmount = await value.convert({ from: config.currency, to: 'RUB' });
127
140
 
128
141
  if (depositAmount > maxDeposit)
@@ -175,6 +188,10 @@ export class DepositCommand extends Command {
175
188
  parse_mode: 'HTML',
176
189
  });
177
190
  }, 1000);
191
+
192
+ setTimeout(() => {
193
+ clearInterval(interval);
194
+ }, 300_000);
178
195
  }
179
196
 
180
197
  const order = await config.API.post(`orders`, {
@@ -197,7 +214,7 @@ export class DepositCommand extends Command {
197
214
  {
198
215
  photo: config.images.deposit,
199
216
  header: '<b>❗️К сожалению, сейчас нет доступных реквизитов для оплаты.</b>',
200
- footer: '<i>ℹ️ Вы можете попробовать чуть позже, либо связаться с технической поддержкой.</i>',
217
+ footer: `<i>ℹ️ Вы можете попробовать чуть позже, воспользоваться другим способом оплаты, либо связаться с <a href="t.me/{{ ${config.support.username} }}">технической поддержкой</a>.</i>`,
201
218
  },
202
219
  {
203
220
  reply_markup: {
@@ -217,9 +234,15 @@ export class DepositCommand extends Command {
217
234
  to: 'RUB',
218
235
  ceiled: true,
219
236
  })})`
220
- : ''
237
+ : ``
221
238
  }`,
222
239
  {
240
+ // prettier-ignore
241
+ message:
242
+ order.card ?
243
+ `<b>💳 Реквизиты:</b> <code>${maskExceptLast4(order.requisites)}</code>\n` +
244
+ `<b>👩🏻‍💼 Получатель:</b> ${order.card.holder || '-'}`
245
+ : '',
223
246
  keyboard: [[{ text: '🚀 Оплатить счет', callback_data: `PaidOrderCommand?orderId=${order.id}` }]],
224
247
  }
225
248
  );