ayadn 0.6.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +20 -0
- data/.rspec +2 -0
- data/.travis.yml +17 -0
- data/Gemfile +14 -0
- data/Guardfile +26 -0
- data/LICENSE.txt +22 -0
- data/MANUAL.md +946 -0
- data/README.md +26 -411
- data/Rakefile +6 -0
- data/ayadn.gemspec +39 -0
- data/bin/ayadn +3 -3
- data/lib/ayadn.rb +12 -25
- data/lib/ayadn/action.rb +1121 -0
- data/lib/ayadn/alias.rb +106 -0
- data/lib/ayadn/api.rb +312 -301
- data/lib/ayadn/app.rb +429 -365
- data/lib/ayadn/authorize.rb +127 -28
- data/lib/ayadn/blacklist.rb +116 -0
- data/lib/ayadn/cnx.rb +105 -0
- data/lib/ayadn/databases.rb +110 -0
- data/lib/ayadn/descriptions.rb +1043 -0
- data/lib/ayadn/endpoints.rb +220 -153
- data/lib/ayadn/errors.rb +37 -0
- data/lib/ayadn/extend.rb +4 -10
- data/lib/ayadn/fileops.rb +48 -0
- data/lib/ayadn/logs.rb +32 -0
- data/lib/ayadn/pinboard.rb +46 -35
- data/lib/ayadn/post.rb +229 -212
- data/lib/ayadn/scroll.rb +251 -0
- data/lib/ayadn/set.rb +377 -0
- data/lib/ayadn/settings.rb +195 -0
- data/lib/ayadn/status.rb +226 -165
- data/lib/ayadn/switch.rb +72 -0
- data/lib/ayadn/version.rb +4 -0
- data/lib/ayadn/view.rb +506 -269
- data/lib/ayadn/workers.rb +362 -0
- data/spec/helpers.rb +19 -0
- data/spec/mock/@ericd.json +160 -0
- data/spec/mock/@m.json +45 -0
- data/spec/mock/checkins.json +1856 -0
- data/spec/mock/fwr_@ayadn.json +1077 -0
- data/spec/mock/posted.json +1 -0
- data/spec/mock/stream.json +1 -0
- data/spec/spec_helper.rb +14 -0
- data/spec/unit/api_spec.rb +61 -0
- data/spec/unit/databases_spec.rb +5 -0
- data/spec/unit/descriptions_spec.rb +9 -0
- data/spec/unit/endpoints_spec.rb +35 -0
- data/spec/unit/post_spec.rb +136 -0
- data/spec/unit/status_spec.rb +9 -0
- data/spec/unit/view_spec.rb +119 -0
- data/spec/unit/workers_spec.rb +147 -0
- metadata +216 -40
- data/CHANGELOG.md +0 -250
- data/CONTRIBUTORS.md +0 -5
- data/LICENSE.md +0 -14
- data/lib/ayadn/adn_files.rb +0 -84
- data/lib/ayadn/client-http.rb +0 -226
- data/lib/ayadn/colors.rb +0 -62
- data/lib/ayadn/config.yml +0 -35
- data/lib/ayadn/debug.rb +0 -36
- data/lib/ayadn/files.rb +0 -184
- data/lib/ayadn/get-api.rb +0 -43
- data/lib/ayadn/help.rb +0 -152
- data/lib/ayadn/list.rb +0 -89
- data/lib/ayadn/main.rb +0 -542
- data/lib/ayadn/requires.rb +0 -12
- data/lib/ayadn/skip.rb +0 -27
- data/lib/ayadn/tools.rb +0 -208
- data/lib/ayadn/user-stream.rb +0 -91
- data/lib/ayadn/view-channels.rb +0 -120
- data/lib/ayadn/view-interactions.rb +0 -57
- data/lib/ayadn/view-object.rb +0 -195
- data/lib/experiments.rb +0 -109
data/README.md
CHANGED
@@ -1,440 +1,55 @@
|
|
1
|
+
[](https://travis-ci.org/ericdke/na)
|
2
|
+
|
1
3
|
AYADN
|
2
4
|
=====
|
3
5
|
|
4
|
-
[App.net](http://app.net) command-line client
|
5
|
-
|
6
|
-
[](http://badge.fury.io/rb/ayadn)
|
7
|
-
|
8
|
-
- [FEATURES](#features)
|
9
|
-
- [TL;DR](#tldr)
|
10
|
-
- [IMPORTANT NOTE](#important-note)
|
11
|
-
- [INSTALL](#install)
|
12
|
-
- [HOW TO USE](#how-to-use)
|
13
|
-
- [LIST OF COMMANDS](#list-of-commands)
|
14
|
-
- [TIPS](#tips)
|
15
|
-
- [Skip specific posts](#skip-specific-posts)
|
16
|
-
- [Backup some data](#backup-some-data)
|
17
|
-
- [Post links](#post-links)
|
18
|
-
- [Reset pagination data](#reset-pagination-data)
|
19
|
-
- [Custom posts count](#custom-posts-count)
|
20
|
-
- [Pinboard](#pinboard)
|
21
|
-
- ["me"](#me)
|
22
|
-
- [Shortcuts](#shortcuts)
|
23
|
-
- [Channels](#channels)
|
24
|
-
- [Just for fun](#just-for-fun)
|
25
|
-
- [HELP](#help)
|
26
|
-
- [Console](#console)
|
27
|
-
- [Database](#database)
|
28
|
-
- [CONTACT](#contact)
|
29
|
-
- [CREDITS](#credits)
|
30
|
-
- [Beta-testers](#beta-testers)
|
31
|
-
|
32
|
-
## FEATURES
|
33
|
-
|
34
|
-
- read/scroll your App.net stream
|
35
|
-
|
36
|
-
- write a post
|
37
|
-
|
38
|
-
- reply to a post
|
39
|
-
|
40
|
-
- read the conversation around a post
|
41
|
-
|
42
|
-
- star/unstar a post
|
43
|
-
|
44
|
-
- repost/unrepost a post
|
45
|
-
|
46
|
-
- quote a post
|
47
|
-
|
48
|
-
- send a private message
|
49
|
-
|
50
|
-
- read your private messages
|
51
|
-
|
52
|
-
- follow/unfollow a user
|
53
|
-
|
54
|
-
- ask if a user follows another one
|
55
|
-
|
56
|
-
- mute/unmute a user
|
57
|
-
|
58
|
-
- search posts for word(s)
|
59
|
-
|
60
|
-
- search posts with hashtag
|
61
|
-
|
62
|
-
- get informations on a post/user
|
63
|
-
|
64
|
-
- read/scroll posts from a user
|
65
|
-
|
66
|
-
- read/scroll posts mentioning a user
|
67
|
-
|
68
|
-
- read posts starred by a user
|
69
|
-
|
70
|
-
- see users who starred/reposted a post
|
71
|
-
|
72
|
-
- read/scroll other streams: "checkins", "global", "trending", "conversations"
|
73
|
-
|
74
|
-
- read a timeline of your interactions
|
75
|
-
|
76
|
-
- delete a post/message
|
77
|
-
|
78
|
-
- save/load a post locally
|
6
|
+
[App.net](http://app.net) command-line client.
|
79
7
|
|
80
|
-
|
8
|
+
The purpose of Ayadn is to give you access to all the features of App.net from the command line.
|
81
9
|
|
82
|
-
|
10
|
+
View or scroll all streams, view or scroll conversations and posts from specific users or mentioning a user, follow/unfollow users, star/unstar/repost/etc, get information about users and their followers/followings, search for words or hashtags, list and download your files, view all your channels including Broadcasts and Patter rooms, write single-line or multi-line posts, send private messages, view geolocation data, etc.
|
83
11
|
|
84
|
-
|
12
|
+
More than 50 features await for your Geekiness to command them.
|
85
13
|
|
86
|
-
|
14
|
+
Ayadn is configurable: colors, timelines, durations, aliases, etc.
|
87
15
|
|
88
|
-
|
16
|
+
You can also specify many options from the commande line, like show the raw JSON instead of the formatted response, show only a number of most recents posts, show only new posts, etc.
|
89
17
|
|
90
|
-
|
18
|
+
There's also exclusive features, like the Blacklist: feed this mini database with usernames, client names or hashtags and Ayadn will never show you any post containing any of these elements.
|
91
19
|
|
92
|
-
|
20
|
+
Last but not least: Ayadn supports multi-accounting! Authorize as many accounts as you wish and simply switch between them with a keystroke.
|
93
21
|
|
94
|
-
- upload files to your ADN account *(only OS X and Linux)*
|
95
|
-
|
96
|
-
- list your subscribed channels
|
97
|
-
|
98
|
-
- post to your subscribed channels
|
99
|
-
|
100
|
-
- save a post link to your Pinboard account
|
101
|
-
|
102
|
-
- post the current iTunes song with #nowplaying hashtag *(only OS X)*
|
103
|
-
|
104
|
-
- [and more!](https://github.com/ericdke/ayadn#list-of-commands)
|
105
|
-
|
106
|
-
*There's also a [landing page](http://ayadn-app.net) and, of course, the [blog](http://ayadn.re-app.net).*
|
107
|
-
|
108
|
-
## TL;DR
|
109
|
-
|
110
|
-
```
|
111
|
-
gem install ayadn
|
112
|
-
ayadn authorize
|
113
|
-
ayadn write 'Posting to App.net with Ruby!'
|
114
|
-
```
|
115
|
-
|
116
|
-
## IMPORTANT NOTE
|
117
|
-
|
118
|
-
Ayadn is currently in a transition process from beta to v1.
|
119
|
-
|
120
|
-
The current [na](https://github.com/ericdke/na) repository will become Ayadn v1 when ready and complete (multi account, automatic initial configuration, configuration with ayadn commands, modular code, OSS rules compliant, new layout, new features, new options, etc).
|
121
22
|
|
122
23
|
## INSTALL
|
123
24
|
|
124
|
-
|
125
|
-
|
126
|
-
```
|
127
|
-
gem install ayadn
|
128
|
-
```
|
129
|
-
|
130
|
-
## HOW TO USE
|
131
|
-
|
132
|
-
You have to authorize Ayadn to use your App.net credentials.
|
133
|
-
|
134
|
-
*Just run Ayadn to start the process!*
|
135
|
-
|
136
|
-
**`ayadn` + optional action + optional target(s) + optional value(s)**
|
137
|
-
|
138
|
-
If you don't provide any option to Ayadn, your personnalized stream is displayed.
|
139
|
-
|
140
|
-
By default, Ayadn displays only the new posts in the stream since your last visit.
|
141
|
-
|
142
|
-
**I strongly recommend you run this command after install:**
|
143
|
-
|
144
|
-
`ayadn install config`
|
145
|
-
|
146
|
-
**so that you can then customize the `~/ayadn/data/config.yml` file this command will create.**
|
147
|
-
|
148
|
-
*Note: Ayadn will try and use your existing authorization if you had a previous version installed. If it fails, just run `ayadn authorize` again.*
|
149
|
-
|
150
|
-
## LIST OF COMMANDS
|
151
|
-
|
152
|
-
*Only the first lines include the `[PRESS ENTER KEY]` reminder for obvious readability reasons.*
|
153
|
-
|
154
|
-
```
|
155
|
-
ayadn [PRESS ENTER KEY]
|
156
|
-
ayadn scroll [PRESS ENTER KEY]
|
157
|
-
ayadn write [PRESS ENTER KEY]
|
158
|
-
ayadn write '@ericd Good morning Eric!' [PRESS ENTER KEY]
|
159
|
-
ayadn reply 18527205 [PRESS ENTER KEY]
|
160
|
-
ayadn pm @ericd [PRESS ENTER KEY]
|
161
|
-
ayadn global
|
162
|
-
ayadn scroll global
|
163
|
-
ayadn checkins
|
164
|
-
ayadn scroll checkins
|
165
|
-
ayadn trending
|
166
|
-
ayadn scroll trending
|
167
|
-
ayadn photos
|
168
|
-
ayadn scroll photos
|
169
|
-
ayadn conversations
|
170
|
-
ayadn scroll conversations
|
171
|
-
ayadn mentions @ericd
|
172
|
-
ayadn scroll mentions @ericd
|
173
|
-
ayadn posts @ericd
|
174
|
-
ayadn scroll posts @ericd
|
175
|
-
ayadn starred @ericd
|
176
|
-
ayadn starred 18527205
|
177
|
-
ayadn reposted 18527205
|
178
|
-
ayadn infos @ericd
|
179
|
-
ayadn infos 18527205
|
180
|
-
ayadn convo 15726105
|
181
|
-
ayadn tag nowplaying
|
182
|
-
ayadn follow @ericd
|
183
|
-
ayadn unfollow @ericd
|
184
|
-
ayadn mute @ayaio
|
185
|
-
ayadn unmute @ayaio
|
186
|
-
ayadn block @spammer
|
187
|
-
ayadn unblock @spammer
|
188
|
-
ayadn nowplaying
|
189
|
-
ayadn interactions
|
190
|
-
ayadn list files
|
191
|
-
ayadn list files all
|
192
|
-
ayadn download 286458
|
193
|
-
ayadn download 286458,286797
|
194
|
-
ayadn upload /path/to/kitten.jpg
|
195
|
-
ayadn private 286458
|
196
|
-
ayadn public 286458
|
197
|
-
ayadn delete-file 286458
|
198
|
-
ayadn search ruby
|
199
|
-
ayadn search ruby,json
|
200
|
-
ayadn channels
|
201
|
-
ayadn send 12345
|
202
|
-
ayadn messages 12345
|
203
|
-
ayadn messages 12345 all
|
204
|
-
ayadn star 18527205
|
205
|
-
ayadn unstar 18527205
|
206
|
-
ayadn repost 18527205
|
207
|
-
ayadn unrepost 18527205
|
208
|
-
ayadn quote 18527205
|
209
|
-
ayadn delete 12345678
|
210
|
-
ayadn delete-message 12345 23456789
|
211
|
-
ayadn list muted
|
212
|
-
ayadn list followings @ericd
|
213
|
-
ayadn list followers @ericd
|
214
|
-
ayadn backup muted
|
215
|
-
ayadn backup followings @ericd
|
216
|
-
ayadn backup followers @ericd
|
217
|
-
ayadn save 18527205
|
218
|
-
ayadn load 18527205
|
219
|
-
ayadn skip-source add IFTTT
|
220
|
-
ayadn skip-source remove IFTTT
|
221
|
-
ayadn skip-source show
|
222
|
-
ayadn skip-tag add sports
|
223
|
-
ayadn skip-tag remove sports
|
224
|
-
ayadn skip-tag show
|
225
|
-
ayadn skip-mention add username
|
226
|
-
ayadn skip-mention remove username
|
227
|
-
ayadn skip-mention show
|
228
|
-
ayadn pin 16864003 ruby,json
|
229
|
-
ayadn alias-channel 12345 channel_name
|
230
|
-
ayadn messages channel_name
|
231
|
-
ayadn list alias
|
232
|
-
ayadn unified 10
|
233
|
-
ayadn global 10
|
234
|
-
ayadn checkins 10
|
235
|
-
ayadn photos 10
|
236
|
-
ayadn trending 10
|
237
|
-
ayadn conversations 10
|
238
|
-
ayadn mentions @ericd 10
|
239
|
-
ayadn posts @ericd 10
|
240
|
-
ayadn starred @ericd 10
|
241
|
-
ayadn does @ericd follow @ayadn
|
242
|
-
ayadn reset pagination
|
243
|
-
ayadn list options
|
244
|
-
ayadn help
|
245
|
-
ayadn commands
|
246
|
-
ayadn webhelp
|
247
|
-
ayadn random
|
248
|
-
```
|
249
|
-
|
250
|
-
## HELP
|
251
|
-
|
252
|
-
### Writing in the console/terminal
|
253
|
-
|
254
|
-
Be aware of the way the console/terminal treats what you type if you're using ayadn inline, like this: `ayadn write "Hello"`
|
255
|
-
|
256
|
-
When posting with `"double quotes"`, any special character will be interpreted by the command line!
|
257
|
-
|
258
|
-
So you have to post with `'simple quotes'` instead, this way the console don't mess with your content.
|
259
|
-
|
260
|
-
But it creates other problems...
|
261
|
-
|
262
|
-
**My advice: post with the compose feature, that is to say without providing your text inline:**
|
263
|
-
|
264
|
-
`ayadn write`
|
265
|
-
|
266
|
-
Then just write your text, nothing else is needed, no single or double quotes.
|
267
|
-
|
268
|
-
### Database
|
269
|
-
|
270
|
-
Ayadn keeps a database of the ids of all the users it sees (it reduces the number of API calls and speeds up the app.)
|
271
|
-
|
272
|
-
If you think that this file is causing problems to Ayadn or if it's simply getting too big, just trash it.
|
273
|
-
|
274
|
-
The file is: `%USERNAME%/ayadn/data/username/db/users.db`
|
275
|
-
|
276
|
-
## TIPS
|
277
|
-
|
278
|
-
### Skip specific posts
|
279
|
-
|
280
|
-
You can make posts containing a specific *hashtag*, like "#sports", or from a specific *client*, like "IFTTT" disappear from your timeline.
|
281
|
-
|
282
|
-
It works with users too: although App.net has the *mute* feature, it doesn't prevent the muted user to appear in reposts or to see posts mentioning him/her. This command allows you to do it.
|
283
|
-
|
284
|
-
*ayadn skip-xxx add/remove target* to add/remove from the 'skipped' list.
|
285
|
-
|
286
|
-
- Skip posts from specific client:
|
287
|
-
|
288
|
-
`ayadn skip-source add IFTTT`
|
289
|
-
|
290
|
-
- Skip posts with specific hashtag:
|
291
|
-
|
292
|
-
`ayadn skip-tag add sports`
|
293
|
-
|
294
|
-
- Skip posts with mentioning specific user:
|
295
|
-
|
296
|
-
`ayadn skip-mention add username`
|
297
|
-
|
298
|
-
Change of mind?
|
299
|
-
|
300
|
-
`ayadn skip-source remove IFTTT`
|
301
|
-
`ayadn skip-tag remove sports`
|
302
|
-
`ayadn skip-mention remove username`
|
303
|
-
|
304
|
-
There's basically no verification with this feature, so be careful to not add misspelled or non-existent info.
|
305
|
-
|
306
|
-
### Backup some data
|
307
|
-
|
308
|
-
```
|
309
|
-
ayadn backup followings @ericd
|
310
|
-
ayadn backup followers @ericd
|
311
|
-
ayadn backup muted
|
312
|
-
```
|
313
|
-
|
314
|
-
A JSON file containing the username and real name of your followings/followers/muted will be saved in `%USERDIR%/ayadn/data/lists`.
|
315
|
-
|
316
|
-
The `muted` option only works for yourself (this is a normal limitation from the API).
|
317
|
-
|
318
|
-
### Post links
|
319
|
-
|
320
|
-
- Write/paste a simple link:
|
321
|
-
|
322
|
-
```
|
323
|
-
ayadn write 'Subscribe to the #Ayadn broadcast! https://app.net/c/2zqf'
|
324
|
-
```
|
325
|
-
|
326
|
-
- Write/paste a markdown link to embed the link:
|
327
|
-
|
328
|
-
```
|
329
|
-
ayadn write '[Subscribe](https://app.net/c/2zqf) to the #Ayadn broadcast!'
|
330
|
-
```
|
331
|
-
|
332
|
-
### Reset pagination data
|
333
|
-
|
334
|
-
If Ayadn shows you "No recent posts" but you still want to see the stream again, you have to reset the pagination data first.
|
335
|
-
|
336
|
-
```
|
337
|
-
ayadn reset
|
338
|
-
ayadn reset pagination unified
|
339
|
-
ayadn reset pagination mentions @ericd
|
340
|
-
ayadn reset pagination posts @ericd
|
341
|
-
(etc)
|
342
|
-
```
|
343
|
-
|
344
|
-
Without arguments: resets all your pagination data.
|
345
|
-
|
346
|
-
*Note: Ayadn doesn't use Stream Markers (stream syncing), and it's not a bug but a feature :p This is because Ayadn is meant as an independent tool that shouldn't interfere with other ADN clients.*
|
347
|
-
|
348
|
-
### Custom posts count
|
349
|
-
|
350
|
-
You can specify the number of posts retrieved with most streams:
|
351
|
-
|
352
|
-
```
|
353
|
-
ayadn unified 10
|
354
|
-
ayadn global 10
|
355
|
-
ayadn checkins 10
|
356
|
-
ayadn photos 10
|
357
|
-
ayadn trending 10
|
358
|
-
ayadn conversations 10
|
359
|
-
ayadn mentions @ericd 10
|
360
|
-
ayadn posts @ericd 10
|
361
|
-
ayadn starred @ericd 10
|
362
|
-
```
|
363
|
-
|
364
|
-
### Pinboard
|
365
|
-
|
366
|
-
Export a post link + text + tags to Pinboard:
|
367
|
-
|
368
|
-
`ayadn pin 15723266 tag1,tag2`
|
369
|
-
|
370
|
-
### "me"
|
371
|
-
|
372
|
-
With some features you can replace `@username` by `me` if you want to check yourself:
|
373
|
-
|
374
|
-
```
|
375
|
-
ayadn mentions me
|
376
|
-
ayadn scroll mentions me
|
377
|
-
ayadn posts me
|
378
|
-
ayadn starred me
|
379
|
-
ayadn infos me
|
380
|
-
ayadn list followings me
|
381
|
-
(etc)
|
382
|
-
```
|
383
|
-
|
384
|
-
### Shortcuts
|
385
|
-
|
386
|
-
Some commands have shortcuts:
|
387
|
-
|
388
|
-
- write: w
|
389
|
-
- reply: r
|
390
|
-
- quote: q
|
391
|
-
- mentions: m
|
392
|
-
- posts: p
|
393
|
-
- channels: ch
|
394
|
-
- messages: msg
|
395
|
-
- infos: i
|
396
|
-
- convo: c
|
397
|
-
- tag: t
|
398
|
-
- search: s
|
399
|
-
- nowplaying: np
|
400
|
-
- help: h
|
401
|
-
|
402
|
-
Examples:
|
403
|
-
|
404
|
-
```
|
405
|
-
ayadn w
|
406
|
-
ayadn r 12345678
|
407
|
-
ayadn m @ericd
|
408
|
-
ayadn t ruby
|
409
|
-
ayadn np
|
410
|
-
```
|
25
|
+
Install:
|
411
26
|
|
412
|
-
|
27
|
+
`gem install ayadn`
|
413
28
|
|
414
|
-
|
29
|
+
Update:
|
415
30
|
|
416
|
-
|
31
|
+
`gem update ayadn`
|
417
32
|
|
418
|
-
|
33
|
+
### OS X, LINUX, BSD
|
419
34
|
|
420
|
-
|
35
|
+
Please use something like RVM or RBENV to install Ruby if necessary.
|
421
36
|
|
422
|
-
|
37
|
+
You can also use the Ruby shipped with your system but you shouldn't, as it would require root privileges.
|
423
38
|
|
424
|
-
|
39
|
+
### WINDOWS
|
425
40
|
|
426
|
-
|
41
|
+
You have to run one more command:
|
427
42
|
|
428
|
-
|
43
|
+
`gem install win32console -v 1.3.2`
|
429
44
|
|
430
|
-
|
45
|
+
# DOCUMENTATION
|
431
46
|
|
432
|
-
|
47
|
+
Read the [manual](https://github.com/ericdke/na/blob/master/MANUAL.md).
|
433
48
|
|
434
|
-
|
49
|
+
# CONTACT
|
435
50
|
|
436
|
-
|
51
|
+
Author: [@ericd](http://app.net/ericd)
|
437
52
|
|
438
|
-
|
53
|
+
App account: [@ayadn](http://app.net/ayadn)
|
439
54
|
|
440
|
-
|
55
|
+
Website: [ayadn-app.net](http://ayadn-app.net)
|