Update README.md
[rainbowstream.git] / README.md
... / ...
CommitLineData
1## Rainbow Stream
2
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)
5
6Terminal-based Twitter Client.
7Realtime tweetstream, compose, search , favorite ... and much more fun directly from terminal.
8
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).
10
11## Showcase
12Screencast:
13https://www.youtube.com/watch?v=tykCvPMJq8s
14<br>
15
16Screenshot:
17![rainbowstream](./screenshot/RainbowStream.png)
18![rainbowstreamIOT](./screenshot/RainbowStreamIOT.png)
19
20
21## Install
22You will need Python 2.7+ and pip.
23
24```bash
25sudo pip install rainbowstream
26```
27
28or try it with a virtualenv
29```bash
30pip install virtualenv # skip if you already have virtualenv
31virtualenv venv
32source venv/bin/activate # use the brand new virtualenv.
33pip install rainbowstream
34```
35
36
37## Usage
38#### The stream
39Just type
40```bash
41rainbow
42```
43and see your stream.
44
45I shipped a feature which can display **tweet's images directly on terminal**.
46You can try it with:
47```bash
48rainbow -iot # Or rainbow --image-on-term
49```
50
51In the first time you will be asked for authorization of Rainbow Stream app at Twitter.
52Just click the "Authorize access" button and paste PIN number to the terminal, the rainbow will start.
53
54#### The interactive mode
55While your personal stream is continued, you are also ready to tweet, search, reply, retweet... directly from console.
56Simply type "h" and hit the Enter key to see the help.
57
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.
59
60Here is full list of supported command
61
62__Explore Commands__
63
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.
65
66* `home` will show your timeline. `home 10` will print exactly 10 tweets.
67
68* `mentions` will show mentions timeline. `mentions 7` will show 7 mention tweets.
69
70* `whois @dtvd88` will show profile of @dtvd88.
71
72* `view @mdo` will show @mdo 's timeline. `view @dmo 9` will print exactly 9 tweets.
73
74* `s #noah` will search the word *'noah'*. Result will come back with highlight.
75
76__Tweet Commands__
77
78* `t the rainbow is god's promise to noah` will tweet exactly *'the rainbow is god's promise to noah'*.
79
80* `rt 12` will retweet the tweet with *[id=12]*. You can see id of each tweet beside the time.
81
82* `rep 12 Really` will reply *'Really'* to the tweet with *[id=12]*.
83
84* `fav 12` will favorite the tweet with *[id=12]*.
85
86* `ufav 12` will unfavorite tweet with *[id=12]*.
87
88* `del 12` will delete tweet with *[id=12]*.
89
90* `show image 12` will show the image in tweet with *[id=12]* in your OS's image viewer.
91
92__Direct Messages Commands__
93
94* `inbox` will show inbox messages. `inbox 7` will show newest 7 messages.
95
96* `sent` will show sent messages. `sent 7` will show newest 7 messages.
97
98* `mes @dtvd88 hi` will send a `hi` message to @dtvd88.
99
100* `trash 5` will remove message with *[message_id=5]*
101
102__Friends and followers Commands__
103
104* `ls fl` will list all your followers (people who are following you).
105
106* `ls fr` will list all your friends (people who you are following).
107
108* `fl @dtvd88` will follow @dtvd88.
109
110* `ufl @dtvd88` will unfollow @dtvd88.
111
112* `mute @dtvd88` will mute @dtvd88.
113
114* `unmute @dtvd88` will unmute @dtvd88.
115
116* `muting` will list muting users.
117
118* `block @dtvd88` will block @dtvd88.
119
120* `unblock @dtvd88` will unblock @dtvd88.
121
122* `report @dtvd88` will report @dtvd88 as a spam account.
123
124__Screening Commands__
125
126* `h` will show the help.
127
128* `c` will clear the screen.
129
130* `q` will quit.
131
132__Switching Stream Commands__
133
134* `switch public #AKB48` will switch current stream to public stream and track keyword `AKB48`
135
136* `switch public #AKB48 -f ` will do exactly as above but will ask you to provide 2 list:
137
138 `Only nicks` decide what nicks will be include only.
139
140 `Ignore nicks`decide what nicks will be exclude.
141
142* `switch public #AKB48 -d ` will apply filter to *ONLY_LIST* and *IGNORE_LIST*.
143You can setup 2 list above at `config.py`
144
145* `switch mine` will switch current stream to personal stream. `-f` and `-d` will work as well.
146
147__Smart shell__
148
149* Put anything to terminal, the app will try to eval and display result as a python interactive shell.
150 * `142857*2` or `101**3` like a calculator.
151 * Even `cal` will show the calendar for current month.
152 * Put `order_rainbow('anything')` or `random_rainow('wahahaha')` will make more fun :)
153
154For example see the screenshot above.
155
156## Bug and feature requests
157Found a bug or a feature request ?
158Please [create an issue](https://github.com/DTVD/rainbowstream/issues/new)
159or contact me at [@dtvd88](https://twitter.com/dtvd88)
160
161## Contributing
162I appreciate any help and support. Feel free to
163[fork](https://github.com/DTVD/rainbowstream/fork)
164and
165[create a pull request](https://github.com/DTVD/rainbowstream/compare/).
166You will be listed as contributor.
167
168## License
169Rainbow Stream are released under an MIT License. See LICENSE.txt for details