@elizaos/plugin-twitter 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +126 -156
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/plugin-twitter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -63,235 +63,205 @@
|
|
|
63
63
|
"agentConfig": {
|
|
64
64
|
"pluginType": "elizaos:plugin:1.0.0",
|
|
65
65
|
"pluginParameters": {
|
|
66
|
+
"TWITTER_SPACES_ENABLE": {
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"description": "Flag indicating whether the agent is allowed to join Twitter Spaces.",
|
|
69
|
+
"required": false,
|
|
70
|
+
"sensitive": false
|
|
71
|
+
},
|
|
72
|
+
"MAX_RETRIES": {
|
|
73
|
+
"type": "number",
|
|
74
|
+
"description": "Maximum number of times the system will attempt to log in to Twitter before giving up",
|
|
75
|
+
"required": false,
|
|
76
|
+
"default": 3,
|
|
77
|
+
"sensitive": false
|
|
78
|
+
},
|
|
66
79
|
"TWITTER_USERNAME": {
|
|
67
80
|
"type": "string",
|
|
68
|
-
"description": "Twitter
|
|
69
|
-
"required": true
|
|
81
|
+
"description": "Twitter account username used for authentication",
|
|
82
|
+
"required": true,
|
|
83
|
+
"sensitive": false
|
|
70
84
|
},
|
|
71
85
|
"TWITTER_PASSWORD": {
|
|
72
86
|
"type": "string",
|
|
73
|
-
"description": "
|
|
74
|
-
"required": true
|
|
87
|
+
"description": "Twitter account password used for authentication",
|
|
88
|
+
"required": true,
|
|
89
|
+
"sensitive": true
|
|
75
90
|
},
|
|
76
91
|
"TWITTER_EMAIL": {
|
|
77
92
|
"type": "string",
|
|
78
|
-
"description": "Email associated with the Twitter
|
|
79
|
-
"required": true
|
|
93
|
+
"description": "Email address associated with the Twitter account; used during login/verification",
|
|
94
|
+
"required": true,
|
|
95
|
+
"sensitive": false
|
|
80
96
|
},
|
|
81
97
|
"TWITTER_2FA_SECRET": {
|
|
82
98
|
"type": "string",
|
|
83
|
-
"description": "
|
|
84
|
-
"required": false
|
|
85
|
-
},
|
|
86
|
-
"TWITTER_DRY_RUN": {
|
|
87
|
-
"type": "boolean",
|
|
88
|
-
"description": "If true, enables testing mode where tweets are not actually posted",
|
|
99
|
+
"description": "Time-based one-time password (2FA) secret used for two-factor authentication during login",
|
|
89
100
|
"required": false,
|
|
90
|
-
"
|
|
101
|
+
"sensitive": true
|
|
91
102
|
},
|
|
92
|
-
"
|
|
93
|
-
"type": "
|
|
94
|
-
"description": "
|
|
103
|
+
"TWITTER_COOKIES_AUTH_TOKEN": {
|
|
104
|
+
"type": "string",
|
|
105
|
+
"description": "Pre-existing Twitter auth_token cookie value used to bypass manual login",
|
|
95
106
|
"required": false,
|
|
96
|
-
"
|
|
107
|
+
"sensitive": true
|
|
97
108
|
},
|
|
98
|
-
"
|
|
99
|
-
"type": "
|
|
100
|
-
"description": "
|
|
109
|
+
"TWITTER_COOKIES_CT0": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Pre-existing Twitter ct0 (CSRF) cookie value used to bypass manual login",
|
|
101
112
|
"required": false,
|
|
102
|
-
"
|
|
113
|
+
"sensitive": true
|
|
103
114
|
},
|
|
104
|
-
"
|
|
105
|
-
"type": "
|
|
106
|
-
"description": "
|
|
115
|
+
"TWITTER_COOKIES_GUEST_ID": {
|
|
116
|
+
"type": "string",
|
|
117
|
+
"description": "Pre-existing Twitter guest_id cookie value used to bypass manual login",
|
|
107
118
|
"required": false,
|
|
108
|
-
"
|
|
119
|
+
"sensitive": true
|
|
109
120
|
},
|
|
110
|
-
"
|
|
111
|
-
"type": "
|
|
112
|
-
"description": "
|
|
121
|
+
"TWITTER_API_KEY": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"description": "Twitter API key used to authenticate with the Twitter API during tests.",
|
|
113
124
|
"required": false,
|
|
114
|
-
"
|
|
125
|
+
"sensitive": true
|
|
115
126
|
},
|
|
116
|
-
"
|
|
127
|
+
"TWITTER_API_SECRET_KEY": {
|
|
117
128
|
"type": "string",
|
|
118
|
-
"description": "
|
|
119
|
-
"required": false
|
|
120
|
-
},
|
|
121
|
-
"TWITTER_ENABLE_POST_GENERATION": {
|
|
122
|
-
"type": "boolean",
|
|
123
|
-
"description": "Master switch to enable or disable automatic tweet generation",
|
|
129
|
+
"description": "Twitter API secret key paired with the API key for authentication.",
|
|
124
130
|
"required": false,
|
|
125
|
-
"
|
|
131
|
+
"sensitive": true
|
|
126
132
|
},
|
|
127
|
-
"
|
|
128
|
-
"type": "
|
|
129
|
-
"description": "
|
|
133
|
+
"TWITTER_ACCESS_TOKEN": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "OAuth access token used for Twitter API requests in the tests.",
|
|
130
136
|
"required": false,
|
|
131
|
-
"
|
|
137
|
+
"sensitive": true
|
|
132
138
|
},
|
|
133
|
-
"
|
|
134
|
-
"type": "
|
|
135
|
-
"description": "
|
|
139
|
+
"TWITTER_ACCESS_TOKEN_SECRET": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"description": "OAuth access token secret used with the access token for authentication.",
|
|
136
142
|
"required": false,
|
|
137
|
-
"
|
|
143
|
+
"sensitive": true
|
|
138
144
|
},
|
|
139
|
-
"
|
|
140
|
-
"type": "
|
|
141
|
-
"description": "
|
|
145
|
+
"OPENAI_API_KEY": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "OpenAI API key supplied to the SttTtsPlugin for GPT/STT/TTS functionality.",
|
|
148
|
+
"required": true,
|
|
149
|
+
"sensitive": true
|
|
150
|
+
},
|
|
151
|
+
"ELEVENLABS_API_KEY": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "ElevenLabs API key for TTS provided to the SttTtsPlugin. Used if ELEVENLABS_XI_API_KEY is not set.",
|
|
142
154
|
"required": false,
|
|
143
|
-
"
|
|
155
|
+
"sensitive": true
|
|
144
156
|
},
|
|
145
|
-
"
|
|
146
|
-
"type": "
|
|
147
|
-
"description": "
|
|
157
|
+
"ELEVENLABS_XI_API_KEY": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"description": "Alternative ElevenLabs (Xi) API key for TTS; used as a fallback if ELEVENLABS_API_KEY is not provided.",
|
|
148
160
|
"required": false,
|
|
149
|
-
"
|
|
161
|
+
"sensitive": true
|
|
150
162
|
},
|
|
151
|
-
"
|
|
152
|
-
"type": "
|
|
153
|
-
"description": "
|
|
163
|
+
"PROXY_URL": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"description": "URL of the proxy server (may include credentials) through which HTTP requests are routed.",
|
|
154
166
|
"required": false,
|
|
155
|
-
"
|
|
167
|
+
"sensitive": true
|
|
156
168
|
},
|
|
157
|
-
"
|
|
158
|
-
"type": "
|
|
159
|
-
"description": "
|
|
169
|
+
"TWITTER_COOKIES": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "Serialized Twitter session cookies; referenced for cookie-based authentication.",
|
|
160
172
|
"required": false,
|
|
161
|
-
"
|
|
173
|
+
"sensitive": true
|
|
162
174
|
},
|
|
163
|
-
"
|
|
175
|
+
"TWITTER_DRY_RUN": {
|
|
164
176
|
"type": "boolean",
|
|
165
|
-
"description": "
|
|
177
|
+
"description": "When true, all Twitter actions are simulated and nothing is actually posted.",
|
|
166
178
|
"required": false,
|
|
167
|
-
"
|
|
179
|
+
"sensitive": false
|
|
168
180
|
},
|
|
169
|
-
"
|
|
170
|
-
"type": "string",
|
|
171
|
-
"description": "API key for ElevenLabs, required when using Text-to-Speech in Twitter Spaces",
|
|
172
|
-
"required": false
|
|
173
|
-
},
|
|
174
|
-
"TWITTER_APPROVAL_DISCORD_BOT_TOKEN": {
|
|
175
|
-
"type": "string",
|
|
176
|
-
"description": "Discord bot token used for the tweet approval workflow",
|
|
177
|
-
"required": false
|
|
178
|
-
},
|
|
179
|
-
"TWITTER_APPROVAL_DISCORD_CHANNEL_ID": {
|
|
180
|
-
"type": "string",
|
|
181
|
-
"description": "Discord channel ID where generated tweets are sent for approval",
|
|
182
|
-
"required": false
|
|
183
|
-
},
|
|
184
|
-
"TWITTER_APPROVAL_CHECK_INTERVAL": {
|
|
181
|
+
"TWITTER_RETRY_LIMIT": {
|
|
185
182
|
"type": "number",
|
|
186
|
-
"description": "
|
|
183
|
+
"description": "Maximum number of retry attempts when a Twitter action fails.",
|
|
187
184
|
"required": false,
|
|
188
|
-
"default":
|
|
189
|
-
|
|
190
|
-
"DEBUG": {
|
|
191
|
-
"type": "string",
|
|
192
|
-
"description": "Namespace(s) for enabling debug logs (e.g., \"eliza:*\")",
|
|
193
|
-
"required": false
|
|
194
|
-
},
|
|
195
|
-
"TWITTER_COOKIES_AUTH_TOKEN": {
|
|
196
|
-
"type": "string",
|
|
197
|
-
"description": "Existing Twitter auth_token cookie value used to skip the login flow if provided.",
|
|
198
|
-
"required": false
|
|
199
|
-
},
|
|
200
|
-
"TWITTER_COOKIES_CT0": {
|
|
201
|
-
"type": "string",
|
|
202
|
-
"description": "Existing Twitter ct0 cookie value used to skip the login flow if provided.",
|
|
203
|
-
"required": false
|
|
185
|
+
"default": 5,
|
|
186
|
+
"sensitive": false
|
|
204
187
|
},
|
|
205
|
-
"
|
|
206
|
-
"type": "string",
|
|
207
|
-
"description": "Existing Twitter guest_id cookie value used to skip the login flow if provided.",
|
|
208
|
-
"required": false
|
|
209
|
-
},
|
|
210
|
-
"MAX_RETRIES": {
|
|
188
|
+
"TWITTER_POLL_INTERVAL": {
|
|
211
189
|
"type": "number",
|
|
212
|
-
"description": "
|
|
190
|
+
"description": "Polling interval in seconds between checks for new Twitter events.",
|
|
213
191
|
"required": false,
|
|
214
|
-
"default":
|
|
192
|
+
"default": 120,
|
|
193
|
+
"sensitive": false
|
|
215
194
|
},
|
|
216
|
-
"
|
|
217
|
-
"type": "string",
|
|
218
|
-
"description": "HTTP(s) proxy URL to route requests through (necessary when running the client in certain browser environments).",
|
|
219
|
-
"required": false
|
|
220
|
-
},
|
|
221
|
-
"TWITTER_API_KEY": {
|
|
222
|
-
"type": "string",
|
|
223
|
-
"description": "Twitter API v2 key used for enhanced functionality such as creating polls via the official API.",
|
|
224
|
-
"required": false
|
|
225
|
-
},
|
|
226
|
-
"TWITTER_API_SECRET_KEY": {
|
|
227
|
-
"type": "string",
|
|
228
|
-
"description": "Twitter API v2 secret corresponding to TWITTER_API_KEY.",
|
|
229
|
-
"required": false
|
|
230
|
-
},
|
|
231
|
-
"TWITTER_ACCESS_TOKEN": {
|
|
232
|
-
"type": "string",
|
|
233
|
-
"description": "Twitter API v2 access token used to authorize requests for tweet and poll functionality.",
|
|
234
|
-
"required": false
|
|
235
|
-
},
|
|
236
|
-
"TWITTER_ACCESS_TOKEN_SECRET": {
|
|
237
|
-
"type": "string",
|
|
238
|
-
"description": "Secret associated with TWITTER_ACCESS_TOKEN for authenticating Twitter API v2 requests.",
|
|
239
|
-
"required": false
|
|
240
|
-
},
|
|
241
|
-
"OPENAI_API_KEY": {
|
|
195
|
+
"TWITTER_TARGET_USERS": {
|
|
242
196
|
"type": "string",
|
|
243
|
-
"description": "
|
|
244
|
-
"required":
|
|
197
|
+
"description": "Comma-separated list of Twitter usernames the bot should interact with. Supports '*' wildcard.",
|
|
198
|
+
"required": false,
|
|
199
|
+
"sensitive": false
|
|
245
200
|
},
|
|
246
|
-
"
|
|
247
|
-
"type": "
|
|
248
|
-
"description": "
|
|
201
|
+
"TWITTER_ENABLE_POST_GENERATION": {
|
|
202
|
+
"type": "boolean",
|
|
203
|
+
"description": "Toggle to enable or disable automatic tweet/post generation.",
|
|
249
204
|
"required": false,
|
|
250
|
-
"default":
|
|
205
|
+
"default": true,
|
|
206
|
+
"sensitive": false
|
|
251
207
|
},
|
|
252
|
-
"
|
|
253
|
-
"type": "
|
|
254
|
-
"description": "
|
|
255
|
-
"required": false
|
|
208
|
+
"TWITTER_POST_INTERVAL_MIN": {
|
|
209
|
+
"type": "number",
|
|
210
|
+
"description": "Minimum interval in minutes between automatically generated posts.",
|
|
211
|
+
"required": false,
|
|
212
|
+
"default": 90,
|
|
213
|
+
"sensitive": false
|
|
256
214
|
},
|
|
257
215
|
"TWITTER_POST_INTERVAL_MAX": {
|
|
258
216
|
"type": "number",
|
|
259
|
-
"description": "Maximum
|
|
217
|
+
"description": "Maximum interval in minutes between automatically generated posts.",
|
|
260
218
|
"required": false,
|
|
261
|
-
"default": 180
|
|
219
|
+
"default": 180,
|
|
220
|
+
"sensitive": false
|
|
221
|
+
},
|
|
222
|
+
"TWITTER_POST_IMMEDIATELY": {
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"description": "If true, posts are published immediately after generation, bypassing interval checks.",
|
|
225
|
+
"required": false,
|
|
226
|
+
"sensitive": false
|
|
262
227
|
},
|
|
263
228
|
"TWITTER_INTERACTION_ENABLE": {
|
|
264
229
|
"type": "boolean",
|
|
265
|
-
"description": "
|
|
230
|
+
"description": "Controls whether mention and interaction handling is enabled. Defaults to true when not explicitly set to false.",
|
|
266
231
|
"required": false,
|
|
267
|
-
"default": true
|
|
232
|
+
"default": true,
|
|
233
|
+
"sensitive": false
|
|
268
234
|
},
|
|
269
235
|
"TWITTER_TIMELINE_ENABLE": {
|
|
270
236
|
"type": "boolean",
|
|
271
|
-
"description": "Enables
|
|
272
|
-
"required": false
|
|
237
|
+
"description": "Enables fetching and caching of the Twitter timeline.",
|
|
238
|
+
"required": false,
|
|
239
|
+
"sensitive": false
|
|
273
240
|
},
|
|
274
241
|
"TWITTER_API_SECRET": {
|
|
275
242
|
"type": "string",
|
|
276
|
-
"description": "Twitter API secret
|
|
277
|
-
"required": false
|
|
243
|
+
"description": "Twitter API secret credential (referenced in comments for future API-based auth).",
|
|
244
|
+
"required": false,
|
|
245
|
+
"sensitive": true
|
|
278
246
|
},
|
|
279
247
|
"TWITTER_ENABLE_ACTION_PROCESSING": {
|
|
280
248
|
"type": "boolean",
|
|
281
|
-
"description": "
|
|
249
|
+
"description": "Flag to enable or disable processing of Twitter actions",
|
|
282
250
|
"required": false,
|
|
283
|
-
"
|
|
251
|
+
"sensitive": false
|
|
284
252
|
},
|
|
285
253
|
"TWITTER_TIMELINE_MODE": {
|
|
286
254
|
"type": "string",
|
|
287
|
-
"description": "
|
|
288
|
-
"required": false
|
|
255
|
+
"description": "Specifies which Twitter timeline to monitor: 'foryou' (home) or 'following'.",
|
|
256
|
+
"required": false,
|
|
257
|
+
"sensitive": false
|
|
289
258
|
},
|
|
290
259
|
"TWITTER_TIMELINE_POLL_INTERVAL": {
|
|
291
260
|
"type": "number",
|
|
292
|
-
"description": "
|
|
261
|
+
"description": "Polling interval (in seconds) between timeline checks.",
|
|
293
262
|
"required": false,
|
|
294
|
-
"default": 120
|
|
263
|
+
"default": 120,
|
|
264
|
+
"sensitive": false
|
|
295
265
|
}
|
|
296
266
|
}
|
|
297
267
|
}
|