fix: исправлена команда /check_updates в Telegram боте

- exec_check_updates в telegram.uc: исправлен парсинг JSON ответа component_update_check_cache
  (формат { enabled, results: [] } вместо словаря по имени компонента)
- исправлено поле installed_version -> current_version
- добавлена обработка случая disabled/пустой кэш/ошибка success
- добавлено отображение zapret2 и других компонентов
This commit is contained in:
Dushnilin
2026-08-04 21:03:24 +03:00
parent 888a9633d4
commit 9815198585
+21 -11
View File
@@ -1132,20 +1132,30 @@ function exec_check_updates(token, chat_id, msg_id) {
if (out && out != "") {
try {
let data = json(out);
let results = data.results || [];
let has_updates = false;
for (let name in data) {
let comp = data[name];
let title = (name == "sing_box") ? "sing-box" : name;
text += "• <b>" + title + "</b>: " + comp.installed_version;
if (comp.status == "outdated") {
text += " ➡️ <code>" + comp.latest_version + "</code> ⚠️\n";
push(keyboard, [{text: "🔄 Обновить " + title, callback_data: "/update_component " + name}]);
has_updates = true;
} else {
text += " (Актуально)\n";
if (!data.enabled) {
text += "ℹ️ Проверка обновлений отключена в настройках.";
} else if (length(results) == 0) {
text += "ℹ️ Кэш пуст. Зайдите позже — проверка обновлений запускается автоматически.";
} else {
for (let comp in results) {
let name = comp.component || "";
let title = (name == "sing_box") ? "sing-box" : name;
let cur = comp.current_version || "?";
let lat = comp.latest_version || "?";
if (!comp.success) {
text += "• <b>" + title + "</b>: ❌ Ошибка проверки\n";
} else if (comp.status == "outdated") {
text += "• <b>" + title + "</b>: <code>" + cur + "</code> ➡️ <code>" + lat + "</code> ⚠️\n";
push(keyboard, [{text: "🔄 Обновить " + title, callback_data: "/update_component " + name}]);
has_updates = true;
} else {
text += "• <b>" + title + "</b>: <code>" + cur + "</code> ✅\n";
}
}
if (!has_updates) text += "\n✅ Все компоненты актуальны.";
}
if (!has_updates) text += "\n✅ Все компоненты актуальны.";
} catch(e) {
text += "❌ Ошибка парсинга кэша: " + e;
}