D
This commit is contained in:
@@ -143,31 +143,39 @@ export class XBrowserService implements OnModuleInit, OnModuleDestroy {
|
||||
|
||||
async verifyCookie() {
|
||||
const page = await this.newPage();
|
||||
await page.goto('https://x.com/', {
|
||||
waitUntil: 'domcontentloaded',
|
||||
timeout: 30_000,
|
||||
});
|
||||
await page.waitForTimeout(2000 + (Math.random() + Math.random()) * 3000);
|
||||
await page.mouse.wheel(0, rand(300, 500));
|
||||
// Detect login/challenge screen
|
||||
if (page.url().includes('/login') || page.url().includes('/flow')) {
|
||||
this.logger.error('Cookies is die, please get news');
|
||||
return false;
|
||||
// return {
|
||||
// success: false,
|
||||
// error: 'Redirected to login',
|
||||
// needsRelogin: true,
|
||||
// };
|
||||
}
|
||||
const isLoggedIn = await page
|
||||
.locator('[data-testid="SideNav_AccountSwitcher_Button"], [data-testid="AppTabBar_Home_Link"]')
|
||||
.first()
|
||||
.isVisible()
|
||||
.catch(() => false);
|
||||
|
||||
this.logger.log(`🔐 Session restore: ${isLoggedIn ? 'LOGGED IN' : 'GUEST (cookie có thể expired)'}`);
|
||||
await page.close();
|
||||
return isLoggedIn;
|
||||
try {
|
||||
await page.goto('https://x.com/', {
|
||||
waitUntil: 'domcontentloaded',
|
||||
timeout: 30_000,
|
||||
});
|
||||
await page.waitForTimeout(2000 + (Math.random() + Math.random()) * 3000);
|
||||
await page.mouse.wheel(0, rand(300, 500));
|
||||
// Detect login/challenge screen
|
||||
if (page.url().includes('/login') || page.url().includes('/flow')) {
|
||||
this.logger.error('Cookies is die, please get news');
|
||||
return false;
|
||||
// return {
|
||||
// success: false,
|
||||
// error: 'Redirected to login',
|
||||
// needsRelogin: true,
|
||||
// };
|
||||
}
|
||||
const isLoggedIn = await page
|
||||
.locator('[data-testid="SideNav_AccountSwitcher_Button"], [data-testid="AppTabBar_Home_Link"]')
|
||||
.first()
|
||||
.isVisible()
|
||||
.catch(() => false);
|
||||
|
||||
this.logger.log(`🔐 Session restore: ${isLoggedIn ? 'LOGGED IN' : 'GUEST (cookie có thể expired)'}`);
|
||||
// await page.close();
|
||||
return isLoggedIn;
|
||||
} catch (er) {
|
||||
this.logger.error(`Browser verify cookie fail: ${er.message}`);
|
||||
return false;
|
||||
} finally {
|
||||
await page?.close().catch(() => null);
|
||||
}
|
||||
}
|
||||
|
||||
async postTweet(
|
||||
|
||||
Reference in New Issue
Block a user