php telegram ref link
При старте Бота в telegram, добавляет информацию в БД
$con3 = $db->prepare("INSERT INTO referal(user_id, link, count) VALUES (?,?,?)");
$con3->execute([$chat_id, 'https://t.me/link?start=r_'.$chat_id, 0]);
То есть ссылка + чат айди являются реферальной ссылкой пользователя, которая выводится путем
$con4 = $db->prepare("SELECT `link` FROM `referal` WHERE `user_id` = ?");
$con4->execute([$chat_id]);
$exists3 = $con4->fetch(PDO::FETCH_ASSOC);
$ref_link = $exists3['link'];
Осталось последние, это сделать
$db->query("UPDATE referal SET count = count +1 WHERE user_id = $chat_id");
Сделать чтобы в число рефералов прибавлялось +1 тому, по чьей ссылке активировали Бота
Попробовал сделать, что-то такое
// Получаем user_id из ID реферала
function parseRefLink($ref_link) {
$ref_link = strtolower($ref_link);
if (!preg_match('/^r_([0-9a-z]+)$/', $ref_link)) {
return false;
}
$ref_link = substr($ref_link, 2);
return intval(base_convert($ref_link, 36, 10));
}
// Получаем ID реферала из user_id
function getRefLink($tg_user_id) {
return 'r_'.base_convert($tg_user_id, 10, 36);
}
Но не знаю, как прикрутить запрос БД и будет-ли работать то, что пытаюсь сделать я?