diff --git a/gotelegram-bot/bot.py b/gotelegram-bot/bot.py index a73e0b9..5d0f57d 100644 --- a/gotelegram-bot/bot.py +++ b/gotelegram-bot/bot.py @@ -50,7 +50,7 @@ logger = logging.getLogger(__name__) # CONFIGURATION # ============================================================================ -GOTELEGRAM_VERSION = "2.3.0" +GOTELEGRAM_VERSION = "2.3.1" GOTELEGRAM_CONFIG = "/opt/gotelegram/config.json" TELEMT_CONFIG = "/etc/telemt/config.toml" TELEMT_SERVICE = "telemt" diff --git a/install.sh b/install.sh index 0a893de..a5f29a6 100755 --- a/install.sh +++ b/install.sh @@ -333,6 +333,9 @@ install_lite_mode() { # Результат show_proxy_info log_success "GoTelegram v${GOTELEGRAM_VERSION} установлен! (Lite-режим)" + + # Промо при установке + show_promo_with_qr } # ── Pro-режим ──────────────────────────────────────────────────────────────── @@ -428,6 +431,9 @@ install_pro_mode() { show_proxy_info_pro "$user_domain" "$faketls_secret" echo -e " ${WHITE}Сайт:${NC} ${GREEN}https://${user_domain}${NC}" log_success "GoTelegram v${GOTELEGRAM_VERSION} установлен! (Pro-режим)" + + # Промо при установке + show_promo_with_qr } # ── Статус ─────────────────────────────────────────────────────────────────── @@ -924,16 +930,91 @@ bot_remove() { menu_promo() { echo "" echo -e " ${YELLOW}╔══════════════════════════════════════════════════════╗${NC}" - echo -e " ${YELLOW}║${NC} ${BOLD}💰 ХОСТИНГ СО СКИДКОЙ ДО -60%${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${BOLD}💰 ХОСТИНГ #1 — СКИДКА ДО 60%${NC} ${YELLOW}║${NC}" echo -e " ${YELLOW}║${NC} Ссылка: ${CYAN}https://vk.cc/ct29NQ${NC} ${YELLOW}║${NC}" echo -e " ${YELLOW}║${NC} ${YELLOW}║${NC}" - echo -e " ${YELLOW}║${NC} Промокоды: OFF60, antenka20, antenka6, antenka12 ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}OFF60${NC} — 60% скидки на первый месяц ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}antenka20${NC} — 20% + 3% при оплате за 3 месяца ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}antenka6${NC} — 15% + 5% при оплате за 6 месяцев ${YELLOW}║${NC}" + echo -e " ${YELLOW}╟──────────────────────────────────────────────────────╢${NC}" + echo -e " ${YELLOW}║${NC} ${BOLD}💰 ХОСТИНГ #2 — СКИДКА ДО 60%${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} Ссылка: ${CYAN}https://vk.cc/cUxAhj${NC} ${YELLOW}║${NC}" echo -e " ${YELLOW}║${NC} ${YELLOW}║${NC}" - echo -e " ${YELLOW}║${NC} Донат: ${CYAN}https://pay.cloudtips.ru/p/7410814f${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}OFF60${NC} — 60% скидки на первый месяц ${YELLOW}║${NC}" + echo -e " ${YELLOW}╟──────────────────────────────────────────────────────╢${NC}" + echo -e " ${YELLOW}║${NC} ${BOLD}☕ Донат / Чаевые${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${CYAN}https://pay.cloudtips.ru/p/7410814f${NC} ${YELLOW}║${NC}" echo -e " ${YELLOW}╚══════════════════════════════════════════════════════╝${NC}" echo "" } +# ── Проверка: показывать ли промо (раз в сутки) ──────────────────────────── +should_show_promo() { + local stamp_file="$GOTELEGRAM_DIR/.promo_last_shown" + if [ ! -f "$stamp_file" ]; then + return 0 # никогда не показывали + fi + local last_shown now diff + last_shown=$(cat "$stamp_file" 2>/dev/null || echo "0") + last_shown="${last_shown//[^0-9]/}" + last_shown="${last_shown:-0}" + now=$(date +%s) + diff=$(( now - last_shown )) + # 86400 = 24 часа + [ "$diff" -ge 86400 ] +} + +mark_promo_shown() { + mkdir -p "$GOTELEGRAM_DIR" + date +%s > "$GOTELEGRAM_DIR/.promo_last_shown" +} + +# ── Промо с QR и задержкой (при установке + раз в сутки) ─────────────────── +show_promo_with_qr() { + echo "" + echo -e " ${YELLOW}╔══════════════════════════════════════════════════════╗${NC}" + echo -e " ${YELLOW}║${NC} ${BOLD}💰 ХОСТИНГ #1 — СКИДКА ДО 60%${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} Ссылка: ${CYAN}https://vk.cc/ct29NQ${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}OFF60${NC} — 60% скидки на первый месяц ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}antenka20${NC} — 20% + 3% при оплате за 3 месяца ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}antenka6${NC} — 15% + 5% при оплате за 6 месяцев ${YELLOW}║${NC}" + echo -e " ${YELLOW}╟──────────────────────────────────────────────────────╢${NC}" + echo -e " ${YELLOW}║${NC} ${BOLD}💰 ХОСТИНГ #2 — СКИДКА ДО 60%${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} Ссылка: ${CYAN}https://vk.cc/cUxAhj${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${YELLOW}║${NC}" + echo -e " ${YELLOW}║${NC} ${WHITE}OFF60${NC} — 60% скидки на первый месяц ${YELLOW}║${NC}" + echo -e " ${YELLOW}╚══════════════════════════════════════════════════════╝${NC}" + echo "" + + # QR-коды + if command -v qrencode &>/dev/null; then + echo -e " ${DIM}── QR: Хостинг #1 ──${NC}" + qrencode -t UTF8 -m 1 "https://vk.cc/ct29NQ" 2>/dev/null | while IFS= read -r qr_line; do + echo " $qr_line" + done + echo "" + echo -e " ${DIM}── QR: Хостинг #2 ──${NC}" + qrencode -t UTF8 -m 1 "https://vk.cc/cUxAhj" 2>/dev/null | while IFS= read -r qr_line; do + echo " $qr_line" + done + echo "" + echo -e " ${DIM}── QR: Чаевые / Донат ──${NC}" + qrencode -t UTF8 -m 1 "https://pay.cloudtips.ru/p/7410814f" 2>/dev/null | while IFS= read -r qr_line; do + echo " $qr_line" + done + fi + + mark_promo_shown + + # 5-секундная задержка с обратным отсчётом + for i in 5 4 3 2 1; do + echo -ne "\r ${DIM}Меню через ${i} сек...${NC} " + sleep 1 + done + echo -ne "\r \r" +} + # ── Точка входа ────────────────────────────────────────────────────────────── main() { check_root @@ -944,6 +1025,11 @@ main() { check_os check_disk_space 500 + # Промо раз в сутки + if should_show_promo; then + show_promo_with_qr + fi + while true; do clear show_main_menu diff --git a/lib/common.sh b/lib/common.sh index cef9bfe..7bc52db 100755 --- a/lib/common.sh +++ b/lib/common.sh @@ -3,7 +3,7 @@ # Цвета, логирование, спиннер, системные функции, совместимость с v1 # ── Версия ──────────────────────────────────────────────────────────────────── -GOTELEGRAM_VERSION="2.3.0" +GOTELEGRAM_VERSION="2.3.1" GOTELEGRAM_NAME="GoTelegram" # ── Пути ──────────────────────────────────────────────────────────────────────