x-developer 2.4.11 → 2.4.12
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/README.md +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -1
- package/skills/x-twitter-scraper/SKILL.md +1 -1
- package/skills/x-twitter-scraper/metadata.json +1 -1
- package/skills/x-twitter-scraper/references/types.md +3 -0
- package/skills/x-twitter-scraper/references/webhooks.md +6 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
[](https://apify.com/xquik/x-tweet-scraper)
|
|
11
11
|
[](https://glama.ai/mcp/servers/Xquik-dev/x-twitter-scraper)
|
|
12
12
|
[](https://smithery.ai/servers/xquik/x-twitter-scraper)
|
|
13
|
-
[](https://skills.sh/xquik-dev/x-twitter-scraper/x-twitter-scraper)
|
|
14
14
|
|
|
15
15
|
An [AI agent skill](https://skills.sh) for [Xquik](https://xquik.com), a Twitter API alternative for developers who need to search tweets, get tweets from profiles, export followers, download media, monitor accounts, and automate posting workflows.
|
|
16
16
|
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "x-developer",
|
|
3
3
|
"name": "X Developer API",
|
|
4
4
|
"description": "X (Twitter) data platform skill for AI coding agents. 100+ REST API endpoints, 2 MCP tools, 23 extraction types, HMAC webhooks.",
|
|
5
|
-
"version": "2.4.
|
|
5
|
+
"version": "2.4.12",
|
|
6
6
|
"skills": ["./skills"],
|
|
7
7
|
"providerAuthEnvVars": {
|
|
8
8
|
"xquik": ["XQUIK_API_KEY"]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "x-developer",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.12",
|
|
4
4
|
"description": "X (Twitter) data platform skill for AI coding agents. 100+ REST API endpoints, 2 MCP tools, 23 extraction types, HMAC webhooks.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Xquik",
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "git+https://github.com/Xquik-dev/x-twitter-scraper.git"
|
|
14
14
|
},
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/Xquik-dev/x-twitter-scraper/issues"
|
|
17
|
+
},
|
|
15
18
|
"keywords": [
|
|
16
19
|
"twitter",
|
|
17
20
|
"x-api",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.4.
|
|
2
|
+
"version": "2.4.12",
|
|
3
3
|
"organization": "Xquik",
|
|
4
4
|
"date": "April 2026",
|
|
5
5
|
"abstract": "Integration guide for the Xquik X (Twitter) real-time data platform. Covers the REST API (100+ endpoints across tweet search, user lookup, user tweets/likes/media, favoriters, mutual followers, confirmation-gated private reads, media download, extractions, monitors, events, webhooks, trends, radar, compose, style analysis, drafts, draws, connected X account listing, confirmation-gated write actions, credits, and support tickets), HMAC webhook verification, MCP server setup for 10 IDEs and AI agents (2 structured API tools: explore + xquik), all 23 extraction tools, tweet composition with algorithm scoring, credit-based billing, pay-per-use via MPP, and complete TypeScript type definitions. Code examples in JavaScript, Python, Go, and cURL.",
|
|
@@ -249,6 +249,7 @@ type ExtractionToolType =
|
|
|
249
249
|
| "community_moderator_explorer"
|
|
250
250
|
| "community_post_extractor"
|
|
251
251
|
| "community_search"
|
|
252
|
+
| "favoriters"
|
|
252
253
|
| "follower_explorer"
|
|
253
254
|
| "following_explorer"
|
|
254
255
|
| "list_follower_explorer"
|
|
@@ -263,6 +264,8 @@ type ExtractionToolType =
|
|
|
263
264
|
| "space_explorer"
|
|
264
265
|
| "thread_extractor"
|
|
265
266
|
| "tweet_search_extractor"
|
|
267
|
+
| "user_likes"
|
|
268
|
+
| "user_media"
|
|
266
269
|
| "verified_follower_explorer";
|
|
267
270
|
|
|
268
271
|
interface ExtractionJob {
|
|
@@ -139,7 +139,12 @@ func verifySignature(payload []byte, signature, secret string) bool {
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
func webhookHandler(w http.ResponseWriter, r *http.Request) {
|
|
142
|
-
payload,
|
|
142
|
+
payload, err := io.ReadAll(r.Body)
|
|
143
|
+
if err != nil {
|
|
144
|
+
http.Error(w, "Unable to read request body", http.StatusBadRequest)
|
|
145
|
+
return
|
|
146
|
+
}
|
|
147
|
+
|
|
143
148
|
signature := r.Header.Get("X-Xquik-Signature")
|
|
144
149
|
|
|
145
150
|
if !verifySignature(payload, signature, webhookSecret) {
|