Commit | Line | Data |
---|---|---|
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 | 6 | Terminal-based Twitter Client. |
07d41d27 | 7 | Realtime tweetstream, compose, search , favorite ... and much more fun directly from terminal. |
cd300211 | 8 | |
90630e52 | 9 | This 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 |
12 | Screencast: | |
13 | https://www.youtube.com/watch?v=tykCvPMJq8s | |
14 | <br> | |
12e072c0 | 15 | |
5fba2a02 | 16 | Screenshot: |
577df0e3 O |
17 | ![rainbowstream](./screenshot/RainbowStream.png) |
18 | ![rainbowstreamIOT](./screenshot/RainbowStreamIOT.png) | |
91476ec3 | 19 | |
b04861f5 | 20 | |
91476ec3 | 21 | ## Install |
52974125 | 22 | You will need Python 2.7+ and pip. |
c267927c O |
23 | |
24 | ```bash | |
303f38c9 O |
25 | sudo pip install rainbowstream |
26 | ``` | |
27 | ||
1dd4a2c9 | 28 | or try with a virtualenv |
303f38c9 | 29 | ```bash |
1dd4a2c9 | 30 | sudo pip install virtualenv # skip if you already have virtualenv |
303f38c9 O |
31 | virtualenv venv |
32 | source venv/bin/activate # use the brand new virtualenv. | |
52974125 | 33 | pip install rainbowstream |
c267927c | 34 | ``` |
91476ec3 | 35 | |
303f38c9 | 36 | |
91476ec3 | 37 | ## Usage |
f36f4df7 O |
38 | #### The stream |
39 | Just type | |
91476ec3 | 40 | ```bash |
20ba76f5 | 41 | rainbow |
91476ec3 | 42 | ``` |
f36f4df7 O |
43 | and see your stream. |
44 | ||
c1fa7c94 O |
45 | I shipped a feature which can display **tweet's images directly on terminal**. |
46 | You can try it with: | |
acf4d473 | 47 | ```bash |
c1fa7c94 | 48 | rainbow -iot # Or rainbow --image-on-term |
acf4d473 O |
49 | ``` |
50 | ||
9f72f0f5 | 51 | In the first time you will be asked for authorization of Rainbow Stream app at Twitter. |
4e2680f6 | 52 | Just click the "Authorize access" button and paste PIN number to the terminal, the rainbow will start. |
91476ec3 | 53 | |
f36f4df7 | 54 | #### The interactive mode |
f3177531 | 55 | While your personal stream is continued, you are also ready to tweet, search, reply, retweet... directly from console. |
f5677fb1 | 56 | Simply type "h" and hit the Enter key to see the help. |
f36f4df7 | 57 | |
f5677fb1 | 58 | Input 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 | |
60 | Here 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. |
c7ef0402 | 81 | |
b8c1f42a | 82 | * `rep 12 Really` will reply *'Really'* to the tweet with *[id=12]*. |
f36f4df7 | 83 | |
84a93d1d | 84 | * `fav 12` will favorite the tweet with *[id=12]*. |
a1c246e6 | 85 | |
b8c1f42a | 86 | * `ufav 12` will unfavorite tweet with *[id=12]*. |
f36f4df7 | 87 | |
84a93d1d | 88 | * `del 12` will delete tweet with *[id=12]*. |
f485db0d | 89 | |
b8c1f42a | 90 | * `show image 12` will show the image in tweet with *[id=12]* in your OS's image viewer. |
f36f4df7 | 91 | |
84a93d1d | 92 | __Direct Messages Commands__ |
b8cc314c | 93 | |
b8c1f42a | 94 | * `inbox` will show inbox messages. `inbox 7` will show newest 7 messages. |
e2b81717 | 95 | |
b8c1f42a | 96 | * `sent` will show sent messages. `sent 7` will show newest 7 messages. |
e2b81717 | 97 | |
84a93d1d O |
98 | * `mes @dtvd88 hi` will send a `hi` message to @dtvd88. |
99 | ||
b8c1f42a | 100 | * `trash 5` will remove message with *[message_id=5]* |
e2b81717 | 101 | |
84a93d1d O |
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). | |
e2b81717 | 107 | |
b8c1f42a | 108 | * `fl @dtvd88` will follow @dtvd88. |
f5677fb1 | 109 | |
b8c1f42a | 110 | * `ufl @dtvd88` will unfollow @dtvd88. |
f36f4df7 | 111 | |
84a93d1d O |
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 | ||
b8c1f42a | 126 | * `h` will show the help. |
f36f4df7 | 127 | |
b8c1f42a | 128 | * `c` will clear the screen. |
f36f4df7 | 129 | |
b8c1f42a | 130 | * `q` will quit. |
7b2f82ad | 131 | |
84a93d1d | 132 | __Switching Stream Commands__ |
4e0bf227 | 133 | |
b8c1f42a | 134 | * `switch public #AKB48` will switch current stream to public stream and track keyword `AKB48` |
4e0bf227 | 135 | |
b8c1f42a | 136 | * `switch public #AKB48 -f ` will do exactly as above but will ask you to provide 2 list: |
4e0bf227 | 137 | |
b8c1f42a | 138 | `Only nicks` decide what nicks will be include only. |
4e0bf227 | 139 | |
b8c1f42a | 140 | `Ignore nicks`decide what nicks will be exclude. |
4e0bf227 | 141 | |
b8c1f42a O |
142 | * `switch public #AKB48 -d ` will apply filter to *ONLY_LIST* and *IGNORE_LIST*. |
143 | You can setup 2 list above at `config.py` | |
4e0bf227 | 144 | |
b8c1f42a | 145 | * `switch mine` will switch current stream to personal stream. `-f` and `-d` will work as well. |
4e0bf227 | 146 | |
fda8755a O |
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. | |
b4093c79 | 152 | * Put `order_rainbow('anything')` or `random_rainbow('wahahaha')` will make more fun :) |
fda8755a | 153 | |
72b9e670 O |
154 | For example see the screenshot above. |
155 | ||
3aa1d137 O |
156 | ## Bug and feature requests |
157 | Found a bug or a feature request ? | |
b8c1f42a | 158 | Please [create an issue](https://github.com/DTVD/rainbowstream/issues/new) |
6a26fca1 O |
159 | or contact me at [@dtvd88](https://twitter.com/dtvd88) |
160 | ||
3aa1d137 O |
161 | ## Contributing |
162 | I appreciate any help and support. Feel free to | |
163 | [fork](https://github.com/DTVD/rainbowstream/fork) | |
164 | and | |
165 | [create a pull request](https://github.com/DTVD/rainbowstream/compare/). | |
166 | You will be listed as contributor. | |
167 | ||
f5dcec85 | 168 | ## License |
13b5b854 | 169 | Rainbow Stream are released under an MIT License. See LICENSE.txt for details |