About MMM-TwitterLists
I’ve been trying get a few Twitter modules installed on my MagicMirror installation, and most have been abandoned for years. Twitter updated their API authentication a few months ago, and that ended up breaking them.
I also use my MM more as a 24/7 dashboard of news and information, so I wanted a list of the most recent tweets to show up so I could just glance at the screen and get an idea of current tweets on a topic. I use lists to organize my twitter timeline, so that was a natural way for me to access tweets.
Link To Github
Preview
Installation
Please refer to the ReadME on Github for the most up to date information, but to get started, you simply need to install the module and update the config with your listID and bearer token from twitter:
Install the Module
To install the module, clone the repository into your magic mirror modules folder, register for an API key, and configure the module on your MM instance :
git clone https://github.com/mmtsweng/MMM-TwitterLists
cd MMM-TwitterLists
npm install --production
Get a bearer token from Twitter
You need to register with twitter for a developer account, create a Project, and a Twitter App. This will generate API keys for you to use in your configuration.
MMM-TwitterLists uses application only authentication, since it is only interested in publicly available, non-user context data. This greatly simplifies the authentication process, as you only need to supply a valid bearer token in the header of the API request.
Configure MMM-TwitterLists
A minimal configuration only requires a Twitter List ID and a Bearer Token to render:
{
module: "MMM-TwitterLists",
header: "Twitter Lists",
position: "top_center",
config: {
twitterListId: "1569757713495920642",
twitterBearerToken: "{Bearer Token}" //replace with your own private bearer token
}
}
All other configuration options are documented in the github readme file, and very few will be needed for most instances.
The one optional change that might be of use, is the maximum number of tweets to pull and render. The default is 10 tweets. To change it, simply override the twitterUrl option, updating the max_results parameter in the API call. Be careful not to change any of the other parameters, as they are used by the module.
For example, to return 5 tweets, instead of 10, your configuration section would look like this:
{
module: "MMM-TwitterLists",
header: "Twitter Lists",
position: "top_center",
config: {
twitterListId: "1569757713495920642",
twitterBearerToken: "{Bearer Token}",
twitterURL: "https://api.twitter.com/2/lists/{id}/tweets?&tweet.fields=attachments,author_id,created_at,text&expansions=attachments.media_keys,author_id&media.fields=preview_image_url,type,url&user.fields=profile_image_url&max_results=5"
}
}