<commit_before>TweetHog - Stream, filter and react to Twitter status updates
=============================================================

[![GitHub issues](https://img.shields.io/github/issues/lastzero/tweethog.svg)][issues]
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)][license]

[issues]: https://github.com/lastzero/tweethog/issues
[license]: https://github.com/lastzero/tweethog/blob/master/LICENSE

This tool provides an easy way to stream, filter and optionally
react to tweets based on topic, language and user profile. It is similar
to commercial SaaS offerings such as TweetFull, RoboLike or Twitfox. However...

* TweetHog is free, fast and doesn't require setting up a server
* You stay in control of your data and don't need to give access to your Twitter account
* You can improve your Go skills if you choose to adapt it to your specific needs

![TweetHog](logo.png)

Installation
------------
Make sure you got the latest version of Go installed on your computer. It can be downloaded for free at https://golang.org/dl/.

Then open a terminal and enter:

```
go get github.com/lastzero/tweethog
```

Configuration
-------------
In order to stream status updates, TweetHog needs access to the Twitter API:

1. Copy (or rename) [config.example.yml](config.example.yml) to config.yml
2. Create your own Twitter API keys & tokens on https://apps.twitter.com/app/new
3. Put them in config.yml by replacing the placeholders

Hint: You can use the `--config` flag to use a different config file.

Note: Due to an [issue](https://github.com/dghubble/go-twitter/issues/61)
with the go-twitter library, you won't see any error when using
invalid credentials. We're working on it.

Example Usage
-------------
```
# tweethog -t cat -l en --like
Started streaming Twitter status updates on Mon, 16 Oct 2017 15:17:02 CEST...
Topics      : cat
Languages   : en
Like tweets : true
...
ID: 919915098877190144  User: @lindsseybb  Following: 78  Followers: 52  Likes: 617
>>> Cat nip plants are resilient y'all. My pot has been tipped over numerous times,
I haven't watered it once and it just keeps coming back.
Liked ❤️
```

Flags
-----
Name                     | Description
-------------------------|------------------------------------------------------------------
--topic value, -t value  | Stream filter topic e.g. cat, dog, fish
--lang value, -l value   | Stream filter language e.g. en, de, fr
--max-followers value    | User max followers, 0 for unlimited (default: 0)
--min-followers value    | User min followers (default: 5)
--max-following value    | User max following, 0 for unlimited (default: 0)
--min-following value    | User min following (default: 5)
--max-tags value         | Max number of hash #tags (default: 2)
--max-mentions value     | Max number of @mentions (default: 1)
--retweets               | Include tweets starting with RT
--replies                | Include tweets starting with @
--via                    | Include tweets containing via @
--urls                   | Include tweets containing URLs
--like                   | Like all matching tweets
--smart-like             | Likes tweets with random delay and rate limit
--config value, -c value | Config file name (default: "config.yml")
--help, -h               | show help
--version, -v            | print the version

About
-----
This tool was created by [<NAME>](https://blog.liquidbytes.net/about). It is still under
development and not very mature. You can use it for free under the terms of the MIT license.

Please feel free to send an e-mail if you have any questions or just want to say hello.
Contributions are most welcome, even if it's just a bug report or a tiny pull-request to fix a typo.<commit_msg>Updated About section<commit_after>TweetHog - Stream, filter and react to Twitter status updates
=============================================================

[![GitHub issues](https://img.shields.io/github/issues/lastzero/tweethog.svg)][issues]
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)][license]

[issues]: https://github.com/lastzero/tweethog/issues
[license]: https://github.com/lastzero/tweethog/blob/master/LICENSE

This tool provides an easy way to stream, filter and optionally
react to tweets based on topic, language and user profile. It is similar
to commercial SaaS offerings such as TweetFull, RoboLike or Twitfox. However...

* TweetHog is free, fast and doesn't require setting up a server
* You stay in control of your data and don't need to give access to your Twitter account
* You can improve your Go skills if you choose to adapt it to your specific needs

![TweetHog](logo.png)

Installation
------------
Make sure you got the latest version of Go installed on your computer. It can be downloaded for free at https://golang.org/dl/.

Then open a terminal and enter:

```
go get github.com/lastzero/tweethog
```

Configuration
-------------
In order to stream status updates, TweetHog needs access to the Twitter API:

1. Copy (or rename) [config.example.yml](config.example.yml) to config.yml
2. Create your own Twitter API keys & tokens on https://apps.twitter.com/app/new
3. Put them in config.yml by replacing the placeholders

Hint: You can use the `--config` flag to use a different config file.

Note: Due to an [issue](https://github.com/dghubble/go-twitter/issues/61)
with the go-twitter library, you won't see any error when using
invalid credentials. We're working on it.

Example Usage
-------------
```
# tweethog -t cat -l en --like
Started streaming Twitter status updates on Mon, 16 Oct 2017 15:17:02 CEST...
Topics      : cat
Languages   : en
Like tweets : true
...
ID: 919915098877190144  User: @lindsseybb  Following: 78  Followers: 52  Likes: 617
>>> Cat nip plants are resilient y'all. My pot has been tipped over numerous times,
I haven't watered it once and it just keeps coming back.
Liked ❤️
```

Flags
-----
Name                     | Description
-------------------------|------------------------------------------------------------------
--topic value, -t value  | Stream filter topic e.g. cat, dog, fish
--lang value, -l value   | Stream filter language e.g. en, de, fr
--max-followers value    | User max followers, 0 for unlimited (default: 0)
--min-followers value    | User min followers (default: 5)
--max-following value    | User max following, 0 for unlimited (default: 0)
--min-following value    | User min following (default: 5)
--max-tags value         | Max number of hash #tags (default: 2)
--max-mentions value     | Max number of @mentions (default: 1)
--retweets               | Include tweets starting with RT
--replies                | Include tweets starting with @
--via                    | Include tweets containing via @
--urls                   | Include tweets containing URLs
--like                   | Like all matching tweets
--smart-like             | Likes tweets with random delay and rate limit
--config value, -c value | Config file name (default: "config.yml")
--help, -h               | show help
--version, -v            | print the version

About
-----
This tool was created by [<NAME>](https://blog.liquidbytes.net/about)
in an attempt to learn Go the agile way: Start with something small that works
and then refactor and improve. You can use it for free and at your own risk
under the terms of the MIT license.

Please feel free to send an e-mail if you have any questions or just want to say hello.
Contributions are most welcome, even if it's just a bug report or a tiny pull-request to fix a typo.
{'fraction_non_alphanumeric': 0.13836978131212724, 'fraction_numerical': 0.013253810470510271, 'mean_word_length': 2.7767767767767766, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '844479', 'n_tokens_mistral': 2212, 'n_tokens_neox': 2028, 'n_words': 941}