Skip to content

Commit 388c858

Browse files
committed
fix auto play ads
1 parent 09abe98 commit 388c858

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

TbsCore/Tasks/LowLevel/UpgradeBuilding.cs

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ private async Task<bool> TryFastUpgrade(Account acc)
341341
}
342342

343343
// click to play video
344-
acc.Logger.Information("Waiting ads video load before clicking play button");
344+
acc.Logger.Information("Waiting ads video play button show");
345345

346346
{
347347
var result = await Update(acc);
@@ -362,10 +362,12 @@ private async Task<bool> TryFastUpgrade(Account acc)
362362
action.Perform();
363363

364364
await Task.Delay(rand.Next(10000, 15000));
365-
var handles = acc.Wb.Driver.WindowHandles;
366365

367-
while (handles.Count > 1)
366+
do
368367
{
368+
var handles = acc.Wb.Driver.WindowHandles;
369+
if (handles.Count == 1) break;
370+
369371
acc.Logger.Information("Detect auto play ads, bot maybe pause ads. Great work Travian Devs");
370372
var current = acc.Wb.Driver.CurrentWindowHandle;
371373
var other = acc.Wb.Driver.WindowHandles.FirstOrDefault(x => !x.Equals(current));
@@ -374,28 +376,31 @@ private async Task<bool> TryFastUpgrade(Account acc)
374376
acc.Wb.Driver.SwitchTo().Window(current);
375377
action.Perform();
376378
}
379+
while (true);
377380
}
378381

382+
acc.Wb.Driver.SwitchTo().DefaultContent();
383+
379384
acc.Logger.Information("Clicked play button, if ads doesn't play please click to help bot");
380385
acc.Logger.Information("Cooldown 3 mins. If building cannot upgrade will use normal button");
381386

382-
try
383-
{
384-
await DriverHelper.WaitPageChange(acc, "dorf", 3);
385-
}
386-
catch
387387
{
388-
acc.Wb.UpdateHtml();
389-
if (acc.Wb.Html.GetElementbyId("dontShowThisAgain") != null)
390-
{
391-
await DriverHelper.ClickById(acc, "dontShowThisAgain");
392-
await Task.Delay(800);
393-
await DriverHelper.ClickByClassName(acc, "dialogButtonOk ok");
394-
}
395-
else
388+
var result = await DriverHelper.WaitPageChange(acc, "dorf", 3);
389+
if (!result)
396390
{
397-
await acc.Wb.Refresh();
398-
return false;
391+
acc.Wb.UpdateHtml();
392+
if (acc.Wb.Html.GetElementbyId("dontShowThisAgain") != null)
393+
{
394+
await DriverHelper.ClickById(acc, "dontShowThisAgain");
395+
await Task.Delay(800);
396+
await DriverHelper.ClickByClassName(acc, "dialogButtonOk ok");
397+
return true;
398+
}
399+
else
400+
{
401+
await acc.Wb.Refresh();
402+
return false;
403+
}
399404
}
400405
}
401406

0 commit comments

Comments
 (0)