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