vertification

This commit is contained in:
”minicx” 2022-12-02 20:38:40 +03:00
parent 8ab8d0363f
commit 8cdace4079
5 changed files with 45 additions and 34 deletions

View File

@ -1,9 +1,24 @@
import Hero from "@ulixee/hero";
import * as telegram from 'telegram';
import { sleep } from "telegram/Helpers";
import { AccountInterface } from "./interfaces/databaseInterface";
import { waitNewMessages } from "./utils";
export const vertification=async function vertification(worker: AccountInterface,hero: Omit<Hero, "then">,url: string) {
await hero.goto(url);
export const vertification=async function vertification(client: telegram.TelegramClient,worker: AccountInterface,hero: Omit<Hero, "then">,url: string,botEntity: telegram.Api.Chat | telegram.Api.User,idOfLastMessage: number) {
await hero.goto(url,{timeoutMs:180_000});
await hero.waitForLoad('AllContentLoaded');
const captchaButton=hero.document.querySelector('button.g-recaptcha.btn.btn-primary');
if (captchaButton!=null){
let verify=hero.document.querySelector('body > section > h2');
while (verify!=null && (await verify.textContent)!.includes('All right!')==false){
await hero.interact({click:{element: captchaButton, verification: 'exactElement'}});
await sleep(5000);
verify=hero.document.querySelector('body > section > h2');
}
} else {
throw new Error('Cant find captcha button');
}
}

View File

@ -219,47 +219,42 @@ const farm: ()=>Promise<void>=async ()=>{
await client.sendMessage(botEntity,{message:`/start`});
logger.debug(`${worker.phoneNumber} | First start of ${botEntity.username}`);
}
logger.info(`${worker.phoneNumber} | Sending earn message...`);
}
logger.info(`${worker.phoneNumber} | Sending earn message...`);
const requestTasksMessage=await client.sendMessage(botEntity,{message:settings.botButtons.earn});
await waitNewMessages(client,worker,botEntity,requestTasksMessage.id)
let tasksSelector:telegram.Api.Message=(await client.getMessages(botEntity,{
minId:requestTasksMessage.id,
// search: settings.botMessages.tasksSelector,
}))[0];
if (tasksSelector.message.includes(settings.botMessages.verification)==true){
const url: string=tasksSelector.buttons![0][0].url!;
await vertification(client,worker,hero,url,botEntity,tasksSelector.id);
const requestTasksMessage=await client.sendMessage(botEntity,{message:settings.botButtons.earn});
await waitNewMessages(client,worker,botEntity,requestTasksMessage.id)
let tasksSelector:telegram.Api.Message;
try {
tasksSelector=(await client.getMessages(botEntity,{
minId:requestTasksMessage.id,
search: settings.botMessages.tasksSelector,
}))[0];
} catch (err){
try{
tasksSelector=(await client.getMessages(botEntity,{
minId:requestTasksMessage.id,
search: settings.botMessages.verification,
}))[0];
const url: string=tasksSelector.buttons![0][0].url!;
await vertification(worker,hero,url);
} catch (err){
logger.error(`Check ${worker.phoneNumber} for last message`);
throw new Error("Unknow message was found");
}
}
}
tasksSelector=(await client.getMessages(botEntity,{
minId:requestTasksMessage.id,
// search: settings.botMessages.tasksSelector,
}))[0];
}
await hero.close();
await miner.close();
}
}
container.kill();
}

View File

@ -27,8 +27,8 @@
},
"scripts": {
"test": "yarn run build && node build/database.js",
"build": "tsc -p .",
"start": "tsc -p . && node build/index.js"
"build": "yarn run tsc -p .",
"start": "yarn run tsc -p . && node build/index.js"
},
"repository": {
"type": "git",

View File

@ -7,6 +7,7 @@
"strictNullChecks": true,
"strictFunctionTypes": true,
"esModuleInterop": true,
"skipLibCheck": true, // due @ulixee
// "allowSyntheticDefaultImports":true,
"outDir": "build"

View File

@ -127,7 +127,7 @@ export const startNewTorDocker=async function(proxyPort: number,socksPort: numbe
await container.kill();
progressBar.terminate();
logger.warn(`Docker ${container.id} is unhealthy.Recreating...`);
return await startNewTorDocker(proxyPort,socksPort,controlPort,timeout);
return await startNewTorDocker(proxyPort,socksPort,controlPort,timeout/2);
}
progressBar.tick();
await sleep(2000);