ayadn 1.4.6 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
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`