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