CLI tool to help manage you cleanup your Twitter timeline with useful tools and stats
This tool will grab your Twitter data and provide you some statistics to help you decide who is important, and who you could unfollow to reduce your timeline.
npm install -g twitter-timeline-cleaner
The module will install an executable command called
$ ttc --helpUsage: ttc [ttc_options] <command> [command_options]Commands:help Help for specified commandstats [options] Show statistics about your timelinestatus Show app's status (i.e. rate limit)keys [options] Update app's credentials to use your own (browse to create it)test Test connection to Twittercache [options] Manage your local cacheOptions:-h, --help output usage information-V, --version output the version number--config <file> Custom configuration file--no-cache Disable cache
help will provide verbose help about a given command.
For each command, you should always run
ttc help command before asking for more help :)
status will provide current rate limits and some related information.
This command will allow you to update credentials configuration.
Check "security" part lower about this particular command.
Will test connection with Twitter. This is especially useful if you think your credentials are broken.
If you think your current local data is corrupted, or too heavy (should be around 1 to 3 Mb), you can manage it using this command.
You will be able to view current cache statistics (keys & size), remove a specific key, or reset the whole cache.
This is the main command, it will:
The goal is of course to help you decide who you can unfollow, and who you should not.
$ ttc statsConnecting to Twitter…@naholyr (#35705169) following 295 account(s)I will now read your timeline and your direct messages, and then be ableto tell you who you could remove to improve your productivity :)Note: fetched data will be cached locallyfor privacy reasons that DOES NOT include texts of messagesif you do not want to cache DMs, add option "--no-cache-dms"Extracting Friends List [⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅] 100%Total 295 friend(s)Extracting Direct Messages [⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅] 100%Fetched 540 new post(s), Total 540 post(s)Extracting Direct Messages Sent [⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅] 100%Fetched 509 new post(s), Total 509 post(s)Extracting Home Timeline [⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅] 100%Fetched 771 new post(s), Total 771 post(s)Extracting User Timeline [⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅] 100%Fetched 1073 new post(s), Total 1073 post(s)Extracting Mentions [⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅] 100%Fetched 831 new post(s), Total 831 post(s)Note: at this point, all data (except direct messages unless youprovided options "--cache-dms") is cached.You can run "stats --offline" to return directly to this screenAnalyzing data…Ready!Remember that this data is only a fraction of your real activityFor example, data is based on only 771 messages from your timelineWhat do you want to do with your data?1) Global statistics2) Let me tell you who you should unfollow!3) Who is filling your timeline?4) Who is inactive?5) Who do you really care?6) Quit: 1Global statistics:You receive ~ 623 messages daily, do you feel overwhelmed?You post ~ 21 messages dailyYou receive ~ 24 mentions dailyThe 20% top posters in your timeline produce 79% of totalAmongst your 295 friends, 55% did not post any message during the last 30 hours.
OAuth access tokens, and app's credentials, are stored in
If app is unable to guess what you
$HOME directory is, it should fail.
You can use option
--config to provide a custom configuration file's path.
ttc --config=/path/to/my-config.json test
Fetched data is cached in a local file, stored in
If this file cannot be read or written, you should see error messages related to this.
You can use option
--no-cache to disable cache.
Note that each time you run
ttc stats, new posts are appended to cache, which means that you will have more and more precise statistics as soon as you don't delete your cache, and run
ttc stats often enough. Default limits are Twitter's: 800 messages max.
Twitter's OAuth credentials suck: if I need to access your DMs, I must claim "read & write" permissions :(
The Twitter application does not write anything, but it does not mean it's safe!
As they're hardcoded, anyone could use app's key & secret and then write an application impersonating mine, which you will have authorized to access your data. This is a huge security flaw, so you're highly advised to manage your credentials.
There are two solutions to be really safe:
ttc keys --key=consumer_key --secret=consumer_secret
ttcwill use your personal app, that noone can impersonate, and you're really safe