theme chosen
[rainbowstream.git] / README.md
CommitLineData
b8c1f42a 1## Rainbow Stream
169b134d 2
0d631c7a
O
3[![Download](http://img.shields.io/pypi/dm/rainbowstream.svg?style=flat)](https://pypi.python.org/pypi/rainbowstream)
4[![Version](http://img.shields.io/pypi/v/rainbowstream.svg?style=flat)](https://pypi.python.org/pypi/rainbowstream)
1e979485 5
b8c1f42a 6Terminal-based Twitter Client.
07d41d27 7Realtime tweetstream, compose, search , favorite ... and much more fun directly from terminal.
cd300211 8
90630e52 9This package is built on top of [Python Twitter Tool](http://mike.verdone.ca/twitter/) and [Twitter API](https://dev.twitter.com/docs/api/1.1).
f5dcec85 10
5fba2a02
O
11## Showcase
12Screencast:
13https://www.youtube.com/watch?v=tykCvPMJq8s
14<br>
12e072c0 15
5fba2a02 16Screenshot:
577df0e3
O
17![rainbowstream](./screenshot/RainbowStream.png)
18![rainbowstreamIOT](./screenshot/RainbowStreamIOT.png)
91476ec3 19
b04861f5 20
91476ec3 21## Install
52974125 22You will need Python 2.7+ and pip.
c267927c
O
23
24```bash
303f38c9
O
25sudo pip install rainbowstream
26```
27
1dd4a2c9 28or try with a virtualenv
303f38c9 29```bash
1dd4a2c9 30sudo pip install virtualenv # skip if you already have virtualenv
303f38c9
O
31virtualenv venv
32source venv/bin/activate # use the brand new virtualenv.
52974125 33pip install rainbowstream
c267927c 34```
91476ec3 35
303f38c9 36
91476ec3 37## Usage
f36f4df7
O
38#### The stream
39Just type
91476ec3 40```bash
20ba76f5 41rainbow
91476ec3 42```
f36f4df7
O
43and see your stream.
44
c1fa7c94
O
45I shipped a feature which can display **tweet's images directly on terminal**.
46You can try it with:
acf4d473 47```bash
c1fa7c94 48rainbow -iot # Or rainbow --image-on-term
acf4d473
O
49```
50
9f72f0f5 51In the first time you will be asked for authorization of Rainbow Stream app at Twitter.
4e2680f6 52Just click the "Authorize access" button and paste PIN number to the terminal, the rainbow will start.
91476ec3 53
f36f4df7 54#### The interactive mode
f3177531 55While your personal stream is continued, you are also ready to tweet, search, reply, retweet... directly from console.
f5677fb1 56Simply type "h" and hit the Enter key to see the help.
f36f4df7 57
f5677fb1 58Input is in interactive mode. It means that you can use arrow key to move up and down history, tab-autocomplete or 2 tab to view available suggestion. Input history from previous run is available as well.
f36f4df7
O
59
60Here is full list of supported command
61
84a93d1d 62__Explore Commands__
f4ffe56b 63
b8c1f42a 64* `trend` will show global trending topics. `trend US` will show trends in United States while `trend JP Tokyo` will show trends in Tokyo/Japan.
f4ffe56b 65
b8c1f42a 66* `home` will show your timeline. `home 10` will print exactly 10 tweets.
f36f4df7 67
84a93d1d
O
68* `mentions` will show mentions timeline. `mentions 7` will show 7 mention tweets.
69
70* `whois @dtvd88` will show profile of @dtvd88.
71
b8c1f42a 72* `view @mdo` will show @mdo 's timeline. `view @dmo 9` will print exactly 9 tweets.
f36f4df7 73
84a93d1d
O
74* `s #noah` will search the word *'noah'*. Result will come back with highlight.
75
76__Tweet Commands__
e2b81717 77
b8c1f42a 78* `t the rainbow is god's promise to noah` will tweet exactly *'the rainbow is god's promise to noah'*.
f36f4df7 79
b8c1f42a 80* `rt 12` will retweet the tweet with *[id=12]*. You can see id of each tweet beside the time.
3f5ec2a1
O
81
82* `allrt 12 20` will list 20 newest retweets of the tweet with *[id=12]*.
08bab467 83If the number of retweets is not specified, 5 newest retweets will be listed instead.
c7ef0402 84
b8c1f42a 85* `rep 12 Really` will reply *'Really'* to the tweet with *[id=12]*.
f36f4df7 86
84a93d1d 87* `fav 12` will favorite the tweet with *[id=12]*.
a1c246e6 88
b8c1f42a 89* `ufav 12` will unfavorite tweet with *[id=12]*.
f36f4df7 90
84a93d1d 91* `del 12` will delete tweet with *[id=12]*.
f485db0d 92
b8c1f42a 93* `show image 12` will show the image in tweet with *[id=12]* in your OS's image viewer.
f36f4df7 94
84a93d1d 95__Direct Messages Commands__
b8cc314c 96
b8c1f42a 97* `inbox` will show inbox messages. `inbox 7` will show newest 7 messages.
e2b81717 98
b8c1f42a 99* `sent` will show sent messages. `sent 7` will show newest 7 messages.
e2b81717 100
84a93d1d
O
101* `mes @dtvd88 hi` will send a `hi` message to @dtvd88.
102
b8c1f42a 103* `trash 5` will remove message with *[message_id=5]*
e2b81717 104
84a93d1d
O
105__Friends and followers Commands__
106
107* `ls fl` will list all your followers (people who are following you).
108
109* `ls fr` will list all your friends (people who you are following).
e2b81717 110
b8c1f42a 111* `fl @dtvd88` will follow @dtvd88.
f5677fb1 112
b8c1f42a 113* `ufl @dtvd88` will unfollow @dtvd88.
f36f4df7 114
84a93d1d
O
115* `mute @dtvd88` will mute @dtvd88.
116
117* `unmute @dtvd88` will unmute @dtvd88.
118
119* `muting` will list muting users.
120
121* `block @dtvd88` will block @dtvd88.
122
123* `unblock @dtvd88` will unblock @dtvd88.
124
125* `report @dtvd88` will report @dtvd88 as a spam account.
126
84a93d1d 127__Switching Stream Commands__
4e0bf227 128
b8c1f42a 129* `switch public #AKB48` will switch current stream to public stream and track keyword `AKB48`
4e0bf227 130
b8c1f42a 131* `switch public #AKB48 -f ` will do exactly as above but will ask you to provide 2 list:
4e0bf227 132
b8c1f42a 133 `Only nicks` decide what nicks will be include only.
4e0bf227 134
b8c1f42a 135 `Ignore nicks`decide what nicks will be exclude.
4e0bf227 136
b8c1f42a
O
137* `switch public #AKB48 -d ` will apply filter to *ONLY_LIST* and *IGNORE_LIST*.
138You can setup 2 list above at `config.py`
4e0bf227 139
b8c1f42a 140* `switch mine` will switch current stream to personal stream. `-f` and `-d` will work as well.
4e0bf227 141
fda8755a
O
142__Smart shell__
143
144* Put anything to terminal, the app will try to eval and display result as a python interactive shell.
145 * `142857*2` or `101**3` like a calculator.
146 * Even `cal` will show the calendar for current month.
b4093c79 147 * Put `order_rainbow('anything')` or `random_rainbow('wahahaha')` will make more fun :)
fda8755a 148
3f5ec2a1
O
149__Screening Commands__
150
151* `h` will show the help.
152
153* `c` will clear the screen.
154
155* `q` will quit.
156
72b9e670
O
157For example see the screenshot above.
158
3aa1d137
O
159## Bug and feature requests
160Found a bug or a feature request ?
b8c1f42a 161Please [create an issue](https://github.com/DTVD/rainbowstream/issues/new)
6a26fca1
O
162or contact me at [@dtvd88](https://twitter.com/dtvd88)
163
3aa1d137
O
164## Contributing
165I appreciate any help and support. Feel free to
166[fork](https://github.com/DTVD/rainbowstream/fork)
167and
168[create a pull request](https://github.com/DTVD/rainbowstream/compare/).
169You will be listed as contributor.
170
f5dcec85 171## License
13b5b854 172Rainbow Stream are released under an MIT License. See LICENSE.txt for details