Помогите решить проблему, Бот не отвечает при старте бота по реферальной ссылке , при обычном старте всё ок
<?php
// user_logic.php
// Получение данных из запроса пользователя
$update = json_decode(file_get_contents('php://input'), true);
// Проверка наличия сообщения и команды от пользователя
if (isset($update['message']) && isset($update['message']['text'])) {
$message = $update['message'];
$chatId = $message['chat']['id'];
$command = $message['text'];
// Обработка команды /start
if ($command == "/start") {
handleStartCommand($chatId, null);
} elseif (preg_match("~^/start ref([d]+)$~", $command, $matches)) {
$refChatId = $matches[1];
handleStartCommand($chatId, $refChatId);
}
}
// Функция для обработки команды /start
function handleStartCommand($chatId, $refChatId)
{
global $bot_username, $conn;
if ($refChatId) {
$messageText = "Спасибо за использование реферальной команды! Реферальный chat_id: $refChatId.";
} else {
$messageText = "*Добро Пожаловать в Мир Турецких Сериалов!*👻
Нажми *Открыть Приложение* для просмотра сериала!😍
Если тебе понравилось приложение поделись им с друзьями! 😘";
}
$ref_link = "https://t.me/share/url?url=https://t.me/" . urlencode($bot_username) . "?start=ref" . $chatId;
// Создаем массив с кнопками клавиатуры
$keyboard = [
'inline_keyboard' => [
[
[
'text' => '🎬 Открыть приложение',
'web_app' => ['url' => 'https://rutele.ru/'.$bot_username.'/app/index.php']
],
],
[
[
'text' => '➕ Пригласить друга',
'url' => $ref_link
]
]
]
];
// Формируем параметры для отправки сообщения с клавиатурой
$params = [
'chat_id' => $chatId,
'text' => $messageText,
'parse_mode' => 'Markdown',
'reply_markup' => json_encode($keyboard)
];
// Отправляем сообщение пользователю
sendMessage($params);
// Сохраняем информацию о пользователе в базе данных
saveUser($chatId, $refChatId);
}
// Функция для отправки сообщения пользователю
function sendMessage($params)
{
global $token;
$url = "https://api.telegram.org/bot" . $token . "/sendMessage";
$options = [
'http' => [
'header' => "Content-type: application/x-www-form-urlencodedrn",
'method' => 'POST',
'content' => http_build_query($params),
],
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
}
// Функция для сохранения информации о пользователе
function saveUser($chatId, $refChatId)
{
global $conn;
// Проверяем, есть ли уже запись с таким chat_id в таблице user
$sql = "SELECT * FROM user WHERE chat_id = '$chatId'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Запись уже существует, не нужно создавать новую
return;
}
// Добавляем запись в таблицу user
$sql = "INSERT INTO user (chat_id, ref_chat_id) VALUES ('$chatId', '$refChatId')";
$conn->query($sql);
}
Откройте по ссылке или QR бот @iMakeBot, нажмите кнопку Старт/Start.
Следуйте инструкциям бота.
Нашёл решение