Hello Dify Logo

X (formerly Twitter)

Send and delete tweets.

⬇️ Try it out before reading

How to use

Enter the topic you want to tweet about, and the workflow will automatically post a tweet using a test account.



Description

This plugin allows you to interact with the X (formerly Twitter) platform through their official API.

It provides tools to send and delete tweets.

Features

  • 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)

Setup

  1. Create a developer account at X Developer Portal
  2. Create a project and app to obtain your API keys:
    • Go to the Developer Portal Dashboard
    • Click "Create Project" and follow the steps image.png
    • 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) image.png
  3. 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.py file and fill in your Consumer Key and Secret image.png
    • 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 image.png
    • The script will output your ACCESS_TOKEN and ACCESS_TOKEN_SECRET
  4. 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

Authentication Notes

  • 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

Usage

Posting a Tweet

image.png

{
  "text": "Your tweet content here"
}

Response:

{
  "status": "success",
  "tweet_id": "1234567890123456789",
  "text": "Your tweet content here",
  "message": "Tweet published successfully with ID: 1234567890123456789"
}

Deleting a Tweet

image.png

{
  "tweet_id": "1234567890123456789"
}

Response:

{
  "status": "success",
  "message": "Tweet with ID 1234567890123456789 deleted successfully"
}

Posting a Media Tweet

This action allows you to upload and attach media (images or videos) to your tweets.

image.png

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"
}
Steven Lynn
Steven Lynn

On this page