From xactions
Automates X/Twitter DMs via browser console JavaScript for bulk personalized sends with templates, conversation management, request filtering, and export.
npx claudepluginhub nirholas/xactionsThis skill uses the workspace's default tool permissions.
Browser console scripts for sending, managing, and exporting X/Twitter DMs.
Sends one-to-one direct messages on X (Twitter), reads DM history with recipients, resolves usernames to user IDs via REST API. Use for targeted DM interactions and inbox management.
Manages X/Twitter notifications using browser console JavaScript: filter by type, bulk actions, scrape data, track engagement, welcome followers. Use on x.com/notifications for bulk processing.
Automates X (Twitter) interactions—post tweets, like, reply, retweet, quote—via Playwright browser automation in ClaudeClaw. Useful for setup, testing, troubleshooting Twitter functionality.
Share bugs, ideas, or general feedback.
Browser console scripts for sending, managing, and exporting X/Twitter DMs.
| Script | File | Purpose |
|---|---|---|
| Send Direct Messages | src/sendDirectMessage.js | Send personalized DMs to a list of users |
| DM Manager | src/dmManager.js | Core DM management (read, filter, organize, export) |
File: src/sendDirectMessage.js
Send personalized DMs to multiple users with message templates and rate limiting.
const CONFIG = {
targetUsers: ['user1', 'user2'],
messageTemplate: 'Hey {username}! 👋 Just wanted to connect.',
limits: {
messagesPerSession: 10,
delayBetweenMessages: 30000,
},
skipIfAlreadyMessaged: true,
dryRun: true,
};
x.com/messagesdryRun: false when readylocalStorage to avoid duplicatesWarning: Mass DMing can get your account restricted. Only message users who have open DMs or follow you.
File: src/dmManager.js
Core module for reading, filtering, organizing, and exporting DM conversations. Supports message requests, conversation search, and DM privacy settings.
x.com/messages| Element | Selector |
|---|---|
| New message button | [data-testid="NewDM_Button"] |
| Search people | [data-testid="searchPeople"] |
| Message input | [data-testid="dmComposerTextInput"] |
| Send button | [data-testid="dmComposerSendButton"] |
| Conversation list | [data-testid="conversation"] |
| Message bubble | [data-testid="messageEntry"] |
| Message requests | [data-testid="messageRequests"] |
| Back button | [data-testid="app-bar-back"] |
x.com/messages){username} placeholder in templates is replaced with the recipient's handlelocalStorage across sessions