ayadn 1.4.6 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8d24e69e9bb60c49085dbb5a2301b2da8b9789f7
4
- data.tar.gz: 39c9219947d43fdb3bf16bf4643fa8a8141a456c
3
+ metadata.gz: 6f4900ba881aee8b2b3ce277facfb6e86f7972b7
4
+ data.tar.gz: 4a52cad511fce5df653f55b54f4684d9e85071d8
5
5
  SHA512:
6
- metadata.gz: bc082c53a74daff0a800cfb9fcd2f663730e9f35b7e96bd3fe80a35a4353914060cdcd1e3e7f965608942c9e0ba2f5eddbf9852295eeede5ff46bc9f4cbb9e37
7
- data.tar.gz: 3a7fa5aa5494de09e95aa43b67c0fd9a5ee720285095fed3be53533111905bf195edf1ea0e9638c46951694a5125d941f37dc4c908c31ca54c7265ac5a993a8e
6
+ metadata.gz: 782007aa8e67ef39f173ac53ddd3d65c5ab2b3bca03b5b7dc9978da8a3ced9fa09f1865ae4bd20a15e0c553379a58c91cb3fc79dd1abb9bc24af4eb7bea3e795
7
+ data.tar.gz: 397da912926f39f5ebfeb238ee2e3b920eabf8706b0bb86353a88e3c3dd15e6173d073654a2943fd5ca63b3036111e7b42417cf4323dfa19be9e9b43e6554350
data/.gitignore CHANGED
@@ -8,7 +8,6 @@ Gemfile.lock
8
8
  InstalledFiles
9
9
  _yardoc
10
10
  coverage
11
- doc/
12
11
  lib/bundler/man
13
12
  pkg
14
13
  rdoc
data/CHANGELOG.md CHANGED
@@ -1,4 +1,17 @@
1
- # 1.4.6 - 'Filepaths'
1
+ # 1.5.0 - 'Nozomi'
2
+
3
+ - In 'convo', both the post id you've requested and the post it replies to are marked with arrows
4
+ - Same feature in the view after a reply
5
+ - Follow/unfollow/etc several users at a time
6
+ - Much faster users lists generation (followers, muted, etc)
7
+ - Users lists include number of posts/day
8
+ - User info (-ui) includes number of posts/day
9
+ - Added NowPlaying annotations
10
+ - Documentation is included in the repo
11
+ - Skipped objects are logged if debug is enabled
12
+ - Force delete obsolete config keys / force create mandatory ones (less checks in the code, more stability)
13
+
14
+ # 1.4.6 - 'Roman'
2
15
 
3
16
  - Temporary fix for filepaths instability when uploading pictures
4
17
 
data/README.md CHANGED
@@ -7,19 +7,40 @@ AYADN
7
7
 
8
8
  [App.net](http://app.net) command-line client.
9
9
 
10
- The purpose of Ayadn is to give you access to all the features of App.net from the console.
11
-
12
- View or scroll all streams in your Terminal, 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.
13
-
14
- This CLI has more than 50 features awaiting for your Geekiness to command them.
15
-
16
- Ayadn is configurable: colors, timelines, durations, aliases, etc.
17
-
18
- You can also specify many options, like show the raw JSON instead of the formatted response, show only a number of most recents posts, show only new posts, etc.
19
-
20
- There's also two exclusive antispam and filtering features: a blacklist, and Jason Irwin's NiceRank.
21
-
22
- Last but not least: Ayadn supports multiple ADN accounts! Authorize as many accounts as you wish and simply switch between them with a keystroke.
10
+ The purpose of Ayadn is to let you use all the features of App.net from the console without any headaches... and then more: power, freedom and fun!
11
+
12
+ - view/scroll all streams
13
+ - view/scroll conversations
14
+ - reply to users
15
+ - write fast single-line or complex multi-line posts
16
+ - embed pictures in posts
17
+ - view/scroll the Global stream with spammers filtered out
18
+ - view/scroll posts from specific users or posts mentioning a user
19
+ - follow/unfollow users, star/repost/mute/block/unstar/etc
20
+ - create/manage silent bookmarks for conversations
21
+ - get information about users and their followers/followings
22
+ - search for words, hashtags, post annotations, channels, etc
23
+ - extract links from conversations, streams, posts, etc
24
+ - list and download your files
25
+ - view (and write to) all your channels including Broadcasts, Patter, Ohai, etc
26
+ - #nowplaying from iTunes or Last.fm, with album art and store link
27
+ - view/send private messages
28
+ - view geolocation data in streams
29
+ - create/manage silent black lists of users, mentions or hashtags
30
+ - create/manage aliases for easier use of channels ids
31
+ - export links and text from a post to Pinboard
32
+ - option to export almost any stream or object in JSON
33
+ - options: set the number of posts by request, show only new posts, etc
34
+ - (see the docs for all the features)
35
+
36
+
37
+ Ayadn is configurable: colors, stream content, durations, aliases, etc.
38
+
39
+ There's also two exclusive antispam and filtering features: a blacklist of users/mentions/hashtags, and Jason Irwin's NiceRank to kick out spammers and bots from Global, with a customisable threshold.
40
+
41
+ Last but not least: Ayadn supports multiple ADN accounts!
42
+
43
+ Authorize as many accounts as you wish, and simply switch between them in a second.
23
44
 
24
45
 
25
46
  ## INSTALL
@@ -49,3 +70,7 @@ App account: [@ayadn](http://app.net/ayadn)
49
70
  Website: [ayadn-app.net](http://ayadn-app.net)
50
71
 
51
72
  ADN Directory: [Ayadn](https://directory.app.net/app/345/ayadn/)
73
+
74
+ # FEEDBACK
75
+
76
+ Feedback and/or contributions are very welcomed!
data/ayadn.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Ayadn::VERSION
9
9
  spec.author = "Eric Dejonckheere"
10
10
  spec.email = "eric@aya.io"
11
- spec.summary = %q{App.net command-line client. See http://ayadn-app.net/doc/}
12
- spec.description = %q{App.net command-line client: toolbox to access and manage your ADN data, show your streams, post, manage conversations, star/follow/repost... and many, many more. http://ayadn-app.net/doc/}
11
+ spec.summary = %q{App.net command-line client.}
12
+ spec.description = %q{App.net command-line client: toolbox to access and manage your ADN data, show your streams, post, manage conversations, star/follow/repost... and many, many more.}
13
13
  spec.homepage = "http://ayadn-app.net"
14
14
  spec.license = "MIT"
15
15
  spec.metadata = { "documentation" => "http://ayadn-app.net/doc/" }
data/doc/01-index.md ADDED
@@ -0,0 +1,38 @@
1
+ # AYADN
2
+
3
+ [Ayadn](https://github.com/ericdke/na) is an [App.net](http://app.net) command-line client.
4
+
5
+ The purpose of Ayadn is to let you use all the features of App.net from the console without any headaches... and then more: power, freedom and fun!
6
+
7
+ - view/scroll all streams
8
+ - view/scroll conversations
9
+ - reply to users
10
+ - write fast single-line or complex multi-line posts
11
+ - embed pictures in posts
12
+ - view/scroll the Global stream with spammers filtered out
13
+ - view/scroll posts from specific users or posts mentioning a user
14
+ - follow/unfollow users, star/repost/mute/block/unstar/etc
15
+ - create/manage silent bookmarks for conversations
16
+ - get information about users and their followers/followings
17
+ - search for words, hashtags, post annotations, channels, etc
18
+ - extract links from conversations, streams, posts, etc
19
+ - list and download your files
20
+ - view (and write to) all your channels including Broadcasts, Patter, Ohai, etc
21
+ - #nowplaying from iTunes or Last.fm, with album art and store link
22
+ - view/send private messages
23
+ - view geolocation data in streams
24
+ - create/manage silent black lists of users, mentions or hashtags
25
+ - create/manage aliases for easier use of channels ids
26
+ - export links and text from a post to Pinboard
27
+ - option to export almost any stream or object in JSON
28
+ - options: set the number of posts by request, show only new posts, etc
29
+ - (see the docs for all the features)
30
+
31
+
32
+ Ayadn is configurable: colors, stream content, durations, aliases, etc.
33
+
34
+ There's also two exclusive antispam and filtering features: a blacklist of users/mentions/hashtags, and Jason Irwin's NiceRank to kick out spammers and bots from Global, with a customisable threshold.
35
+
36
+ Last but not least: Ayadn supports multiple ADN accounts!
37
+
38
+ Authorize as many accounts as you wish, and simply switch between them in a second.
data/doc/02-install.md ADDED
@@ -0,0 +1,24 @@
1
+ # INSTALL
2
+
3
+ Install:
4
+
5
+ `gem install ayadn`
6
+
7
+ Update:
8
+
9
+ `gem update ayadn`
10
+
11
+ Uninstall:
12
+
13
+ `gem uninstall ayadn`
14
+
15
+ ## OS X, LINUX, BSD
16
+
17
+ Please use something like RVM or RBENV to install Ruby if necessary.
18
+
19
+ You can also use the Ruby shipped with your system but it will require root privileges.
20
+
21
+ ## WINDOWS
22
+
23
+ Ayadn 1.0.x isn't compatible with Windows: there's too many issues due to external Gems and POSIX-dependant tools.
24
+
@@ -0,0 +1,161 @@
1
+ # FIRST STEPS
2
+
3
+ ## AUTHORIZE
4
+
5
+ You have to give Ayadn the authorization to use your App.net account.
6
+
7
+ Just run
8
+
9
+ `ayadn authorize`
10
+
11
+ or
12
+
13
+ `ayadn -auth`
14
+
15
+ to register a new user.
16
+
17
+ ## ACCOUNTS
18
+
19
+ Ayadn supports multiple accounts.
20
+
21
+ Register a new user with
22
+
23
+ `ayadn -auth`
24
+
25
+ at any moment.
26
+
27
+ You can then switch between accounts:
28
+
29
+ `ayadn switch @ericd`
30
+
31
+ or
32
+
33
+ `ayadn -@ ericd`
34
+
35
+ ## DATA
36
+
37
+ All Ayadn files and folders are created in your 'home' folder.
38
+
39
+ On Mac OS X, it looks like this:
40
+
41
+ ```
42
+ /Users/ericdke/ayadn/
43
+ ├── accounts.db
44
+ /Users/ericdke/ayadn/ericd
45
+ ├── auth
46
+ │   └── token
47
+ ├── backup
48
+ ├── config
49
+ │   ├── api.json
50
+ │   ├── config.yml
51
+ │   └── version.yml
52
+ ├── db
53
+ │   ├── aliases.db
54
+ │   ├── blacklist.db
55
+ │   └── users.db
56
+ ├── downloads
57
+ ├── lists
58
+ ├── log
59
+ │   └── ayadn.log
60
+ ├── messages
61
+ ├── pagination
62
+ │   ├── index.db
63
+ │   └── pagination.db
64
+ └── posts
65
+ ```
66
+
67
+ Each authorized account has its set of folders and databases.
68
+
69
+ This is also the repository of the configuration file:
70
+
71
+ `config.yml`
72
+
73
+ Although there's the `set` command in Ayadn to configure most parameters, you can of course edit the file manually.
74
+
75
+ If you're not sure if your config file is up to date or properly filled and you want to benefit from the new options in Ayadn, run
76
+
77
+ `ayadn set defaults`
78
+
79
+ and it will create a brand new file with optimal values.
80
+
81
+ ## HELP
82
+
83
+ `ayadn`
84
+
85
+ shows a list of available commands.
86
+
87
+ `ayadn help COMMAND`
88
+
89
+ shows the instructions and available options for a specific command.
90
+
91
+ Examples:
92
+
93
+ `ayadn help post`
94
+
95
+ `ayadn help timeline`
96
+
97
+ `ayadn help blacklist`
98
+
99
+ And for the subcommands:
100
+
101
+ `ayadn blacklist help import`
102
+
103
+ `ayadn alias help create`
104
+
105
+
106
+ ## SHORTCUTS
107
+
108
+ Most examples will include the 'complete' command followed by the 'shortcut' command.
109
+
110
+ Of course, using Ayadn is much faster with the shortcut commands.
111
+
112
+ 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...
113
+
114
+
115
+ ## EXAMPLES
116
+
117
+ Just a few examples to give you a hint at the flexible syntax.
118
+
119
+ Complete:
120
+
121
+ `ayadn timeline`
122
+
123
+ `ayadn checkins --count=10 --index`
124
+
125
+ `ayadn global --scroll`
126
+
127
+ `ayadn userposts @ericd`
128
+
129
+ `ayadn post 'Hello guys!'`
130
+
131
+ `ayadn write`
132
+
133
+ `ayadn reply 23362460`
134
+
135
+ `ayadn convo 23362788`
136
+
137
+ `ayadn search movies hollywood`
138
+
139
+ `ayadn follow @ericd`
140
+
141
+ Shortcuts:
142
+
143
+ `ayadn -tl`
144
+
145
+ `ayadn -ck -c10 -i`
146
+
147
+ `ayadn -gl -s`
148
+
149
+ `ayadn -up @ericd`
150
+
151
+ `ayadn -P 'Hello guys!'`
152
+
153
+ `ayadn -W`
154
+
155
+ `ayadn -R 23362460`
156
+
157
+ `ayadn -co 23362788`
158
+
159
+ `ayadn -se movies hollywood`
160
+
161
+ `ayadn -FO @ericd`
data/doc/04-options.md ADDED
@@ -0,0 +1,13 @@
1
+ # OPTIONS
2
+
3
+ Note: options are only described once in this manual (in the first example for 'Streams', 'Timeline').
4
+
5
+ However, options are available for mosts of streams!
6
+
7
+ They're described only once *for readability purposes*.
8
+
9
+ You can check if a command has specific options with
10
+
11
+ `ayadn help COMMAND`
12
+
13
+
data/doc/05-streams.md ADDED
@@ -0,0 +1,288 @@
1
+ # TIMELINE
2
+
3
+ Display your main timeline.
4
+
5
+ This is also called the 'Unified stream': it regroups the posts of people you follow and the posts mentioning you.
6
+
7
+ `ayadn timeline`
8
+
9
+ `ayadn -tl`
10
+
11
+
12
+ ## AVAILABLE OPTIONS
13
+
14
+ ### SCROLL
15
+
16
+ Scroll your timeline with:
17
+
18
+ `ayadn timeline --scroll`
19
+
20
+ `ayadn -tl -s`
21
+
22
+ Note: Ayadn pulls the stream every 3 seconds by default.
23
+
24
+ It means you can launch up to 3 scroll streams at a time _per account_.
25
+
26
+ 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.
27
+
28
+ If Ayadn ends up making too many requests to ADN, it will display an alert message with instructions then stop running.
29
+
30
+ So if you plan on launching many Ayadn scrolling instances at once, you should *set* the timer parameter accordingly (App.net accepts 5000 requests per hour per account maximum).
31
+
32
+ Note: you can show an animated spinner while waiting for new posts, see the "SET" chapter.
33
+
34
+ ### COUNT
35
+
36
+ Ayadn displays a certain number of posts by default when you request a stream.
37
+
38
+ With the *count* option, you can set a specific value for each request:
39
+
40
+ `ayadn timeline --count=10`
41
+
42
+ `ayadn -tl -c10`
43
+
44
+ The maximum value is 200 for any stream.
45
+
46
+ ### INDEX
47
+
48
+ Shows an index instead of the posts ids.
49
+
50
+ `ayadn timeline --index`
51
+
52
+ `ayadn -tl -i`
53
+
54
+ This is particularly useful if you're using Ayadn to *reply* to conversations.
55
+
56
+ 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.
57
+
58
+ Example:
59
+
60
+ `ayadn -tl -i`
61
+
62
+ `ayadn -R 33`
63
+
64
+ if 33 is the number of the indexed post you want to reply to.
65
+
66
+ ### NEW
67
+
68
+ Displays only the new posts in the stream since your last visit.
69
+
70
+ `ayadn timeline --new`
71
+
72
+ `ayadn -tl -n`
73
+
74
+ ### RAW
75
+
76
+ Displays the raw response from the App.net API instead of the formatted Ayadn output. For debugging and learning purposes.
77
+
78
+ `ayadn timeline --raw`
79
+
80
+ `ayadn -tl -x`
81
+
82
+ ### EXTRACT
83
+
84
+ Extracts all links from posts.
85
+
86
+ `ayadn hashtag --extract instagram`
87
+
88
+ `ayadn -t -e instagram`
89
+
90
+ `ayadn search --extract ruby gem`
91
+
92
+ `ayadn -s -e ruby gem`
93
+
94
+ `ayadn whatstarred @ericd -e`
95
+
96
+ `ayadn -was -e ericd`
97
+
98
+ # GLOBAL
99
+
100
+ Display the 'Global stream'.
101
+
102
+ `ayadn global`
103
+
104
+ `ayadn -gl`
105
+
106
+ Although the 'Global stream' is nowadays infested with spammers, it remains a fantastic source to find new people to interact with.
107
+
108
+ Ayadn helps you in that task with two tools:
109
+
110
+ - the *blacklist* command, which allows you to mute posters per client name, hashtag or mention, obliterating the unwanted posts
111
+
112
+ - the *NiceRank* filter, which allows you to filter spammers out
113
+
114
+
115
+ # CHECKINS
116
+
117
+ Display the 'Checkins stream'.
118
+
119
+ Ayadn will show any available geolocation data for these posts.
120
+
121
+ `ayadn checkins`
122
+
123
+ `ayadn -ck`
124
+
125
+ # CONVERSATIONS
126
+
127
+ Display the 'Conversations stream'.
128
+
129
+ This is a stream of posts that lead to *conversations* with real people.
130
+
131
+ `ayadn conversations`
132
+
133
+ `ayadn -cq`
134
+
135
+ # TRENDING
136
+
137
+ Display the 'Trending stream'.
138
+
139
+ This is a stream of trending posts.
140
+
141
+ `ayadn trending`
142
+
143
+ `ayadn -tr`
144
+
145
+ # PHOTOS
146
+
147
+ Display the 'Photos stream'.
148
+
149
+ This is a stream of posts including a picture.
150
+
151
+ `ayadn photos`
152
+
153
+ `ayadn -ph`
154
+
155
+ # MENTIONS
156
+
157
+ Display posts containing a mention of @username.
158
+
159
+ `ayadn mentions @ericd`
160
+
161
+ `ayadn -m @ericd`
162
+
163
+ You can get your own mentions stream by using *me* instead of *@username*:
164
+
165
+ `ayadn -m me`
166
+
167
+ Don't forget that like most streams, Mentions is *scrollable*: very convenient to know at a glance if we got something new from our friends!
168
+
169
+ # POSTS
170
+
171
+ Show the posts of a specific user.
172
+
173
+ `ayadn userposts @ericd`
174
+
175
+ `ayadn -up @ericd`
176
+
177
+ You can get your own posts by using *me* instead of *@username*:
178
+
179
+ `ayadn -up me`
180
+
181
+ # MESSAGES
182
+
183
+ Show messages in a *channel*.
184
+
185
+ `ayadn messages 46217`
186
+
187
+ `ayadn -ms 46217`
188
+
189
+ You can replace the channel id with its alias if you previously defined one:
190
+
191
+ `ayadn -ms mychannelalias`
192
+
193
+ # WHATSTARRED
194
+
195
+ Show posts starred by a specific user.
196
+
197
+ `ayadn whatstarred @ericd`
198
+
199
+ `ayadn -was @ericd`
200
+
201
+ You can get your own stars by using *me* instead of *@username*:
202
+
203
+ `ayadn -was me`
204
+
205
+ # CONVO
206
+
207
+ Show the conversation thread around a specific post.
208
+
209
+ `ayadn convo 23362788`
210
+
211
+ `ayadn -co 23362788`
212
+
213
+ # HASHTAG
214
+
215
+ Show recent posts containing #HASHTAG(s).
216
+
217
+ `ayadn hashtag nowplaying`
218
+
219
+ `ayadn -t nowplaying`
220
+
221
+ `ayadn -t nowplaying rock`
222
+
223
+ # SEARCH
224
+
225
+ Show recents posts containing WORD(s).
226
+
227
+ `ayadn search ruby`
228
+
229
+ `ayadn search ruby json api`
230
+
231
+ ## Search in messages, including PMs
232
+
233
+ You can now search for WORD(S) in the messages of a channel, for example all PMs between you and @username.
234
+
235
+ You have to specify a channel id (or an alias).
236
+
237
+ ```
238
+ ayadn search --messages 24573 'meet me at'
239
+ ayadn search --messages my_alias 'meet me at'
240
+ ```
241
+
242
+ If you don't know what are your subscribed channels ids, discover them with `ayadn -ch`, then you can also set aliases with `ayadn -A create 24573 my_alias` to remember the names easily.
243
+
244
+ ## Look for users
245
+
246
+ Look for App.net users by searching WORD(S) in their bio/description.
247
+
248
+ `ayadn search --users coffee food`
249
+
250
+ Returns a detailed view of each user's profile and informations.
251
+
252
+ ## Discover channels
253
+
254
+ Search for App.net channels by searching WORD(S) in their description.
255
+
256
+ `ayadn search --channels podcast ios`
257
+
258
+ (This one operation may *sometimes* be long to execute if there's a lot of results.)
259
+
260
+ If the channel (let's say 24573) is public, you can read its messages with `ayadn -ms 24573` or `ayadn -ms my_alias`.
261
+
262
+ # RANDOM
263
+
264
+ Show series of random posts from App.net. Just for fun :)
265
+
266
+ `ayadn random`
267
+
268
+ `ayadn -rnd`
269
+
270
+ # USER INFO
271
+
272
+ Show informations about a user.
273
+
274
+ `ayadn userinfo @ericd`
275
+
276
+ `ayadn -ui @ericd`
277
+
278
+ You can see your own info by using *me* instead of *@username*:
279
+
280
+ `ayadn -ui me`
281
+
282
+ # POST INFO
283
+
284
+ Show informations about a post.
285
+
286
+ `ayadn postinfo 23362788`
287
+
288
+ `ayadn -pi 23362788`