Skip to content

Commit 96d572b

Browse files
committed
Merge branch 'develop' of http://github.com/ai16z/eliza into develop
2 parents d84e902 + bc13351 commit 96d572b

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

packages/client-twitter/src/base.ts

+23-12
Original file line numberDiff line numberDiff line change
@@ -174,25 +174,36 @@ export class ClientBase extends EventEmitter {
174174
}
175175

176176
elizaLogger.log("Waiting for Twitter login");
177-
while (true) {
178-
await this.twitterClient.login(
179-
username,
180-
this.runtime.getSetting("TWITTER_PASSWORD"),
181-
this.runtime.getSetting("TWITTER_EMAIL"),
182-
this.runtime.getSetting("TWITTER_2FA_SECRET") || undefined
183-
);
184-
185-
if (await this.twitterClient.isLoggedIn()) {
186-
const cookies = await this.twitterClient.getCookies();
177+
let retries = 5; // Optional: Set a retry limit
178+
while (retries > 0) {
179+
const cookies = await this.twitterClient.getCookies();
180+
if (await this.twitterClient.isLoggedIn() || !!cookies) {
187181
await this.cacheCookies(username, cookies);
182+
elizaLogger.info("Successfully logged in and cookies cached.");
188183
break;
189184
}
190185

191-
elizaLogger.error("Failed to login to Twitter trying again...");
186+
try {
187+
await this.twitterClient.login(
188+
username,
189+
this.runtime.getSetting("TWITTER_PASSWORD"),
190+
this.runtime.getSetting("TWITTER_EMAIL"),
191+
this.runtime.getSetting("TWITTER_2FA_SECRET") || undefined
192+
);
193+
} catch (error) {
194+
elizaLogger.error(`Login attempt failed: ${error.message}`);
195+
}
196+
197+
retries--;
198+
elizaLogger.error(`Failed to login to Twitter. Retrying... (${retries} attempts left)`);
199+
200+
if (retries === 0) {
201+
elizaLogger.error("Max retries reached. Exiting login process.");
202+
throw new Error("Twitter login failed after maximum retries.");
203+
}
192204

193205
await new Promise((resolve) => setTimeout(resolve, 2000));
194206
}
195-
196207
// Initialize Twitter profile
197208
this.profile = await this.fetchProfile(username);
198209

0 commit comments

Comments
 (0)