Update README.md
[rainbowstream.git] / README.rst
1 Rainbow Stream
2 --------------
3
4 .. image:: http://img.shields.io/pypi/dm/rainbowstream.svg?style=flat
5 :target: https://pypi.python.org/pypi/rainbowstream
6
7 .. image:: http://img.shields.io/pypi/v/rainbowstream.svg?style=flat
8 :target: https://pypi.python.org/pypi/rainbowstream
9
10 Terminal-based Twitter Client. Realtime tweetstream, compose, search ,
11 favorite … and much more fun directly from terminal.
12
13 This package is built on the top of `Python Twitter Tool`_ and `Twitter API`_.
14
15 Showcase
16 ----------
17 Screencast: https://www.youtube.com/watch?v=tykCvPMJq8s
18
19 Screenshot:
20
21 .. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/RainbowStream.png
22 :alt: rainbowstream
23
24 .. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/RainbowStreamIOT.png
25 :alt: rainbowstreamIOT
26
27 Install
28 -------
29
30 You will need Python 2.7+ and pip.
31
32 .. code:: bash
33
34 pip install rainbowstream
35
36 Usage
37 -----
38
39 The stream
40 ^^^^^^^^^^
41
42 Just type
43
44 .. code:: bash
45
46 rainbow
47
48 and see your stream.
49
50 I shipped a feature which can display **tweet's images directly on terminal**.
51 You can try it with:
52
53 .. code:: bash
54
55 rainbow -iot # Or rainbow --image-on-term
56
57 In the first time you will be asked for authorization of Rainbow Stream
58 app at Twitter. Just click the “Authorize access” button and paste PIN
59 number to the terminal, the rainbow will start.
60
61 The interactive mode
62 ^^^^^^^^^^^^^^^^^^^^
63
64 While your personal stream is continued, you are also ready to tweet,
65 search, reply, retweet… directly from console. Simply type “h” and hit
66 the Enter key to see the help.
67
68 Input is in interactive mode. It means that you can use arrow key to
69 move up and down history, tab-autocomplete or 2 tab to view available
70 suggestion. Input history from previous run is available as well.
71
72 Here is full list of supported command:
73
74 **Explore Commands**
75
76 - ``trend`` will show global trending topics. ``trend US`` will show
77 trends in United States while ``trend JP Tokyo`` will show trends in
78 Tokyo/Japan.
79
80 - ``home`` will show your timeline. ``home 10`` will print exactly 10
81 tweets.
82
83 - ``mentions`` will show mentions timeline. ``mentions 7`` will show 7
84 mention tweets.
85
86 - ``whois @dtvd88`` will show profile of @dtvd88.
87
88 - ``view @mdo`` will show @mdo ’s timeline. ``view @dmo 9`` will print
89 exactly 9 tweets.
90
91 - ``s #noah`` will search the word *‘noah’*. Result will come back with
92 highlight.
93
94 **Tweet Commands**
95
96 - ``t the rainbow is god's promise to noah`` will tweet exactly *‘the
97 rainbow is god’s promise to noah’*.
98
99 - ``rt 12`` will retweet the tweet with *[id=12]*. You can see id of
100 each tweet beside the time.
101
102 - ``rep 12 Really`` will reply *‘Really’* to the tweet with *[id=12]*.
103
104 - ``fav 12`` will favorite the tweet with *[id=12]*.
105
106 - ``ufav 12`` will unfavorite tweet with *[id=12]*.
107
108 - ``del 12`` will delete tweet with *[id=12]*.
109
110 - ``show image 12`` will show the image in tweet with *[id=12]* in your
111 OS’s image viewer.
112
113 **Direct Messages Commands**
114
115 - ``inbox`` will show inbox messages. ``inbox 7`` will show newest 7
116 messages.
117
118 - ``sent`` will show sent messages. ``sent 7`` will show newest 7
119 messages.
120
121 - ``mes @dtvd88 hi`` will send a ``hi`` message to @dtvd88.
122
123 - ``trash 5`` will remove message with *[message\_id=5]*
124
125 **Friends and followers Commands**
126
127 - ``ls fl`` will list all your followers (people who are following
128 you).
129
130 - ``ls fr`` will list all your friends (people who you are following).
131
132 - ``fl @dtvd88`` will follow @dtvd88.
133
134 - ``ufl @dtvd88`` will unfollow @dtvd88.
135
136 - ``mute @dtvd88`` will mute @dtvd88.
137
138 - ``unmute @dtvd88`` will unmute @dtvd88.
139
140 - ``muting`` will list muting users.
141
142 - ``block @dtvd88`` will block @dtvd88.
143
144 - ``unblock @dtvd88`` will unblock @dtvd88.
145
146 - ``report @dtvd88`` will report @dtvd88 as a spam account.
147
148 **Screening Commands**
149
150 - ``h`` will show the help.
151
152 - ``c`` will clear the screen.
153
154 - ``q`` will quit.
155
156 **Switching Stream Commands**
157
158 - ``switch public #AKB48`` will switch current stream to public stream
159 and track keyword ``AKB48``
160
161 - ``switch public #AKB48 -f`` will do exactly as above but will ask you
162 to provide 2 list:
163
164 ``Only nicks`` decide what nicks will be include only.
165
166 ``Ignore nicks``\ decide what nicks will be exclude.
167
168 - ``switch public #AKB48 -d`` will apply filter to *ONLY\_LIST* and
169 *IGNORE\_LIST*. You can setup 2 list above at ``config.py``
170
171 - ``switch mine`` will switch current stream to personal stream. ``-f``
172 and ``-d`` will work as well.
173
174 **Smart shell**
175
176 - Put anything to terminal, the app will try to eval and display result as a python interactive shell.
177
178 + ``142857*2`` or ``101**3`` like a calculator.
179 + Even ``cal`` will show the calendar for current month.
180 + Put ``order_rainbow('anything')`` or ``random_rainow('wahahaha')`` will make more fun :)
181
182
183 For example see the screenshot above.
184
185 Bug and feature requests
186 ------------------------
187
188 Found a bug or a feature request ?
189 Please `create an issue`_ or contact me at `@dtvd88`_
190
191 Contributing
192 ------------
193 I appreciate any help and support. Feel free to `fork`_ and `create a pull request`_.
194 You will be listed as contributor.
195
196 License
197 -------
198
199 Rainbow Stream are released under an MIT License. See LICENSE.txt for
200 details
201
202
203 .. _Python Twitter Tool: http://mike.verdone.ca/twitter/
204 .. _Twitter API: https://dev.twitter.com/docs/api/1.1
205 .. _create an issue: https://github.com/DTVD/rainbowstream/issues/new
206 .. _@dtvd88: https://twitter.com/dtvd88
207 .. _fork: https://github.com/DTVD/rainbowstream/fork
208 .. _create a pull request: https://github.com/DTVD/rainbowstream/compare/