Author: Steven Lynn Version: 0.0.1 Type: tool
This plugin allows you to interact with the X (formerly Twitter) platform through their official API.
It provides tools to send and delete tweets.
- Post Tweet: Send tweets to your X account and receive the tweet ID in response
- Delete Tweet: Delete tweets by their ID
- Post Media Tweet: Send tweets with media attachments (images or videos)
- Create a developer account at X Developer Portal
- Create a project and app to obtain your API keys:
- Go to the Developer Portal Dashboard
- Click "Create Project" and follow the steps
- Within your project, create an app to get your API keys and tokens
- Navigate to the "Keys and tokens" section to find your Consumer Keys (API Key and Secret)
- Set up authentication:
- Clone this repository to your local machine:
git clone https://github.com/stvlynn/X-Dify-Plugin.git cd X-Dify-Plugin - Edit the
auth.pyfile and fill in your Consumer Key and Secret - Run the authentication script:
python auth.py - The script will provide an authorization URL. Open it in your browser
- Authorize your application and enter the verification code when prompted
- The script will output your ACCESS_TOKEN and ACCESS_TOKEN_SECRET
- Clone this repository to your local machine:
- Configure the plugin in Dify:
- Install the X Plugin from the Dify Marketplace
- In the plugin settings, enter the following credentials:
- API Key: Your X API Key (Consumer Key)
- API Secret: Your X API Secret (Consumer Secret)
- Access Token: OAuth 1.0a Access Token generated from auth.py
- Access Token Secret: OAuth 1.0a Access Token Secret generated from auth.py
- All credentials are stored securely and used only for authenticating with the X API
- You need Read and Write permissions for your app to post and delete tweets
- To verify your credentials are working, the plugin will make a test API call to the X API
{
"text": "Your tweet content here"
}Response:
{
"status": "success",
"tweet_id": "1234567890123456789",
"text": "Your tweet content here",
"message": "Tweet published successfully with ID: 1234567890123456789"
}{
"tweet_id": "1234567890123456789"
}Response:
{
"status": "success",
"message": "Tweet with ID 1234567890123456789 deleted successfully"
}This action allows you to upload and attach media (images or videos) to your tweets.
Parameters:
text: The text content of your tweet (max 280 characters)media: The media file to attach (image or video)
Supported media formats:
- Images: JPEG, PNG, GIF
- Videos: MP4 (H.264 codec recommended)
Note: Videos may take longer to process on X platform before the tweet is published.
{
"text": "Check out this awesome media!",
"media": [Binary file data]
}Response:
{
"status": "success",
"tweet_id": "1234567890123456789",
"text": "Check out this awesome media!",
"media_id": "9876543210987654321",
"message": "Tweet with media published successfully with ID: 1234567890123456789"
}If you encounter any problems or have suggestions for improvements:
-
Please open an issue in the plugin's GitHub repository
-
Provide details about your problem, including error messages and steps to reproduce
-
Do not submit issues to the main Dify repository for plugin-specific problems