Skip to content

Commit 3193a3d

Browse files
authored
Merge pull request #48 from Erol444/develop
Update chrome driver and fix dorf2 info missing
2 parents b6e22f4 + 74ec3e4 commit 3193a3d

40 files changed

+1109
-1031
lines changed

TbsCore/Core/TaskExecutor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public static async Task PageLoaded(Account acc)
6161
if (IsSysMsg(acc)) //Check if there is a system message (eg. Artifacts/WW plans appeared)
6262
{
6363
await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/dorf1.php?ok");
64-
await Task.Delay(AccountHelper.Delay());
64+
await Task.Delay(AccountHelper.Delay(acc));
6565
}
6666

6767
//TODO: limit this for performance reasons?
@@ -78,7 +78,7 @@ public static async Task PageLoaded(Account acc)
7878
public static async Task Execute(Account acc, BotTask task)
7979
{
8080
// Before every execution, wait a random delay
81-
await Task.Delay(AccountHelper.Delay());
81+
await Task.Delay(AccountHelper.Delay(acc));
8282

8383
if (task.Vill == null) task.Vill = acc.Villages.FirstOrDefault(x => x.Active);
8484

TbsCore/Core/WebBrowserInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,14 +175,14 @@ public async Task Navigate(string url)
175175
repeatCnt = 0;
176176
var changeAccess = new ChangeAccess();
177177
await changeAccess.Execute(acc);
178-
await Task.Delay(AccountHelper.Delay() * 5);
178+
await Task.Delay(AccountHelper.Delay(acc) * 5);
179179
}
180-
await Task.Delay(AccountHelper.Delay());
180+
await Task.Delay(AccountHelper.Delay(acc));
181181
}
182182
}
183183
while (repeat);
184184

185-
await Task.Delay(AccountHelper.Delay());
185+
await Task.Delay(AccountHelper.Delay(acc));
186186

187187
UpdateHtml();
188188

TbsCore/Helpers/AccountHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@ public static Village GetQuestsClaimVillage(Account acc)
4949
/// Returns a random delay (click delay, ~0.5-1.6sec).
5050
/// </summary>
5151
/// <returns>Random delay in milliseconds</returns>
52-
public static int Delay()
52+
public static int Delay(Account acc)
5353
{
5454
//Return random delay
5555
Random rnd = new Random();
56-
return rnd.Next(500, 1600);
56+
return acc.Settings.DelayClicking + rnd.Next(-500, 500);
5757
}
5858

5959
public static void StartAccountTasks(Account acc)

TbsCore/Helpers/DriverHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static async Task<bool> ExecuteScript(Account acc, string script, bool lo
2222
acc.Wb.ExecuteScript(script);
2323
if (update)
2424
{
25-
await Task.Delay(AccountHelper.Delay());
25+
await Task.Delay(AccountHelper.Delay(acc));
2626
acc.Wb.UpdateHtml();
2727
}
2828
return true;

TbsCore/Helpers/MarketHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public static async Task<TimeSpan> MarketSendResource(Account acc, long[] resour
156156
sendRes[i] -= remainder;
157157
await DriverHelper.WriteById(acc, "r" + (i + 1), sendRes[i]);
158158
}
159-
await Task.Delay(AccountHelper.Delay() / 5);
159+
await Task.Delay(AccountHelper.Delay(acc) / 5);
160160
}
161161

162162
// Input coordinates
@@ -166,7 +166,7 @@ public static async Task<TimeSpan> MarketSendResource(Account acc, long[] resour
166166
if (times != 1)
167167
{
168168
acc.Wb.ExecuteScript($"document.getElementById('x2').value='{times}'");
169-
await Task.Delay(AccountHelper.Delay() / 5);
169+
await Task.Delay(AccountHelper.Delay(acc) / 5);
170170
}
171171
await DriverHelper.ClickById(acc, "enabledButton");
172172

TbsCore/Models/Settings/GeneralSettings.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ public void Init()
2525

2626
DonateAbove = 95;
2727
DonateExcessOf = 65;
28-
DiscordWebhook = false;
28+
DiscordWebhook = false;
29+
DelayClicking = 3000;
2930
}
3031

3132
public bool AutoActivateProductionBoost { get; set; }
@@ -131,6 +132,11 @@ public void Init()
131132
/// Announce every bot online
132133
/// </summary>
133134
public bool DiscordOnlineAnnouncement { get; set; }
135+
136+
/// <summary>
137+
/// How long should bot click between 2 click ( bot will +- 500ms for random )
138+
/// </summary>
139+
public int DelayClicking { get; set; }
134140
}
135141

136142
/// <summary>

TbsCore/Parsers/InfrastructureParser.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,18 @@ public static class InfrastructureParser
1313
public static List<Building> GetBuildings(Account acc, HtmlAgilityPack.HtmlDocument htmlDoc)
1414
{
1515
List<Building> buildings = new List<Building>();
16-
var villMap = htmlDoc.GetElementbyId("village_map");
16+
HtmlAgilityPack.HtmlNode villMap = null;
17+
switch (acc.AccInfo.ServerVersion)
18+
{
19+
case Classificator.ServerVersionEnum.T4_5:
20+
villMap = htmlDoc.GetElementbyId("villageContent");
21+
break;
22+
23+
case Classificator.ServerVersionEnum.T4_4:
24+
villMap = htmlDoc.GetElementbyId("village_map");
25+
break;
26+
}
27+
1728
if (villMap == null) return buildings;
1829

1930
var fields = villMap.ChildNodes.Where(x => x.Name == "div").ToList();

TbsCore/Tasks/LowLevel/AddFarm.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public override async Task<TaskRes> Execute(Account acc)
2727
await DriverHelper.WriteById(acc, $"t{i + 1}", Farm.Troops[i]);
2828
}
2929

30-
await Task.Delay(AccountHelper.Delay());
30+
await Task.Delay(AccountHelper.Delay(acc));
3131

3232
// Click "save"
3333
switch (acc.AccInfo.ServerVersion)

TbsCore/Tasks/LowLevel/ChangeVillageName.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public override async Task<TaskRes> Execute(Account acc)
3131
acc.Wb.ExecuteScript(script); //insert new name into the textbox
3232
}
3333

34-
await Task.Delay(AccountHelper.Delay());
34+
await Task.Delay(AccountHelper.Delay(acc));
3535

3636
acc.Wb.ExecuteScript("document.getElementById('PlayerProfileEditor').submit()"); //click save button
3737

@@ -64,7 +64,7 @@ public override async Task<TaskRes> Execute(Account acc)
6464
acc.Wb.FindElementByXPath($"//input[@name='dname[{change.Item1}]=']").SendKeys(change.Item2);
6565
}
6666

67-
await Task.Delay(AccountHelper.Delay());
67+
await Task.Delay(AccountHelper.Delay(acc));
6868
acc.Wb.FindElementById("btn_ok").Click(); //click save button
6969

7070
return TaskRes.Executed;

TbsCore/Tasks/LowLevel/CheckAttacks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public override async Task<TaskRes> Execute(Account acc)
4444
await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/build.php?gid=16&tt=1&filter=1&subfilters=1&page={++page}");
4545
var pageAttacks = TroopsMovementParser.ParseTroopsOverview(acc, acc.Wb.Html);
4646
attacks.AddRange(pageAttacks);
47-
await Task.Delay(AccountHelper.Delay());
47+
await Task.Delay(AccountHelper.Delay(acc));
4848
}
4949
while (!acc.Wb.Html // While the next page img isn't disabled
5050
.GetElementbyId("build")

0 commit comments

Comments
 (0)