Всем привет, установил бота телеграм подписки и продвижение, все функции исправил что-то убрал, что-то доьавил. Осталась одна функция с которой не как сам не могу разобраться, переход по ссылкам. Должно быть так, человек переходит по ссылке catcut смотрит рекламу 15 секунд нажимает пропустить и его кидает на скрипт обработчик который проверяет hash и по его id вносит изменения в мангуст (статус ссылки true, изменяет баланс юзера), так-же отправляет сообщение в бот на id юзера что начислили за просмотр. Может у кого есть пример этого обработчик что на сервер ставить, с бота переход происходит нормально, переход в панели catcut фиксирует, я не понимаю как реализовать обработку данных на сервере после перехода. else if (d == "catcut") { bot.deleteMessage(uid, msg.message.message_id) var cc = await CatCut.findOne({ uid }) if (cc == null) { var urls = [0, 1, 2, 3, 4] var hash = generateID(16) urls = urls.map((n) => { console.log(encrypt(JSON.stringify({ uid, n, hash }))); return http://catcut.net/go.php?h_i=10811&h_u=${Buffer.from(`http://мой сайт/CatCutHandler/${encrypt(JSON.stringify({ uid, n, hash }))}/, "utf8").toString("base64").replace("=", "")}` }) cc = new CatCut({ uid, status: [false, false, false, false, false], hash, urls }) await cc.save() } var kb = bot.inlineKeyboard([[]]) for (var i = 0; i < cc.status.length; i++) { cc.status[i] ? kb.inline_keyboard[0].push(bot.inlineButton("✅", { callback: "cc_already" })) : kb.inline_keyboard[0].push(bot.inlineButton("", { url: cc.urls[i] })) } bot.sendMessage(uid, <b> Заработок на ссылках - уникальная функция нашего бота</b>\n\n5 Ежедневно Вам доступно <b>5 ссылок</b>\n После перехода Вам необходимо подождать <b>15 секунд</b>\n За каждый переход Вы получите <b>0.01₽</b>\n Ссылки обновляются каждые <b>12 часов</b>, { parseMode: html, replyMarkup: kb }) } else if (d == "cc_already") { return bot.answerCallbackQuery(msg.id, { text: "Вы уже переходили по этой ссылке. Попробуйте позже" }) } Код else if (d == "catcut") { bot.deleteMessage(uid, msg.message.message_id) var cc = await CatCut.findOne({ uid }) if (cc == null) { var urls = [0, 1, 2, 3, 4] var hash = generateID(16) urls = urls.map((n) => { console.log(encrypt(JSON.stringify({ uid, n, hash }))); return http://catcut.net/go.php?h_i=10811&h_u=${Buffer.from(`http://мой сайт/CatCutHandler/${encrypt(JSON.stringify({ uid, n, hash }))}/, "utf8").toString("base64").replace("=", "")}` }) cc = new CatCut({ uid, status: [false, false, false, false, false], hash, urls }) await cc.save() } var kb = bot.inlineKeyboard([[]]) for (var i = 0; i < cc.status.length; i++) { cc.status[i] ? kb.inline_keyboard[0].push(bot.inlineButton("✅", { callback: "cc_already" })) : kb.inline_keyboard[0].push(bot.inlineButton("", { url: cc.urls[i] })) } bot.sendMessage(uid, <b> Заработок на ссылках - уникальная функция нашего бота</b>\n\n5 Ежедневно Вам доступно <b>5 ссылок</b>\n После перехода Вам необходимо подождать <b>15 секунд</b>\n За каждый переход Вы получите <b>0.01₽</b>\n Ссылки обновляются каждые <b>12 часов</b>, { parseMode: html, replyMarkup: kb }) } else if (d == "cc_already") { return bot.answerCallbackQuery(msg.id, { text: "Вы уже переходили по этой ссылке. Попробуйте позже" }) }