From 0b5d5e3db3ac5b68cf173de8b530db973fb813be Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Wed, 5 Feb 2025 23:44:09 +0800 Subject: [PATCH] add support for Twitter cookies from environment settings --- packages/client-twitter/src/base.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/client-twitter/src/base.ts b/packages/client-twitter/src/base.ts index 3543877ed74..a04ba257aab 100644 --- a/packages/client-twitter/src/base.ts +++ b/packages/client-twitter/src/base.ts @@ -261,7 +261,20 @@ export class ClientBase extends EventEmitter { throw new Error("Twitter username not configured"); } - const cachedCookies = await this.getCachedCookies(username); + const authToken = this.runtime.getSetting("TWITTER_AUTH_TOKEN"); + const ct0 = this.runtime.getSetting("TWITTER_CT0"); + const guestId = this.runtime.getSetting("TWITTER_GUEST_ID"); + + const createTwitterCookies = (authToken: string, ct0: string, guestId: string) => + authToken && ct0 && guestId + ? [ + { key: 'auth_token', value: authToken, domain: '.twitter.com' }, + { key: 'ct0', value: ct0, domain: '.twitter.com' }, + { key: 'guest_id', value: guestId, domain: '.twitter.com' }, + ] + : null; + + const cachedCookies = await this.getCachedCookies(username) || createTwitterCookies(authToken, ct0, guestId); if (cachedCookies) { elizaLogger.info("Using cached cookies");