Skip to content

Commit

Permalink
Merge pull request #722 from ai16z/tcm-twitter-multiple-agents
Browse files Browse the repository at this point in the history
refactor: ClientBase to use a map for managing multiple Twitter clients by account identifier
  • Loading branch information
shakkernerd authored Nov 30, 2024
2 parents b5cedfa + a13509a commit 7288127
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions packages/client-twitter/src/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class RequestQueue {
}

export class ClientBase extends EventEmitter {
static _twitterClient: Scraper;
static _twitterClients: { [accountIdentifier: string]: Scraper } = {};
twitterClient: Scraper;
runtime: IAgentRuntime;
directions: string;
Expand Down Expand Up @@ -137,11 +137,12 @@ export class ClientBase extends EventEmitter {
constructor(runtime: IAgentRuntime) {
super();
this.runtime = runtime;
if (ClientBase._twitterClient) {
this.twitterClient = ClientBase._twitterClient;
const username = this.runtime.getSetting("TWITTER_USERNAME");
if (ClientBase._twitterClients[username]) {
this.twitterClient = ClientBase._twitterClients[username];
} else {
this.twitterClient = new Scraper();
ClientBase._twitterClient = this.twitterClient;
ClientBase._twitterClients[username] = this.twitterClient;
}

this.directions =
Expand Down

0 comments on commit 7288127

Please sign in to comment.