Простой скрипт отправки данных скорости OpenSpeedTest вам в телеграм бот

Для начала редактируете файл index.html
// Save Data to a Database var OpenSpeedTestdb; var saveData = true; var saveDataURL = "https://hd.zp.ua/save.php?data=";
И сам файл скрипта save.php
<?php
declare(strict_types=1);
// === НАСТРОЙКИ ===
$botToken = 'ваш токен';
$chatId = '45646876'; // ID куда отправлять результаты
$logFile = __DIR__ . '/speedtest.log'; // путь к лог-файлу
function log_write(string $text): void {
global $logFile;
$line = '[' . date('Y-m-d H:i:s') . '] ' . $text . "\n";
file_put_contents($logFile, $line, FILE_APPEND);
}
// Получаем данные запроса
$ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
$ua = $_SERVER['HTTP_USER_AGENT'] ?? 'unknown';
$dataRaw = file_get_contents('php://input');
$getData = json_encode($_GET);
$postData = json_encode($_POST);
log_write("Получены данные от {$ip} ({$ua}) → RAW: {$dataRaw} | GET: {$getData} | POST: {$postData}");
// Попытка парсинга RAW URL
$parsedParams = [];
if (preg_match('/https?:\/\/openspeedtest\.com\/results\/show\.php\?(.*)/', $dataRaw, $matches)) {
parse_str(html_entity_decode($matches[1]), $parsedParams);
// Формируем красивое сообщение
$messageText = "📡 <b>OpenSpeedTest Results</b>\n\n";
$messageText .= "IP: <code>{$ip}</code>\n";
$messageText .= "UA: <code>{$ua}</code>\n\n";
if (!empty($parsedParams)) {
$messageText .= "📊 <b>Test Data</b>\n";
$messageText .= "⬇ Download: <b>{$parsedParams['d']} Mbps</b>\n";
$messageText .= "⬆ Upload: <b>{$parsedParams['u']} Mbps</b>\n";
$messageText .= "📶 Ping: <b>{$parsedParams['p']} ms</b>\n";
$messageText .= "🎯 Jitter: <b>{$parsedParams['j']} ms</b>\n";
$messageText .= "💾 Download Data: <b>{$parsedParams['dd']} MB</b>\n";
$messageText .= "💾 Upload Data: <b>{$parsedParams['ud']} MB</b>\n";
$messageText .= "🌐 User-Agent: <code>{$parsedParams['ua']}</code>\n";
} else {
$messageText .= "❌ Не удалось распарсить RAW данные.";
}
// Отправка в Telegram
$telegramUrl = "https://api.telegram.org/bot{$botToken}/sendMessage";
$ch = curl_init($telegramUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
'chat_id' => $chatId,
'text' => $messageText,
'parse_mode' => 'HTML'
]);
$response = curl_exec($ch);
curl_close($ch);
log_write("Отправлено в Telegram: " . $response);
}
// Ответ клиенту
http_response_code(200);
echo 'OK';
