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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1ac4ca5dcab8724e657f5dbcc336fabf6a91fdf
|
4
|
+
data.tar.gz: 6fd6a5129de0234ca67f8e99e66be05c9c5d093c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2badae07e439ce5c3b03b930f4b42e01dbc38a7371aabb6e375a096e6410bdd1aefbd4847f3d198bdff4fc78ca8336d063f2d64615a3cd6c827f03818cecdab
|
7
|
+
data.tar.gz: 8979d5fc1bdc384bd2405bb7d9ea2217ea9b106968c9a91cdf31d71ccb488f18e57593b8f0b5c4f29b052ba68f1c707d6918c80f64881570b3142280a8376e92
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Guardfile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard :rspec do
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
6
|
+
watch(%r{^lib/ayadn/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
|
7
|
+
watch('spec/spec_helper.rb') { "spec" }
|
8
|
+
watch('spec/helpers.rb')
|
9
|
+
watch('bin/ayadn')
|
10
|
+
|
11
|
+
# # Rails example
|
12
|
+
# watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
13
|
+
# watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
14
|
+
# watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
15
|
+
# watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
16
|
+
# watch('config/routes.rb') { "spec/routing" }
|
17
|
+
# watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
18
|
+
|
19
|
+
# # Capybara features specs
|
20
|
+
# watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
21
|
+
|
22
|
+
# # Turnip features and steps
|
23
|
+
# watch(%r{^spec/acceptance/(.+)\.feature$})
|
24
|
+
# watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
25
|
+
end
|
26
|
+
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2014 Eric Dejonckheere
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/MANUAL.md
ADDED
@@ -0,0 +1,946 @@
|
|
1
|
+
- [INSTALL](#install)
|
2
|
+
- [RUBY](#ruby)
|
3
|
+
- [AYADN](#ayadn)
|
4
|
+
- [OS X, LINUX, BSD](#os-x-linux-bsd)
|
5
|
+
- [WINDOWS](#windows)
|
6
|
+
- [FIRST STEPS](#first-steps)
|
7
|
+
- [AUTHORIZE](#authorize)
|
8
|
+
- [HELP](#help)
|
9
|
+
- [EXAMPLES](#examples)
|
10
|
+
- [ACCOUNTS](#accounts)
|
11
|
+
- [DATA](#data)
|
12
|
+
- [HOW-TO](#how-to)
|
13
|
+
- [STREAMS](#streams)
|
14
|
+
- [TIMELINE](#timeline)
|
15
|
+
- [AVAILABLE OPTIONS](#available-options)
|
16
|
+
- [SCROLL](#scroll)
|
17
|
+
- [COUNT](#count)
|
18
|
+
- [INDEX](#index)
|
19
|
+
- [NEW](#new)
|
20
|
+
- [RAW](#raw)
|
21
|
+
- [GLOBAL](#global)
|
22
|
+
- [CHECKINS](#checkins)
|
23
|
+
- [CONVERSATIONS](#conversations)
|
24
|
+
- [TRENDING](#trending)
|
25
|
+
- [MENTIONS](#mentions)
|
26
|
+
- [POSTS](#posts)
|
27
|
+
- [MESSAGES](#messages)
|
28
|
+
- [WHATSTARRED](#whatstarred)
|
29
|
+
- [CONVO](#convo)
|
30
|
+
- [HASHTAG](#hashtag)
|
31
|
+
- [SEARCH](#search)
|
32
|
+
- [RANDOM](#random)
|
33
|
+
- [USER INFO](#user-info)
|
34
|
+
- [POST INFO](#post-info)
|
35
|
+
- [POSTING](#posting)
|
36
|
+
- [POST](#post)
|
37
|
+
- [WRITE](#write)
|
38
|
+
- [AUTO POST](#auto-post)
|
39
|
+
- [REPLY](#reply)
|
40
|
+
- [PM (PRIVATE MESSAGE)](#pm-private-message)
|
41
|
+
- [SEND](#send)
|
42
|
+
- [ACTIONS](#actions)
|
43
|
+
- [DELETE](#delete)
|
44
|
+
- [REPOST](#repost)
|
45
|
+
- [UNREPOST](#unrepost)
|
46
|
+
- [STAR](#star)
|
47
|
+
- [UNSTAR](#unstar)
|
48
|
+
- [FOLLOW](#follow)
|
49
|
+
- [UNFOLLOW](#unfollow)
|
50
|
+
- [MUTE](#mute)
|
51
|
+
- [UNMUTE](#unmute)
|
52
|
+
- [BLOCK](#block)
|
53
|
+
- [UNBLOCK](#unblock)
|
54
|
+
- [DOWNLOAD](#download)
|
55
|
+
- [LISTS](#lists)
|
56
|
+
- [FOLLOWERS](#followers)
|
57
|
+
- [FOLLOWINGS](#followings)
|
58
|
+
- [CHANNELS](#channels)
|
59
|
+
- [INTERACTIONS](#interactions)
|
60
|
+
- [WHOREPOSTED](#whoreposted)
|
61
|
+
- [MUTED](#muted)
|
62
|
+
- [BLOCKED](#blocked)
|
63
|
+
- [SETTINGS](#settings)
|
64
|
+
- [FILES](#files)
|
65
|
+
- [TOOLS](#tools)
|
66
|
+
- [AUTHORIZE](#authorize-1)
|
67
|
+
- [SWITCH](#switch)
|
68
|
+
- [BLACKLIST](#blacklist)
|
69
|
+
- [ADD](#add)
|
70
|
+
- [REMOVE](#remove)
|
71
|
+
- [LIST](#list)
|
72
|
+
- [IMPORT](#import)
|
73
|
+
- [ALIAS](#alias)
|
74
|
+
- [CREATE](#create)
|
75
|
+
- [DELETE](#delete-1)
|
76
|
+
- [LIST](#list-1)
|
77
|
+
- [IMPORT](#import-1)
|
78
|
+
- [SET](#set)
|
79
|
+
- [EXTRAS](#extras)
|
80
|
+
- [PIN](#pin)
|
81
|
+
- [NOWPLAYING](#nowplaying)
|
82
|
+
|
83
|
+
# INSTALL
|
84
|
+
|
85
|
+
## RUBY
|
86
|
+
|
87
|
+
Ayadn is compatible with Ruby 1.9.3 but works better with Ruby 2.0 or newer.
|
88
|
+
|
89
|
+
## AYADN
|
90
|
+
|
91
|
+
Install:
|
92
|
+
|
93
|
+
`gem install ayadn`
|
94
|
+
|
95
|
+
Update:
|
96
|
+
|
97
|
+
`gem update ayadn`
|
98
|
+
|
99
|
+
### OS X, LINUX, BSD
|
100
|
+
|
101
|
+
Please use something like RVM or RBENV to install Ruby if necessary.
|
102
|
+
|
103
|
+
You can also use the Ruby shipped with your system but it's not ideal, as it will probably require root privileges or using the 'sudo' command.
|
104
|
+
|
105
|
+
### WINDOWS
|
106
|
+
|
107
|
+
You have to run one more command:
|
108
|
+
|
109
|
+
`gem install win32console -v 1.3.2`
|
110
|
+
|
111
|
+
# FIRST STEPS
|
112
|
+
|
113
|
+
## AUTHORIZE
|
114
|
+
|
115
|
+
You have to give Ayadn the authorization to use your App.net account.
|
116
|
+
|
117
|
+
Just run `ayadn authorize` or `ayadn -auth` to register a new user.
|
118
|
+
|
119
|
+
## HELP
|
120
|
+
|
121
|
+
`ayadn` shows a list of available commands.
|
122
|
+
|
123
|
+
`ayadn help COMMAND` shows the instructions and available [options](#available-options) for a specific command.
|
124
|
+
|
125
|
+
Examples:
|
126
|
+
|
127
|
+
`ayadn help post`
|
128
|
+
|
129
|
+
`ayadn help timeline`
|
130
|
+
|
131
|
+
## EXAMPLES
|
132
|
+
|
133
|
+
Just a few examples to give you a hint at the flexible syntax:
|
134
|
+
|
135
|
+
`ayadn timeline`
|
136
|
+
|
137
|
+
`ayadn -tl`
|
138
|
+
|
139
|
+
`ayadn checkins -c10 -i`
|
140
|
+
|
141
|
+
`ayadn global --scroll`
|
142
|
+
|
143
|
+
`ayadn -up @ericd`
|
144
|
+
|
145
|
+
`ayadn -P 'Hello guys!'`
|
146
|
+
|
147
|
+
`ayadn -R 23362460`
|
148
|
+
|
149
|
+
`ayadn convo 23362788`
|
150
|
+
|
151
|
+
`ayadn search movies hollywood`
|
152
|
+
|
153
|
+
`ayadn follow @ericd`
|
154
|
+
|
155
|
+
## ACCOUNTS
|
156
|
+
|
157
|
+
Ayadn supports multiple accounts.
|
158
|
+
|
159
|
+
Register a new user with `ayadn -auth` at any moment.
|
160
|
+
|
161
|
+
You can then switch between accounts:
|
162
|
+
|
163
|
+
`ayadn switch @ericd` or `ayadn -@ ericd`
|
164
|
+
|
165
|
+
## DATA
|
166
|
+
|
167
|
+
All Ayadn files and folders are created in your 'home' folder.
|
168
|
+
|
169
|
+
On Mac OS X, it looks like this:
|
170
|
+
|
171
|
+
/Users/ericdke/ayadn/ericd
|
172
|
+
├── auth
|
173
|
+
│ └── token
|
174
|
+
├── backup
|
175
|
+
├── config
|
176
|
+
│ ├── api.json
|
177
|
+
│ ├── config.yml
|
178
|
+
│ └── version.yml
|
179
|
+
├── db
|
180
|
+
│ ├── aliases.db
|
181
|
+
│ ├── blacklist.db
|
182
|
+
│ └── users.db
|
183
|
+
├── downloads
|
184
|
+
├── lists
|
185
|
+
├── log
|
186
|
+
│ └── ayadn.log
|
187
|
+
├── messages
|
188
|
+
├── pagination
|
189
|
+
│ ├── index.db
|
190
|
+
│ └── pagination.db
|
191
|
+
└── posts
|
192
|
+
|
193
|
+
Each authorized account has its set of folders and databases.
|
194
|
+
|
195
|
+
This is also the repository of the configuration file, `config.yml`.
|
196
|
+
|
197
|
+
Although there's the `set` command in Ayadn to configure most parameters, you can also edit the file manually. If anything goes wrong, simply delete `config.yml` and Ayadn will re-create one with default values.
|
198
|
+
|
199
|
+
|
200
|
+
# HOW-TO
|
201
|
+
|
202
|
+
Note: options are only described once in this manual (in the first example, for 'timeline').
|
203
|
+
|
204
|
+
However, options are available for mosts of streams! They're described only once for readability purposes.
|
205
|
+
|
206
|
+
**You can check if a command has specific options with `ayadn help COMMAND`.**
|
207
|
+
Most examples will include the 'complete' command followed by the 'shortcut' command. Of course, using Ayadn is way faster with the shortcut commands.
|
208
|
+
|
209
|
+
If you're like me, you'll even want to create aliases in bash/zsh or TextExpander snippets for the combinations of Ayadn commands and options you use the most...
|
210
|
+
|
211
|
+
|
212
|
+
# STREAMS
|
213
|
+
|
214
|
+
This section is about the App.net streams.
|
215
|
+
|
216
|
+
## TIMELINE
|
217
|
+
|
218
|
+
Display your main timeline.
|
219
|
+
|
220
|
+
This is also called the 'Unified stream': it regroups the posts of people you follow and the posts mentioning you.
|
221
|
+
|
222
|
+
`ayadn timeline`
|
223
|
+
|
224
|
+
`ayadn -tl`
|
225
|
+
|
226
|
+
|
227
|
+
### AVAILABLE OPTIONS
|
228
|
+
|
229
|
+
#### SCROLL
|
230
|
+
|
231
|
+
Scroll your timeline with:
|
232
|
+
|
233
|
+
`ayadn timeline --scroll`
|
234
|
+
|
235
|
+
`ayadn -tl -s`
|
236
|
+
|
237
|
+
Note: Ayadn pulls the stream every 3 seconds by default.
|
238
|
+
|
239
|
+
It means you can launch up to 3 scroll streams at a time _per account_.
|
240
|
+
|
241
|
+
You can bring that value down to 1 second if you're using only _one_ scroll stream per account at a time, 2 seconds if you're using _two_ scroll streams, and so on and so forth.
|
242
|
+
|
243
|
+
If Ayadn ends up making too many requests to ADN, it will display an alert message with instructions then stop running.
|
244
|
+
|
245
|
+
So if you plan on launching many Ayadn scrolling instances at once, you should [set](#set) the timer parameter accordingly (App.net accepts 5000 requests per hour per account maximum).
|
246
|
+
|
247
|
+
#### COUNT
|
248
|
+
|
249
|
+
Ayadn displays a certain number of posts by default when you request a stream.
|
250
|
+
|
251
|
+
With the *count* option, you can set a specific value for each request:
|
252
|
+
|
253
|
+
`ayadn --count=10 timeline`
|
254
|
+
|
255
|
+
`ayadn -c10 -tl`
|
256
|
+
|
257
|
+
The maximum value is 200 for any stream.
|
258
|
+
|
259
|
+
#### INDEX
|
260
|
+
|
261
|
+
Shows an index instead of the posts ids.
|
262
|
+
|
263
|
+
`ayadn --index timeline`
|
264
|
+
|
265
|
+
`ayadn -tl -i`
|
266
|
+
|
267
|
+
This is particularly useful if you're using Ayadn to [reply](#reply) to conversations.
|
268
|
+
|
269
|
+
Copy/pasting the post id can be tedious at times, and anyway it's faster to glance at a short number and use it immediately.
|
270
|
+
|
271
|
+
Example:
|
272
|
+
|
273
|
+
ayadn -tl -i
|
274
|
+
ayadn -R 33
|
275
|
+
|
276
|
+
if 33 is the number of the indexed post you want to reply to.
|
277
|
+
|
278
|
+
#### NEW
|
279
|
+
|
280
|
+
Displays only the new posts in the stream since your last visit.
|
281
|
+
|
282
|
+
`ayadn --new timeline`
|
283
|
+
|
284
|
+
`ayadn -n -tl`
|
285
|
+
|
286
|
+
#### RAW
|
287
|
+
|
288
|
+
Displays the raw response from the App.net API instead of the formatted Ayadn output. For debugging and learning purposes.
|
289
|
+
|
290
|
+
`ayadn -x -tl`
|
291
|
+
|
292
|
+
## GLOBAL
|
293
|
+
|
294
|
+
Display the 'Global stream'.
|
295
|
+
|
296
|
+
`ayadn global`
|
297
|
+
|
298
|
+
`ayadn -gl`
|
299
|
+
|
300
|
+
Although the 'Global stream' is nowadays infested with spammers, it remains a fantastic source to find new people to interact with.
|
301
|
+
|
302
|
+
Ayadn helps you in that task with the [blacklist](#blacklist) command, which allows you to mute posters _per client name_, obliterating suddenly most of the bots and feeds.
|
303
|
+
|
304
|
+
You may also want to read the Conversations stream, which contains only posts leading to conversation threads.
|
305
|
+
|
306
|
+
## CHECKINS
|
307
|
+
|
308
|
+
Display the 'Checkins stream'.
|
309
|
+
|
310
|
+
Ayadn will show any available geolocation data for these posts.
|
311
|
+
|
312
|
+
`ayadn checkins`
|
313
|
+
|
314
|
+
`ayadn -ck`
|
315
|
+
|
316
|
+
## CONVERSATIONS
|
317
|
+
|
318
|
+
Display the 'Conversations stream'.
|
319
|
+
|
320
|
+
This is a stream of posts that lead to [conversations](#convo) with real people.
|
321
|
+
|
322
|
+
`ayadn conversations`
|
323
|
+
|
324
|
+
`ayadn -cq`
|
325
|
+
|
326
|
+
## TRENDING
|
327
|
+
|
328
|
+
Display the 'Trending stream'.
|
329
|
+
|
330
|
+
This is a stream of trending posts.
|
331
|
+
|
332
|
+
`ayadn trending`
|
333
|
+
|
334
|
+
`ayadn -tr`
|
335
|
+
|
336
|
+
## MENTIONS
|
337
|
+
|
338
|
+
Display posts containing a mention of @username.
|
339
|
+
|
340
|
+
`ayadn mentions @ericd`
|
341
|
+
|
342
|
+
`ayadn -m @ericd`
|
343
|
+
|
344
|
+
You can get your own mentions stream by using *me* instead of *@username*:
|
345
|
+
|
346
|
+
`ayadn -m me`
|
347
|
+
|
348
|
+
Don't forget that like most streams, Mentions is [scrollable](#scroll): very convenient to know at a glance if we got something new from our friends!
|
349
|
+
|
350
|
+
## POSTS
|
351
|
+
|
352
|
+
Show the posts of a specific user.
|
353
|
+
|
354
|
+
`ayadn userposts @ericd`
|
355
|
+
|
356
|
+
`ayadn -up @ericd`
|
357
|
+
|
358
|
+
You can get your own posts by using *me* instead of *@username*:
|
359
|
+
|
360
|
+
`ayadn -up me`
|
361
|
+
|
362
|
+
## MESSAGES
|
363
|
+
|
364
|
+
Show messages in a [channel](#channels).
|
365
|
+
|
366
|
+
`ayadn messages 46217`
|
367
|
+
|
368
|
+
`ayadn -ms 46217`
|
369
|
+
|
370
|
+
You can replace the channel id with its alias if you previously [defined](#alias) one:
|
371
|
+
|
372
|
+
`ayadn -ms mychannelalias`
|
373
|
+
|
374
|
+
## WHATSTARRED
|
375
|
+
|
376
|
+
Show posts starred by a specific user.
|
377
|
+
|
378
|
+
`ayadn whatstarred @ericd`
|
379
|
+
|
380
|
+
`ayadn -was @ericd`
|
381
|
+
|
382
|
+
You can get your own stars by using *me* instead of *@username*:
|
383
|
+
|
384
|
+
`ayadn -was me`
|
385
|
+
|
386
|
+
## CONVO
|
387
|
+
|
388
|
+
Show the conversation thread around a specific post.
|
389
|
+
|
390
|
+
`ayadn convo 23362788`
|
391
|
+
|
392
|
+
`ayadn -co 23362788`
|
393
|
+
|
394
|
+
## HASHTAG
|
395
|
+
|
396
|
+
Show recent posts containing #HASHTAG(s).
|
397
|
+
|
398
|
+
`ayadn hashtag nowplaying`
|
399
|
+
|
400
|
+
`ayadn -t nowplaying`
|
401
|
+
|
402
|
+
`ayadn -t nowplaying rock`
|
403
|
+
|
404
|
+
## SEARCH
|
405
|
+
|
406
|
+
Show recents posts containing WORD(s).
|
407
|
+
|
408
|
+
`ayadn search ruby`
|
409
|
+
|
410
|
+
`ayadn -s ruby`
|
411
|
+
|
412
|
+
`ayadn -s ruby json api`
|
413
|
+
|
414
|
+
## RANDOM
|
415
|
+
|
416
|
+
Show series of random posts from App.net. Just for fun :)
|
417
|
+
|
418
|
+
`ayadn random`
|
419
|
+
|
420
|
+
`ayadn -rnd`
|
421
|
+
|
422
|
+
## USER INFO
|
423
|
+
|
424
|
+
Show informations about a user.
|
425
|
+
|
426
|
+
`ayadn userinfo @ericd`
|
427
|
+
|
428
|
+
`ayadn -ui @ericd`
|
429
|
+
|
430
|
+
You can see your own info by using *me* instead of *@username*:
|
431
|
+
|
432
|
+
`ayadn -ui me`
|
433
|
+
|
434
|
+
## POST INFO
|
435
|
+
|
436
|
+
Show informations about a post.
|
437
|
+
|
438
|
+
`ayadn postinfo 23362788`
|
439
|
+
|
440
|
+
`ayadn -pi 23362788`
|
441
|
+
|
442
|
+
# POSTING
|
443
|
+
|
444
|
+
This section is about posting to App.net.
|
445
|
+
|
446
|
+
## POST
|
447
|
+
|
448
|
+
Simple and fast way to post a short sentence/word to App.net.
|
449
|
+
|
450
|
+
`ayadn post Hello from Ayadn`
|
451
|
+
|
452
|
+
`ayadn -P Hello from Ayadn`
|
453
|
+
|
454
|
+
`ayadn -P @ericd hello Eric`
|
455
|
+
|
456
|
+
You have to put your text between single quotes if you're using punctuation:
|
457
|
+
|
458
|
+
`ayadn -P 'Hello from Ayadn, guys!'`
|
459
|
+
|
460
|
+
But remember you can't then use any `'` character!
|
461
|
+
|
462
|
+
**So you should rather use either the [write](#write) or the [auto](#auto-post) method for posting.**
|
463
|
+
|
464
|
+
## WRITE
|
465
|
+
|
466
|
+
Multi-line post to App.net.
|
467
|
+
|
468
|
+
This is the recommended way to post elaborate text to ADN:
|
469
|
+
|
470
|
+
`ayadn write`
|
471
|
+
|
472
|
+
`ayadn -W`
|
473
|
+
|
474
|
+
It will show you a prompt where you can type anything, including special characters and Markdown links.
|
475
|
+
|
476
|
+
Hit ENTER to create line breaks and paragraphs.
|
477
|
+
|
478
|
+
Cancel your post with CTRC-C or send it with CTRL-D.
|
479
|
+
|
480
|
+
Just type a @username at the beginning of your post if you want to mention a specific user, as you would in any other App.net client.
|
481
|
+
|
482
|
+
## AUTO POST
|
483
|
+
|
484
|
+
Auto post every line of input.
|
485
|
+
|
486
|
+
The is the funniest way to post to ADN! :)
|
487
|
+
|
488
|
+
`ayadn auto`
|
489
|
+
|
490
|
+
In this mode, each line you type (each time you hit ENTER!) is automatically posted to ADN.
|
491
|
+
|
492
|
+
You can type anything, including special characters and Markdown links, and of course mention anyone: the only thing you can't do from this mode is _replying_ to a post in a thread.
|
493
|
+
|
494
|
+
Hit CTRL+C to exit this mode at any moment.
|
495
|
+
|
496
|
+
## REPLY
|
497
|
+
|
498
|
+
Reply to a specific post.
|
499
|
+
|
500
|
+
- You can reply by specifying the post id:
|
501
|
+
|
502
|
+
`ayadn reply 23362460`
|
503
|
+
|
504
|
+
`ayadn -R 23362460`
|
505
|
+
|
506
|
+
Ayadn will then show you the [write](#write) prompt.
|
507
|
+
|
508
|
+
If you reply to a post containing multiple mentions, your text will be inserted between the leading mention and the other ones.
|
509
|
+
|
510
|
+
- You can also reply to the *index* of the post instead of its *id* _if you used the '--index' or '-i' option_ when previously viewing a stream:
|
511
|
+
|
512
|
+
`ayadn -R 3`
|
513
|
+
|
514
|
+
## PM (PRIVATE MESSAGE)
|
515
|
+
|
516
|
+
Send a private message to a specific user.
|
517
|
+
|
518
|
+
`ayadn pm @ericd`
|
519
|
+
|
520
|
+
Ayadn will then show you the [write](#write) prompt.
|
521
|
+
|
522
|
+
## SEND
|
523
|
+
|
524
|
+
Send a message to an App.net CHANNEL.
|
525
|
+
|
526
|
+
`ayadn send 46217`
|
527
|
+
|
528
|
+
`ayadn -C 46217`
|
529
|
+
|
530
|
+
Ayadn will then show you the [write](#write) prompt.
|
531
|
+
|
532
|
+
If you've already created an [alias](#alias) for the channel, you can post to it with:
|
533
|
+
|
534
|
+
`ayadn send mychannelalias`
|
535
|
+
|
536
|
+
`ayadn -C mychannelalias`
|
537
|
+
|
538
|
+
# ACTIONS
|
539
|
+
|
540
|
+
This section is about available actions like follow, repost, etc.
|
541
|
+
|
542
|
+
## DELETE
|
543
|
+
|
544
|
+
Delete a post.
|
545
|
+
|
546
|
+
`ayadn delete 23365251`
|
547
|
+
|
548
|
+
`ayadn -D 23365251`
|
549
|
+
|
550
|
+
## REPOST
|
551
|
+
|
552
|
+
Repost a post.
|
553
|
+
|
554
|
+
`ayadn repost 23365251`
|
555
|
+
|
556
|
+
`ayadn -O 23365251`
|
557
|
+
|
558
|
+
## UNREPOST
|
559
|
+
|
560
|
+
Unrepost a post.
|
561
|
+
|
562
|
+
`ayadn unrepost 23365251`
|
563
|
+
|
564
|
+
`ayadn -UR 23365251`
|
565
|
+
|
566
|
+
## STAR
|
567
|
+
|
568
|
+
Star a post.
|
569
|
+
|
570
|
+
`ayadn star 23365251`
|
571
|
+
|
572
|
+
`ayadn -ST 23365251`
|
573
|
+
|
574
|
+
## UNSTAR
|
575
|
+
|
576
|
+
Unstar a post.
|
577
|
+
|
578
|
+
`ayadn unstar 23365251`
|
579
|
+
|
580
|
+
`ayadn -US 23365251`
|
581
|
+
|
582
|
+
## FOLLOW
|
583
|
+
|
584
|
+
Follow a user.
|
585
|
+
|
586
|
+
`ayadn follow @ericd`
|
587
|
+
|
588
|
+
`ayadn -FO @ericd`
|
589
|
+
|
590
|
+
## UNFOLLOW
|
591
|
+
|
592
|
+
Unfollow a user.
|
593
|
+
|
594
|
+
`ayadn unfollow @ericd`
|
595
|
+
|
596
|
+
`ayadn -UF @ericd`
|
597
|
+
|
598
|
+
## MUTE
|
599
|
+
|
600
|
+
Mute a user.
|
601
|
+
|
602
|
+
`ayadn mute @spammer`
|
603
|
+
|
604
|
+
`ayadn -MU @spammer`
|
605
|
+
|
606
|
+
## UNMUTE
|
607
|
+
|
608
|
+
Unmute a user.
|
609
|
+
|
610
|
+
`ayadn unmute @spammer`
|
611
|
+
|
612
|
+
`ayadn -UM @spammer`
|
613
|
+
|
614
|
+
## BLOCK
|
615
|
+
|
616
|
+
Block a user (same as [mute](#mute) but also prevents the blocked user to [follow](#follow) you).
|
617
|
+
|
618
|
+
`ayadn block @spammer`
|
619
|
+
|
620
|
+
`ayadn -BL @spammer`
|
621
|
+
|
622
|
+
## UNBLOCK
|
623
|
+
|
624
|
+
Unblock a user.
|
625
|
+
|
626
|
+
`ayadn unblock @spammer`
|
627
|
+
|
628
|
+
`ayadn -UB @spammer`
|
629
|
+
|
630
|
+
## DOWNLOAD
|
631
|
+
|
632
|
+
Download a file from your App.net storage (any file posted with other ADN clients).
|
633
|
+
|
634
|
+
`ayadn download 23344556`
|
635
|
+
|
636
|
+
`ayadn -df 23344556`
|
637
|
+
|
638
|
+
# LISTS
|
639
|
+
|
640
|
+
This section is about getting lists from App.net.
|
641
|
+
|
642
|
+
## FOLLOWERS
|
643
|
+
|
644
|
+
List followers of a user.
|
645
|
+
|
646
|
+
`ayadn followers @ericd`
|
647
|
+
|
648
|
+
`ayadn -fwr @ericd`
|
649
|
+
|
650
|
+
You can see your own list by using *me* instead of *@username*:
|
651
|
+
|
652
|
+
`ayadn -fwr me`
|
653
|
+
|
654
|
+
## FOLLOWINGS
|
655
|
+
|
656
|
+
List the users a user is following.
|
657
|
+
|
658
|
+
`ayadn followings @ericd`
|
659
|
+
|
660
|
+
`ayadn -fwg @ericd`
|
661
|
+
|
662
|
+
You can see your own list by using *me* instead of *@username*:
|
663
|
+
|
664
|
+
`ayadn -fwg me`
|
665
|
+
|
666
|
+
## CHANNELS
|
667
|
+
|
668
|
+
List your active App.net channels.
|
669
|
+
|
670
|
+
`ayadn channels`
|
671
|
+
|
672
|
+
`ayadn -ch`
|
673
|
+
|
674
|
+
## INTERACTIONS
|
675
|
+
|
676
|
+
Shows a short reminder of your recent App.net activity.
|
677
|
+
|
678
|
+
`ayadn interactions`
|
679
|
+
|
680
|
+
`ayadn -int`
|
681
|
+
|
682
|
+
## WHOREPOSTED
|
683
|
+
|
684
|
+
List users who reposted a post.
|
685
|
+
|
686
|
+
`ayadn whoreposted 22790201`
|
687
|
+
|
688
|
+
`ayadn -wor 22790201`
|
689
|
+
|
690
|
+
## MUTED
|
691
|
+
|
692
|
+
List the users you muted.
|
693
|
+
|
694
|
+
`ayadn muted`
|
695
|
+
|
696
|
+
`ayadn -mtd`
|
697
|
+
|
698
|
+
## BLOCKED
|
699
|
+
|
700
|
+
List the users you blocked.
|
701
|
+
|
702
|
+
`ayadn blocked`
|
703
|
+
|
704
|
+
`ayadn -bkd`
|
705
|
+
|
706
|
+
## SETTINGS
|
707
|
+
|
708
|
+
List current Ayadn settings.
|
709
|
+
|
710
|
+
`ayadn settings`
|
711
|
+
|
712
|
+
`ayadn -sg`
|
713
|
+
|
714
|
+
## FILES
|
715
|
+
|
716
|
+
List the files in your App.net storage.
|
717
|
+
|
718
|
+
`ayadn files`
|
719
|
+
|
720
|
+
`ayadn -fl`
|
721
|
+
|
722
|
+
List them all:
|
723
|
+
|
724
|
+
`ayadn files -a`
|
725
|
+
|
726
|
+
`ayadn -fl -a`
|
727
|
+
|
728
|
+
# TOOLS
|
729
|
+
|
730
|
+
This section is about specific Ayadn tools.
|
731
|
+
|
732
|
+
## AUTHORIZE
|
733
|
+
|
734
|
+
Authorize Ayadn for a specific user account.
|
735
|
+
|
736
|
+
`ayadn authorize`
|
737
|
+
|
738
|
+
`ayadn -auth`
|
739
|
+
|
740
|
+
Ayadn will give you a link leading to the official App.net registration page.
|
741
|
+
|
742
|
+
After your successful login, you will be redirected to the Ayadn authorization page.
|
743
|
+
|
744
|
+
Copy the code (token) you will find there and paste it into Ayadn: a new user will be created and automatically logged in.
|
745
|
+
|
746
|
+
## SWITCH
|
747
|
+
|
748
|
+
Switch between your authorized accounts.
|
749
|
+
|
750
|
+
`ayadn switch @ericd`
|
751
|
+
|
752
|
+
`ayadn switch @otheraccount`
|
753
|
+
|
754
|
+
Alternative syntax:
|
755
|
+
|
756
|
+
`ayadn -@ ericd`
|
757
|
+
|
758
|
+
`ayadn -@ otheraccount`
|
759
|
+
|
760
|
+
List your authorized accounts:
|
761
|
+
|
762
|
+
`ayadn switch -l`
|
763
|
+
|
764
|
+
`ayadn -@ -l`
|
765
|
+
|
766
|
+
## BLACKLIST
|
767
|
+
|
768
|
+
The blacklist is a list of users, clients and hashtags that you don't want to ever be displayed.
|
769
|
+
|
770
|
+
Available subcommands: add, remove, import, list.
|
771
|
+
|
772
|
+
This is different from the 'mute a user' feature of the App.net API: blacklist works locally and is specific to each account.
|
773
|
+
|
774
|
+
Blacklist a client (example: IFTTT) and posts that are posted with this client won't appear in the streams.
|
775
|
+
|
776
|
+
This is a way of creating "bot-free" streams: the more bots you add to this list, the more humans you see.
|
777
|
+
|
778
|
+
Blacklist a hashtag and you will free yourself from this annoying trend you can't stand.
|
779
|
+
|
780
|
+
Blacklist a user and you won't even see posts by other users mentioning the user you blacklisted!
|
781
|
+
|
782
|
+
Oh, and you can import blacklist databases from other accounts, too.
|
783
|
+
|
784
|
+
### ADD
|
785
|
+
|
786
|
+
Adds an item to your blacklist.
|
787
|
+
|
788
|
+
Available items: client, hashtag, mention.
|
789
|
+
|
790
|
+
`ayadn blacklist add mention @shmuck`
|
791
|
+
|
792
|
+
Add a mention:
|
793
|
+
|
794
|
+
`ayadn -K add mention @shmuck`
|
795
|
+
|
796
|
+
Add a client:
|
797
|
+
|
798
|
+
`ayadn -K add client IFTTT`
|
799
|
+
|
800
|
+
Add a hashtag:
|
801
|
+
|
802
|
+
`ayadn -K add hashtag twitter`
|
803
|
+
|
804
|
+
### REMOVE
|
805
|
+
|
806
|
+
Removes an item from your blacklist.
|
807
|
+
|
808
|
+
Available items: client, hashtag, mention.
|
809
|
+
|
810
|
+
`ayadn blacklist remove mention @shmuck`
|
811
|
+
|
812
|
+
Remove a mention:
|
813
|
+
|
814
|
+
`ayadn -K remove mention @shmuck`
|
815
|
+
|
816
|
+
Remove a client:
|
817
|
+
|
818
|
+
`ayadn -K remove client IFTTT`
|
819
|
+
|
820
|
+
Remove a hashtag:
|
821
|
+
|
822
|
+
`ayadn -K remove hashtag twitter`
|
823
|
+
|
824
|
+
### LIST
|
825
|
+
|
826
|
+
List all items in your blacklist.
|
827
|
+
|
828
|
+
`ayadn blacklist list`
|
829
|
+
|
830
|
+
`ayadn -K list`
|
831
|
+
|
832
|
+
### IMPORT
|
833
|
+
|
834
|
+
Import a blacklist database in the current account.
|
835
|
+
|
836
|
+
`ayadn blacklist import '/Users/blah/backups/blacklist.db'`
|
837
|
+
|
838
|
+
`ayadn -K import '/Users/blah/backups/blacklist.db'`
|
839
|
+
|
840
|
+
## ALIAS
|
841
|
+
|
842
|
+
Aliases are names you give to channels for an easier access.
|
843
|
+
|
844
|
+
Available subcommands: create, delete, list, import.
|
845
|
+
|
846
|
+
Example: you're a [Paste-App](http://paste-app.net/) user and your personal Paste-App channel is 46216.
|
847
|
+
|
848
|
+
Instead of getting this channel's messages with `ayadn -ms 46216` you can create an alias:
|
849
|
+
|
850
|
+
`ayadn alias create 46216 pasteapp`
|
851
|
+
|
852
|
+
or
|
853
|
+
|
854
|
+
`ayadn -A create 46216 pasteapp`
|
855
|
+
|
856
|
+
Then you can access this channel with `ayadn -ms pasteapp`, as words are easier to remember than numbers.
|
857
|
+
|
858
|
+
### CREATE
|
859
|
+
|
860
|
+
Create an alias for a channel.
|
861
|
+
|
862
|
+
`ayadn alias create 46216 pasteapp`
|
863
|
+
|
864
|
+
`ayadn -A create 46216 pasteapp`
|
865
|
+
|
866
|
+
### DELETE
|
867
|
+
|
868
|
+
Delete a channel alias.
|
869
|
+
|
870
|
+
`ayadn alias delete pasteapp`
|
871
|
+
|
872
|
+
`ayadn -A delete pasteapp`
|
873
|
+
|
874
|
+
### LIST
|
875
|
+
|
876
|
+
List all your channel aliases.
|
877
|
+
|
878
|
+
`ayadn alias list`
|
879
|
+
|
880
|
+
`ayadn -A list`
|
881
|
+
|
882
|
+
### IMPORT
|
883
|
+
|
884
|
+
Import a previously backed-up list of aliases.
|
885
|
+
|
886
|
+
`ayadn alias import '/Users/blah/backups/aliases.db'`
|
887
|
+
|
888
|
+
`ayadn -A import '/Users/blah/backups/aliases.db'`
|
889
|
+
|
890
|
+
## SET
|
891
|
+
|
892
|
+
The 'set' commands allows you to configure some Ayadn parameters.
|
893
|
+
|
894
|
+
`ayadn set color mentions blue`
|
895
|
+
|
896
|
+
You can get a list of configurable parameters with `ayadn -sg`.
|
897
|
+
|
898
|
+
Examples:
|
899
|
+
|
900
|
+
`ayadn set color username green`
|
901
|
+
|
902
|
+
`ayadn set color mentions yellow`
|
903
|
+
|
904
|
+
`ayadn set counts default 30`
|
905
|
+
|
906
|
+
`ayadn set counts search 100`
|
907
|
+
|
908
|
+
`ayadn set timeline directed false`
|
909
|
+
|
910
|
+
`ayadn set show_real_name false`
|
911
|
+
|
912
|
+
`ayadn set show_date false`
|
913
|
+
|
914
|
+
`ayadn set backup auto_save_sent_posts true`
|
915
|
+
|
916
|
+
`ayadn set scroll timer 1.5`
|
917
|
+
|
918
|
+
To reset the configuration to default values:
|
919
|
+
|
920
|
+
`ayadn set defaults`
|
921
|
+
|
922
|
+
|
923
|
+
# EXTRAS
|
924
|
+
|
925
|
+
This section is about specific Ayadn extras.
|
926
|
+
|
927
|
+
## PIN
|
928
|
+
|
929
|
+
Export a post's link and text, with tags, to your Pinboard account.
|
930
|
+
|
931
|
+
`ayadn pin 22790201 Ayadn gem update`
|
932
|
+
|
933
|
+
`ayadn pin 26874913 duel swords france`
|
934
|
+
|
935
|
+
## NOWPLAYING
|
936
|
+
|
937
|
+
Post what you're listening to!
|
938
|
+
|
939
|
+
Only works on Mac OS X with iTunes.
|
940
|
+
|
941
|
+
`ayadn nowplaying`
|
942
|
+
|
943
|
+
`ayadn -np`
|
944
|
+
|
945
|
+
Ayadn will grab information from iTunes, format it, insert the *#nowplaying* hashtag then ask for your confirmation before posting it.
|
946
|
+
|