How To Lose Every Follower in 10 Days (Spoiler: Automatically Tweet All Your Commits)
Tags: twitter, git, python, githooks
Published: 2020-12-28 22:05:44

---
title: How To Lose Every Follower in 10 Days (Spoiler: Automatically Tweet All Your Commits)
published: true
description: tweet every commit with repository level & twitter account level control
tags: twitter, git, python, githooks
---

Originally posted at [&computers](https://andcomputers.io/how-to-lose-every-follower-in-10-days)
#### have you ever wanted to lose all of your followers by tweeting every single commit message to the world?


In the typical flow of writing software, developers often employ a tool called [git](https://en.wikipedia.org/wiki/Git) to keep track of their changes and collaborate with other developers on the project. When we make a bit-sized number of changes that we want to share with our collaborators on the project or that is a good checkpoint, we **`commit`** those changes so others can build on top of them.


Anyways, this article is about losing followers.. so I'm sharing a teeny project about how to send a tweet every time you make a commit 😅

If you'd like to see it in action, follow this [account](https://twitter.com/JuiceCoProdigy)


{% twitter 1088986733864198149 %}
_you'll get lots of these.. actually these are the only tweets that come from this account, lol, enjoy!_


## The "How-To" is Below...

<hr/>


1. Get your developer tokens from https://apps.twitter.com/ and make sure your permissions are set to "Read and Write"

![get_dev_tokens](http://g.recordit.co/VlZUSa77T2.gif)



2. Fill out the `.profiles.ini` file with as many different twitter account keys as you would like.

```
[default]
CONSUMER_KEY=your_key
CONSUMER_SECRET=my_secret_key
ACCESS_TOKEN=my_token
ACCESS_TOKEN_SECRET=my_secret_token

[kevindurantactual]
CONSUMER_KEY=your_key
CONSUMER_SECRET=my_secret_key
ACCESS_TOKEN=my_token
ACCESS_TOKEN_SECRET=my_secret_token

[kevindurantfanacct]
CONSUMER_KEY=your_key
CONSUMER_SECRET=my_secret_key
ACCESS_TOKEN=my_token
ACCESS_TOKEN_SECRET=my_secret_token
```

3. run `pip install -r requirements.txt` to install dependencies (its just `tweepy` and `configparser`)
   
4. Run `python start_tweeting.py default` to tweet from the account associated with the keys listed under `default` in `.profiles.ini` 
 
6. When prompted select the folder of the repository you are interested in tweeting out commits for.  

7. Watch as all your fake friends unfollow you.

<hr/>

#### Verify it Worked

Go to the local repository that you selected to tweet from and find the `.git` folder. 

<sup>Note that most operating systems have folders that start with "." hidden. To unhide folders on Mac OSX press `Command+Shift+.`</sup>


![unhide_hidden_folders](http://g.recordit.co/vgQZDrphXW.gif)


Once you've found the `.git` folder, look for 2 files named `post-commit` and `post_commit_hook_autogen.py` in the repository's git hooks directory: `your_repo/.git/hooks/`

Open the `post_commit_hook_autogen.py` file and verify that the Twitter API credentials you supplied are present in the config dictionary. It should look like this.

```
python def main():
"""
Get these values from https://apps.twitter.com/
See more detailed instructions in the README.md
"""
cfg = {
    "consumer_key": "some-random-str-thing",
    "consumer_secret": "and-another-one-but-secretive",
    "access_token": "a-long-string-too",
    "access_token_secret" : "a-secretive-long-string"
}
```




#### When You Get Tired or Your Follower Count Goes Down to 0 

Run the following command: `bash stop_tweeting.sh`
Supply the path to the repository that you had previously been terrorizing followers from.  

<hr/>


[Start Tweeting Commits](https://github.com/and-computers/HowToTweetEveryCommit)



<hr/>

<sup>adapted from this [gist](https://gist.github.com/kylefrost/f3841e76749dc64f4b5e) I changed the gist a bit by using `Tweepy` library because I was having some issues with oauth-sign and http-post install from tar.gz was giving me problems and python is just easier. hopefully this makes it a bit more usable for someone else. enjoy!</sup>

<sup>[blog post explaining git commands](https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1)</sup>

<sup>[GIF Credit for API Keys](https://www.slickremix.com/docs/how-to-get-api-keys-and-tokens-for-twitter/)</sup>