In this section, we present how to connect Twitter accounts to MindsDB.
Twitter is a widely recognized social media platform and microblogging service that allows users to share short messages called tweets.
The Twitter handler enables you to fetch tweets and create replies utilizing AI models wthin MindsDB. Furthermore, you can automate the process of fetching tweets, preparing replies, and sending replies to Twitter.
Prerequisites
Before proceeding, ensure the following prerequisites are met:
- Install MindsDB locally via Docker or use MindsDB Cloud.
- To connect Twitter to MindsDB, install the required dependencies following this instruction.
- Install or ensure access to Twitter.
Connection
To connect a Twitter account to MindsDB, you need a Twitter developer account.
Please note that it requires a paid developer account.
We recommend you use the Elevated access allowing you to pull 2m tweets and to avoid parameters or authentication issue error you might get sometimes. You can check this step-by-step guide describing how to apply for the Elevated access.
If you don’t already have a Twitter developer account, follow the steps in the video below to apply for one.
How to Apply for a Twitter Developer Account
How to Apply for a Twitter Developer Account
Begin here to apply for a Twitter developer account
When presented with questions under How will you use the Twitter API or Twitter Data?, use answers similar to the ones below (tweak to fit your exact use case). The more thorough your answers are, the more likely it is your account will get approved.
Intended Usage (In Your Words)
I have a blog and want to educate users how to use the Twitter API with MindsDB.
I will read tweets that mention me and use them with MindsDB machine learning to generate responses. I plan to post tweets 2-3 times a day and keep using Twitter like I normally would.
Are you planning to analyze Twitter data?
I plan to build machine learning algorithms based on Twitter data. I am interested in doing sentiment analysis and topic analysis.
I will potentially extract:
- Tweet text
- Favorite count and retweet count
- Hashtags and mentions
Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?
I will use the Twitter API to post responses to tweets that mention me.
I will have word filters to make sure that I never share offensive or potentially controversial subjects.
Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?
I plan to share aggregate data as examples for users of my upcoming blog. I don’t intend to create an automated dashboard that consumes a lot of Twitter API calls.
Every API call will be done locally, or automated on a simple web server. Aggregate of data will be for educational purposes only.
Will your product, service, or analysis make Twitter content or derived information available to a government entity?
Answer NO to this one.
If you already have a Twitter developer account, you need to generate API keys following the instructions below or heading to the Twitter developer website.
How to Generate API Keys
How to Generate API Keys
- Create an application with Read/Write permissions activated:
- Open developer portal.
- Select the
Add app
button to create a new app. - Select the
Create new
button. - Select
Production
and give it a name. - Copy and populate the following in the below
CREATE DATABASE
statement:Bearer Token
as a value of thebearer_token
parameter.API Key
as a value of theconsumer_key
parameter.API Key Secret
as a value of theconsumer_secret
parameter.
- Setup user authentication settings:
- Click
Setup
underUser authentication settings
: - On
Permissions
, selectRead and Write
. - On
Type of app
, selectWeb App
,Automated App or Bot
. - On
App info
, provide any URL for the callback URL and website URL (you can use the URL of this page). - Click
Save
.
- Click
- Generate access tokens:
- Once you are back in the app settings, click
Keys and Tokens
: - Generate
Access Token
andAccess Token Secret
and populate it in the belowCREATE DATABASE
statement:Access Token
as a value of theaccess_token
parameter.Access Token Secret
as a value of theaccess_token_secret
parameter.
- Once you are back in the app settings, click
Once you have all the tokens and keys, here is how to connect your Twitter account to MindsDB:
Usage
The my_twitter
database contains a table called tweets
by default.
Here is how to search tweets containing mindsdb
keyword:
Please note that we can see only recent tweets from the past seven days. The created_at
column condition is skipped if the provided date is earlier than seven days.
Alternatively, you can use a Twitter native query, as below:
To learn more about native queries in MindsDB, visit our docs here.
Here is how to write tweets:
For more information about available actions and development plans, visit this page.
What’s next?
Check out the tutorial on how to create a Twitter chatbot to see one of the interesting applications of this integration.