Omni-X
by @hardbrick21
Extract X (Twitter) data including user profiles, posts, followers, followings, media, and search results. This skill provides comprehensive Twitter data ext...
Example 1: Get User Profile and Recent Tweets
from scripts import TwitterSkillInterfaceInitialize
interface = TwitterSkillInterface()Get profile
profile = interface.execute_skill(
skill_name="get_user_profile",
parameters={"username": "elonmusk"}
)if profile["success"]:
print(f"User: {profile['data']['name']}")
print(f"Followers: {profile['data']['followers_count']}")
Get recent tweets
tweets = interface.execute_skill(
skill_name="get_user_tweets",
parameters={"username": "elonmusk", "count": 5}
)if tweets["success"]:
for tweet in tweets["data"]:
print(f"Tweet: {tweet['text']}")
Example 2: Search and Analyze Tweets (Requires Auth)
from scripts import TwitterSkillInterfaceInitialize with auth token
interface = TwitterSkillInterface(auth_token="your_auth_token")Search for tweets
results = interface.execute_skill(
skill_name="search_tweets",
parameters={
"query": "artificial intelligence",
"count": 20,
"search_filter": "Latest"
}
)if results["success"]:
print(f"Found {results['count']} tweets")
for tweet in results["data"]:
print(f"- {tweet['text'][:100]}...")
Example 3: Analyze User Network (Requires Auth)
from scripts import TwitterSkillInterfaceInitialize with auth token
interface = TwitterSkillInterface(auth_token="your_auth_token")username = "elonmusk"
Get followers
followers = interface.execute_skill(
skill_name="get_user_followers",
parameters={"username": username, "count": 100}
)Get followings
followings = interface.execute_skill(
skill_name="get_user_followings",
parameters={"username": username, "count": 100}
)if followers["success"] and followings["success"]:
print(f"Followers: {followers['count']}")
print(f"Following: {followings['count']}")
print(f"Ratio: {followers['count'] / followings['count']:.2f}")
references/INSTALLATION.md)1. Always provide auth_token when possible - Many features require authentication
2. Check success field first - Always verify result["success"] before accessing data
3. Handle pagination - Use cursor field for large datasets
4. Respect rate limits - CRITICAL: Implement delays between requests to avoid account restrictions
- Recommended: 1-2 second delay between requests
- For bulk operations: 2-3 second delay
- Monitor for rate limit errors and back off exponentially if encountered
5. Cache results - Avoid repeated requests for the same data
6. Validate usernames - Remove @ symbol and validate format before calling
7. Use appropriate count values - Start with small counts (10-20) and increase gradually as needed
8. Handle errors gracefully - Provide meaningful feedback to users
9. Comply with Terms of Service - Ensure all usage complies with X (Twitter) Terms of Service
10. Educational/Research Use Only - This tool is intended for educational and research purposes only
clawhub install omni-x