feat support bot
This commit is contained in:
+12
-4
@@ -1906,7 +1906,8 @@ class BotInterface:
|
||||
f"📺 Стример: {params.channel}\n"
|
||||
f"🌐 Домены: {domains}\n\n"
|
||||
f"🔗 Ссылок найдено: {params.links_found}\n"
|
||||
f"✅ Успешных кликов: {params.successful_visits}\n\n"
|
||||
f"✅ Кликов: {params.successful_visits}/{params.total_planned_visits}\n"
|
||||
f"⏳ В очереди: {params.pending_visits}\n\n"
|
||||
f"📊 CTR: {ctr_str}\n"
|
||||
f"⏱ Пауза между кликами: {params.min_delay}–{params.max_delay} сек\n"
|
||||
f"📖 Время на странице: {params.min_reading}–{params.max_reading} сек"
|
||||
@@ -1967,7 +1968,8 @@ class BotInterface:
|
||||
f"📺 Стример: {params.channel}\n"
|
||||
f"🌐 Домены: {domains}\n\n"
|
||||
f"🔗 Ссылок найдено: {params.links_found}\n"
|
||||
f"✅ Успешных кликов: {params.successful_visits}\n\n"
|
||||
f"✅ Кликов: {params.successful_visits}/{params.total_planned_visits}\n"
|
||||
f"⏳ В очереди: {params.pending_visits}\n\n"
|
||||
f"📊 CTR: {ctr_str} от зрителей\n"
|
||||
f"⏱ Пауза между кликами: {params.min_delay}–{params.max_delay} сек\n"
|
||||
f"📖 Время на странице: {params.min_reading}–{params.max_reading} сек"
|
||||
@@ -2239,11 +2241,14 @@ class BotInterface:
|
||||
visits_count = max(1, round(params.visits_per_link * ctr / 100))
|
||||
calc_info = f"зрители недоступны, фикс {params.visits_per_link} × {ctr:.2f}% = {visits_count} кликов"
|
||||
|
||||
logger.info(f"🔗 @{username} {url} → {visits_count} clicks ({calc_info})")
|
||||
params.pending_visits += visits_count
|
||||
params.total_planned_visits += visits_count
|
||||
logger.info(f"🔗 @{username} {url} → {visits_count} clicks ({calc_info}), total pending: {params.pending_visits}")
|
||||
await send_message_safe(
|
||||
message.bot, message.chat.id,
|
||||
f"🔗 @{username}: {url[:60]}\n"
|
||||
f"📊 {calc_info}"
|
||||
f"📊 {calc_info}\n"
|
||||
f"⏳ В очереди всего: {params.pending_visits} кликов"
|
||||
)
|
||||
|
||||
# Роут: [задержка] → клик1 → [задержка] → клик2 → ... → кликN
|
||||
@@ -2280,6 +2285,7 @@ class BotInterface:
|
||||
try:
|
||||
result = await self.browser_service.visit_page(url, reading)
|
||||
params.total_visits += 1
|
||||
params.pending_visits = max(0, params.pending_visits - 1)
|
||||
if result.success:
|
||||
params.successful_visits += 1
|
||||
remaining -= 1
|
||||
@@ -2287,6 +2293,7 @@ class BotInterface:
|
||||
new_balance = await self.balance_storage.deduct(params.user_id, 1)
|
||||
if new_balance <= 0:
|
||||
params.stopped = True
|
||||
params.pending_visits = max(0, params.pending_visits - remaining)
|
||||
await send_message_safe(
|
||||
message.bot, params.chat_id,
|
||||
"⚠️ Баланс исчерпан — задача остановлена."
|
||||
@@ -2296,6 +2303,7 @@ class BotInterface:
|
||||
remaining -= 1
|
||||
except Exception as e:
|
||||
logger.error(f"Visit error: {e}")
|
||||
params.pending_visits = max(0, params.pending_visits - 1)
|
||||
remaining -= 1
|
||||
|
||||
# Клик завершён — проверяем паузу
|
||||
|
||||
Reference in New Issue
Block a user