@iris_duty_2020

Подключение автодоната?

В общем, захотел реализовать автодонат в боте ВКонтакте. Написал примерный код, но что-то пошло не так. Код:
function donateLink(options) {

    let payId = options.id;
    let Field1 = options.field1;
    let Field2 = options.field2;
	let secretKey = 'jksfacjc';
	let currency = 'RUB';
	let merchId = 309922;
	let sign = md5(`309922:${options.amount}:jksfacjc:RUB:tovar`);
	const url = `https://www.free-kassa.ru/merchant/cash.php?oa=${options.amount}&i=&m=${merchId}&go_2pay=1&wt=v3&form_id=1686450&s={sign}`;

	return url;
}

updates.hear(/^(?:тест донат)\s(.*)?/i, async message => {
   let don_currency = donateLink
   let currencyy = await vk.api.utils.getShortLink({ url: donateLink });
   return message.send(`Вы покупаете ${message.$match[1]} печенек\n\n Ссылка для оплаты ${currencyy.short_url}`)
   });


После ввода команды "тест донат {сумма}" -- бот игнорирует, а в консоли появляется ошибка:
Получено сообщение: тест донат 200 | 52 | пользователь: @id598958885 |

{ ExecuteError: Code №100 - One of the parameters specified was missing or invalid: url is undefined
at request.resolve.errors.map.error (/root/manager/node_modules/vk-io/lib/index.js:1240:62)
at Array.map ()
at API.callMethod (/root/manager/node_modules/vk-io/lib/index.js:1240:49)
at process._tickCallback (internal/process/next_tick.js:68:7) code: 100, name: 'ExecuteError', method: 'utils.getShortLink' }

Т.е. он не может найти url который надо сократить. Значит в функции где-то ошибка, но я не понимаю где. Функция в конце возвращает переменную "url"... Помогите пожалуйста

---

Пробовал ещё так:

function donateLink(options) {

    let payId = options.id;
    let Field1 = options.field1;
    let Field2 = options.field2;
	let secretKey = 'jksfacjc';
	let currency = 'RUB';
	let merchId = 309922;
	let sign = md5(`309922:${options.amount}:jksfacjc:RUB:tovar`);
	const url = `https://www.free-kassa.ru/merchant/cash.php?oa=${options.amount}&i=&m=${merchId}&go_2pay=1&wt=v3&form_id=1686450&s={sign}`;

	return url;
}

updates.hear(/^(?:тест донат)\s(.*)?/i, async message => {
   let don_currency = donateLink
   let currencyy = await vk.api.utils.getShortLink({ url: don_currency});
   return message.send(`Вы покупаете ${message.$match[1]} печенек\n\n Ссылка для оплаты ${currencyy.short_url}`)
   });
  • Вопрос задан
  • 394 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы