@irfanshadikrishad/anilist 1.0.0-forbidden.4 → 1.0.0-forbidden.6
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.
- package/LICENSE.md +382 -382
- package/README.md +266 -266
- package/bin/helpers/auth.js +15 -10
- package/bin/helpers/lists.js +5 -4
- package/bin/helpers/mutations.js +35 -35
- package/bin/helpers/queries.js +176 -176
- package/bin/helpers/truncate.d.ts +6 -0
- package/bin/helpers/truncate.js +10 -0
- package/bin/helpers/workers.js +6 -5
- package/package.json +85 -84
package/README.md
CHANGED
|
@@ -1,266 +1,266 @@
|
|
|
1
|
-
#### @irfanshadikrishad/anilist
|
|
2
|
-
|
|
3
|
-
Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts.
|
|
4
|
-
|
|
5
|
-

|
|
6
|
-

|
|
7
|
-

|
|
8
|
-
|
|
9
|
-
#### How to install?
|
|
10
|
-
|
|
11
|
-
Make sure [Node.js](https://nodejs.org/en) and [npm](https://www.npmjs.com) are already installed in your system.
|
|
12
|
-
Verify installation using
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
node -v
|
|
16
|
-
npm -v
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
If you see the version then its installed. Otherwise install nodejs and npm should already be installed with nodejs.
|
|
20
|
-
Then install the package by running
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm install -g @irfanshadikrishad/anilist
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
This will install the package globally. And you have to use commands like
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
anilist tr -c 15
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
#### How to use?
|
|
33
|
-
|
|
34
|
-
Create an API client from [anilist developer setting](https://anilist.co/settings/developer) with an application name and redirect url as `https://anilist.co/api/v2/oauth/pin`. After creating the client you will get `Client ID` and `Client Secret` which is required in order to login from CLI.
|
|
35
|
-
|
|
36
|
-
To login:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
anilist login -i <client-id> -s <client-secret>
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
> [!NOTE]
|
|
43
|
-
> here `<client-id>` and `<client-secret>` should be replaced by the ones that you recieved from the developer setting. Also don't include `<>`, this only indicates need-to-be-replaced data.
|
|
44
|
-
|
|
45
|
-
#### CLI Commands Overview
|
|
46
|
-
|
|
47
|
-
| **Command** | **Options** | **Description** |
|
|
48
|
-
| --------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
|
49
|
-
| `login` | `-i, --id` `-s, --secret` | Log in with your AniList credentials |
|
|
50
|
-
| `logout` | _None_ | Log out from your AniList account |
|
|
51
|
-
| `whoami` | _None_ | Display information about the logged-in user |
|
|
52
|
-
| `-V, --version` | _None_ | Display the current version of the CLI |
|
|
53
|
-
| `-h, --help` | _None_ | Display available commands and options |
|
|
54
|
-
| `trending` <br> _(alias: `tr`)_ | `-c (default: 10)` | Fetch trending anime (default count is 10) |
|
|
55
|
-
| `popular` <br> _(alias: `plr`)_ | `-c (default: 10)` | Fetch popular anime (default count is 10) |
|
|
56
|
-
| `user` | `<username>` | Get information about a specific AniList user |
|
|
57
|
-
| `lists` <br> _(alias: `ls`)_ | `-a, --anime` <br> `-m, --manga` | Fetch anime or manga lists of the logged-in user |
|
|
58
|
-
| `delete` <br> _(alias: `del`)_ | `-a, --anime` <br> `-m, --manga` <br> `-s, --activity` | Delete collections of anime, manga or activities |
|
|
59
|
-
| `upcoming` <br> _(alias:`up`)_ | `-c (default: 10)` | Fetch upcoming anime (default count is 10) |
|
|
60
|
-
| `anime` | `<anime-id>` | Get anime details by Anime Id |
|
|
61
|
-
| `manga` | `<manga-id>` | Get manga details by Manga ID |
|
|
62
|
-
| `search` <br> _(alias:`srch`/`find`)_ | `<query>` <br> `-a, --anime` <br> `-m, --manga` <br> `-c (default: 10)` | Get anime/manga search results |
|
|
63
|
-
| `status` <br> _(alias: `write`/`post`)_ | `<status>` | Write a status... (text/markdown/html) |
|
|
64
|
-
| `export` <br> _(alias: `exp`)_ | `-a, --anime` <br> `-m, --manga` | Export anime or manga list in JSON, CSV or XML (MyAnimeList/AniDB) |
|
|
65
|
-
| `import` <br> _(alias: `imp`)_ | `-a, --anime` <br> `-m, --manga` | Import anime or manga list from exported JSON, MyAnimeList (XML) or AniDB (json-large) |
|
|
66
|
-
| `social` <br> _(alias: `sol`)_ | `-f, --follow` <br> `-u, --unfollow` | Follow users who follows you or Unfollow who doesn't follow you back with a simple command |
|
|
67
|
-
|
|
68
|
-
#### Command Breakdown:
|
|
69
|
-
|
|
70
|
-
#### `login`:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
anilist login -i <client-id> -s <client-secret>
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
- Options:
|
|
77
|
-
- `-i, --id`: Specify AniList Client ID
|
|
78
|
-
- `-s, --secret`: Provide the AniList Client Secret
|
|
79
|
-
- Usage: Authenticate and log in to AniList using your ID and secret credentials.
|
|
80
|
-
|
|
81
|
-
#### `logout`:
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
anilist logout
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
- Description: End the current session and log out from your AniList account.
|
|
88
|
-
|
|
89
|
-
#### `whoami`:
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
anilist whoami
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
- Description: Retrieve and display information about the currently logged-in user, including stats and profile details.
|
|
96
|
-
|
|
97
|
-
#### `-V, --version`:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
anilist -V
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
- Description: Quickly check which version of the CLI you are running.
|
|
104
|
-
|
|
105
|
-
#### `-h, --help`:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
anilist -h
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
- Description: List all available commands and their usage details for quick reference.
|
|
112
|
-
|
|
113
|
-
#### `trending` _(alias: `tr`)_:
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
anilist tr -c 15
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
- Options:
|
|
120
|
-
- `-c (count)`: Specify how many trending anime to fetch (default: 10).
|
|
121
|
-
- Description: Fetch the current trending anime series, with the option to customize how many results to display.
|
|
122
|
-
|
|
123
|
-
#### `popular` _(alias: `plr`)_:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
anilist popular
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
- Options:
|
|
130
|
-
- `-c (count)`: Specify how many popular anime to fetch (default: 10).
|
|
131
|
-
- Description: Fetch the most popular anime series, with the option to customize how many results to display.
|
|
132
|
-
|
|
133
|
-
#### `upcoming` _(alias: `up`)_:
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
anilist up -c 25
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
- Options:
|
|
140
|
-
- `-c (count)`: Specify how many upcoming anime to fetch (default: 10).
|
|
141
|
-
- Description: Fetch the upcoming anime series next season, with the option to customize how many results to display.
|
|
142
|
-
|
|
143
|
-
#### `user`:
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
anilist user <username>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
- Options:
|
|
150
|
-
- `<username>`: Specify the AniList username to fetch.
|
|
151
|
-
- Description: Retrieve profile information about a specific AniList user.
|
|
152
|
-
|
|
153
|
-
#### `lists` _(alias: `ls`)_:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
anilist ls -a
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
- Options:
|
|
160
|
-
- `-a, --anime`: Fetch the authenticated user's anime list.
|
|
161
|
-
- `-m, --manga`: Fetch the authenticated user's manga list.
|
|
162
|
-
- Description: Get the anime or manga lists of the logged-in user.
|
|
163
|
-
|
|
164
|
-
#### `delete` _(alias: `del`)_:
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
anilist del -s,
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
- Options:
|
|
171
|
-
- `-a, --anime`: Delete your specific anime collection that you want.
|
|
172
|
-
- `-m, --manga`: Delete your specific manga collection that you want.
|
|
173
|
-
- `-s,, --activity`: Delete all or any type of activities you want.
|
|
174
|
-
- Description: Delete the entire anime or manga collection from the logged-in user's profile.
|
|
175
|
-
|
|
176
|
-
#### `anime`
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
anilist anime <anime-id>
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
- Options
|
|
183
|
-
- `<anime-id>` _(eg: 21)_ : Id of the anime you want to get details of.
|
|
184
|
-
- Description: Get anime details by anime Id.
|
|
185
|
-
|
|
186
|
-
#### `manga`
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
anilist manga <manga-id>
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
- Options
|
|
193
|
-
- `<anime-id>` _(eg: 21)_ : Id of the manga you want to get details of.
|
|
194
|
-
- Description: Get manga details by manga Id.
|
|
195
|
-
|
|
196
|
-
#### `search` _(alias: `srch`/`find`)_:
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
anilist search <query> -a -c 20
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
- Options:
|
|
203
|
-
- `<query>` : What you want to search (eg: naruto).
|
|
204
|
-
- `-a, --anime`: To get results of anime search.
|
|
205
|
-
- `-m, --manga`: To get results of manga search.
|
|
206
|
-
- `-c (count)`: Specify how many items to fetch (default: 10).
|
|
207
|
-
- Description: Get anime/manga search results
|
|
208
|
-
|
|
209
|
-
#### `status` _(alias: `write`/`post`)_:
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
anilist write <status>
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
- Options:
|
|
216
|
-
- `<status>` : This is what you want to write, It can be HTML, Markdown and/or Text. But wrap it with quotation mark (") else it might get cut-off.
|
|
217
|
-
- Description: Get anime/manga search results
|
|
218
|
-
|
|
219
|
-
#### `export` _(alias: `exp`)_:
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
anilist export -a
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
- Options:
|
|
226
|
-
- `-a, --anime`: To export anime list.
|
|
227
|
-
- `-m, --manga`: To export manga list.
|
|
228
|
-
- Description: Export anime or manga list. For `XML (MyAnimeList/AniDB)` file, to import it on MyAnimeList, go [here](https://myanimelist.net/import.php) and choose `MyAnimeList Import` for `AniDB` go [here](https://anidb.net/user/import) and select `MyAnimeList.net - XML anime list export`.
|
|
229
|
-
|
|
230
|
-
#### `import` _(alias: `imp`)_:
|
|
231
|
-
|
|
232
|
-
```bash
|
|
233
|
-
anilist import -m
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
- Options:
|
|
237
|
-
- `-a, --anime`: To import anime list.
|
|
238
|
-
- `-m, --manga`: To import manga list.
|
|
239
|
-
- Description: Import anime or manga list. If you want to import anime/manga list from `MyAnimeList`, export the XML from [here](https://myanimelist.net/panel.php?go=export), for exporting list from `AniDB` go [here](https://anidb.net/user/export).
|
|
240
|
-
|
|
241
|
-
> [!NOTE]
|
|
242
|
-
> If you have exported from `AniDB`, you will have to unzip it, and there should be a file named `mylist.json`, copy and paste it in your systems download folder, and select it from import option.
|
|
243
|
-
|
|
244
|
-
> [!IMPORTANT]
|
|
245
|
-
> If you are importing from a file, place the file in the system specific download folder, And the exported file will also be exported there as well.
|
|
246
|
-
|
|
247
|
-
#### `social` _(alias: `sol`)_:
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
anilist sol -f
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
- Options:
|
|
254
|
-
- `-f, --follow`: To follow users who follows you automatically.
|
|
255
|
-
- `-u, --unfollow`: To unfollow users who doesn't follow you back.
|
|
256
|
-
- Description: It follows users who follows you or unfollow users who doesn't follow you back at ease.
|
|
257
|
-
|
|
258
|
-
#### Security
|
|
259
|
-
|
|
260
|
-
Since you are creating your own API client for login no else else can get your credentials and the generated access token will be stored in your own system. So, As long as you don't share your device (in case you do, just logout) you are safe.
|
|
261
|
-
|
|
262
|
-
#### Contribution
|
|
263
|
-
|
|
264
|
-
Want to contribute to the project? Check out complete guideline [here](CONTRIBUTING.md).
|
|
265
|
-
|
|
266
|
-
#### _Thanks for visiting 💙_
|
|
1
|
+
#### @irfanshadikrishad/anilist
|
|
2
|
+
|
|
3
|
+
Minimalist unofficial AniList CLI for Anime and Manga Enthusiasts.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
#### How to install?
|
|
10
|
+
|
|
11
|
+
Make sure [Node.js](https://nodejs.org/en) and [npm](https://www.npmjs.com) are already installed in your system.
|
|
12
|
+
Verify installation using
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
node -v
|
|
16
|
+
npm -v
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
If you see the version then its installed. Otherwise install nodejs and npm should already be installed with nodejs.
|
|
20
|
+
Then install the package by running
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g @irfanshadikrishad/anilist
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
This will install the package globally. And you have to use commands like
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
anilist tr -c 15
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
#### How to use?
|
|
33
|
+
|
|
34
|
+
Create an API client from [anilist developer setting](https://anilist.co/settings/developer) with an application name and redirect url as `https://anilist.co/api/v2/oauth/pin`. After creating the client you will get `Client ID` and `Client Secret` which is required in order to login from CLI.
|
|
35
|
+
|
|
36
|
+
To login:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
anilist login -i <client-id> -s <client-secret>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
> [!NOTE]
|
|
43
|
+
> here `<client-id>` and `<client-secret>` should be replaced by the ones that you recieved from the developer setting. Also don't include `<>`, this only indicates need-to-be-replaced data.
|
|
44
|
+
|
|
45
|
+
#### CLI Commands Overview
|
|
46
|
+
|
|
47
|
+
| **Command** | **Options** | **Description** |
|
|
48
|
+
| --------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
|
49
|
+
| `login` | `-i, --id` `-s, --secret` | Log in with your AniList credentials |
|
|
50
|
+
| `logout` | _None_ | Log out from your AniList account |
|
|
51
|
+
| `whoami` | _None_ | Display information about the logged-in user |
|
|
52
|
+
| `-V, --version` | _None_ | Display the current version of the CLI |
|
|
53
|
+
| `-h, --help` | _None_ | Display available commands and options |
|
|
54
|
+
| `trending` <br> _(alias: `tr`)_ | `-c (default: 10)` | Fetch trending anime (default count is 10) |
|
|
55
|
+
| `popular` <br> _(alias: `plr`)_ | `-c (default: 10)` | Fetch popular anime (default count is 10) |
|
|
56
|
+
| `user` | `<username>` | Get information about a specific AniList user |
|
|
57
|
+
| `lists` <br> _(alias: `ls`)_ | `-a, --anime` <br> `-m, --manga` | Fetch anime or manga lists of the logged-in user |
|
|
58
|
+
| `delete` <br> _(alias: `del`)_ | `-a, --anime` <br> `-m, --manga` <br> `-s, --activity` | Delete collections of anime, manga or activities |
|
|
59
|
+
| `upcoming` <br> _(alias:`up`)_ | `-c (default: 10)` | Fetch upcoming anime (default count is 10) |
|
|
60
|
+
| `anime` | `<anime-id>` | Get anime details by Anime Id |
|
|
61
|
+
| `manga` | `<manga-id>` | Get manga details by Manga ID |
|
|
62
|
+
| `search` <br> _(alias:`srch`/`find`)_ | `<query>` <br> `-a, --anime` <br> `-m, --manga` <br> `-c (default: 10)` | Get anime/manga search results |
|
|
63
|
+
| `status` <br> _(alias: `write`/`post`)_ | `<status>` | Write a status... (text/markdown/html) |
|
|
64
|
+
| `export` <br> _(alias: `exp`)_ | `-a, --anime` <br> `-m, --manga` | Export anime or manga list in JSON, CSV or XML (MyAnimeList/AniDB) |
|
|
65
|
+
| `import` <br> _(alias: `imp`)_ | `-a, --anime` <br> `-m, --manga` | Import anime or manga list from exported JSON, MyAnimeList (XML) or AniDB (json-large) |
|
|
66
|
+
| `social` <br> _(alias: `sol`)_ | `-f, --follow` <br> `-u, --unfollow` | Follow users who follows you or Unfollow who doesn't follow you back with a simple command |
|
|
67
|
+
|
|
68
|
+
#### Command Breakdown:
|
|
69
|
+
|
|
70
|
+
#### `login`:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
anilist login -i <client-id> -s <client-secret>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- Options:
|
|
77
|
+
- `-i, --id`: Specify AniList Client ID
|
|
78
|
+
- `-s, --secret`: Provide the AniList Client Secret
|
|
79
|
+
- Usage: Authenticate and log in to AniList using your ID and secret credentials.
|
|
80
|
+
|
|
81
|
+
#### `logout`:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
anilist logout
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- Description: End the current session and log out from your AniList account.
|
|
88
|
+
|
|
89
|
+
#### `whoami`:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
anilist whoami
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- Description: Retrieve and display information about the currently logged-in user, including stats and profile details.
|
|
96
|
+
|
|
97
|
+
#### `-V, --version`:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
anilist -V
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
- Description: Quickly check which version of the CLI you are running.
|
|
104
|
+
|
|
105
|
+
#### `-h, --help`:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
anilist -h
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
- Description: List all available commands and their usage details for quick reference.
|
|
112
|
+
|
|
113
|
+
#### `trending` _(alias: `tr`)_:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
anilist tr -c 15
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
- Options:
|
|
120
|
+
- `-c (count)`: Specify how many trending anime to fetch (default: 10).
|
|
121
|
+
- Description: Fetch the current trending anime series, with the option to customize how many results to display.
|
|
122
|
+
|
|
123
|
+
#### `popular` _(alias: `plr`)_:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
anilist popular
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- Options:
|
|
130
|
+
- `-c (count)`: Specify how many popular anime to fetch (default: 10).
|
|
131
|
+
- Description: Fetch the most popular anime series, with the option to customize how many results to display.
|
|
132
|
+
|
|
133
|
+
#### `upcoming` _(alias: `up`)_:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
anilist up -c 25
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
- Options:
|
|
140
|
+
- `-c (count)`: Specify how many upcoming anime to fetch (default: 10).
|
|
141
|
+
- Description: Fetch the upcoming anime series next season, with the option to customize how many results to display.
|
|
142
|
+
|
|
143
|
+
#### `user`:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
anilist user <username>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
- Options:
|
|
150
|
+
- `<username>`: Specify the AniList username to fetch.
|
|
151
|
+
- Description: Retrieve profile information about a specific AniList user.
|
|
152
|
+
|
|
153
|
+
#### `lists` _(alias: `ls`)_:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
anilist ls -a
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
- Options:
|
|
160
|
+
- `-a, --anime`: Fetch the authenticated user's anime list.
|
|
161
|
+
- `-m, --manga`: Fetch the authenticated user's manga list.
|
|
162
|
+
- Description: Get the anime or manga lists of the logged-in user.
|
|
163
|
+
|
|
164
|
+
#### `delete` _(alias: `del`)_:
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
anilist del -s,
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
- Options:
|
|
171
|
+
- `-a, --anime`: Delete your specific anime collection that you want.
|
|
172
|
+
- `-m, --manga`: Delete your specific manga collection that you want.
|
|
173
|
+
- `-s,, --activity`: Delete all or any type of activities you want.
|
|
174
|
+
- Description: Delete the entire anime or manga collection from the logged-in user's profile.
|
|
175
|
+
|
|
176
|
+
#### `anime`
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
anilist anime <anime-id>
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
- Options
|
|
183
|
+
- `<anime-id>` _(eg: 21)_ : Id of the anime you want to get details of.
|
|
184
|
+
- Description: Get anime details by anime Id.
|
|
185
|
+
|
|
186
|
+
#### `manga`
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
anilist manga <manga-id>
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
- Options
|
|
193
|
+
- `<anime-id>` _(eg: 21)_ : Id of the manga you want to get details of.
|
|
194
|
+
- Description: Get manga details by manga Id.
|
|
195
|
+
|
|
196
|
+
#### `search` _(alias: `srch`/`find`)_:
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
anilist search <query> -a -c 20
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
- Options:
|
|
203
|
+
- `<query>` : What you want to search (eg: naruto).
|
|
204
|
+
- `-a, --anime`: To get results of anime search.
|
|
205
|
+
- `-m, --manga`: To get results of manga search.
|
|
206
|
+
- `-c (count)`: Specify how many items to fetch (default: 10).
|
|
207
|
+
- Description: Get anime/manga search results
|
|
208
|
+
|
|
209
|
+
#### `status` _(alias: `write`/`post`)_:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
anilist write <status>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
- Options:
|
|
216
|
+
- `<status>` : This is what you want to write, It can be HTML, Markdown and/or Text. But wrap it with quotation mark (") else it might get cut-off.
|
|
217
|
+
- Description: Get anime/manga search results
|
|
218
|
+
|
|
219
|
+
#### `export` _(alias: `exp`)_:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
anilist export -a
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
- Options:
|
|
226
|
+
- `-a, --anime`: To export anime list.
|
|
227
|
+
- `-m, --manga`: To export manga list.
|
|
228
|
+
- Description: Export anime or manga list. For `XML (MyAnimeList/AniDB)` file, to import it on MyAnimeList, go [here](https://myanimelist.net/import.php) and choose `MyAnimeList Import` for `AniDB` go [here](https://anidb.net/user/import) and select `MyAnimeList.net - XML anime list export`.
|
|
229
|
+
|
|
230
|
+
#### `import` _(alias: `imp`)_:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
anilist import -m
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
- Options:
|
|
237
|
+
- `-a, --anime`: To import anime list.
|
|
238
|
+
- `-m, --manga`: To import manga list.
|
|
239
|
+
- Description: Import anime or manga list. If you want to import anime/manga list from `MyAnimeList`, export the XML from [here](https://myanimelist.net/panel.php?go=export), for exporting list from `AniDB` go [here](https://anidb.net/user/export).
|
|
240
|
+
|
|
241
|
+
> [!NOTE]
|
|
242
|
+
> If you have exported from `AniDB`, you will have to unzip it, and there should be a file named `mylist.json`, copy and paste it in your systems download folder, and select it from import option.
|
|
243
|
+
|
|
244
|
+
> [!IMPORTANT]
|
|
245
|
+
> If you are importing from a file, place the file in the system specific download folder, And the exported file will also be exported there as well.
|
|
246
|
+
|
|
247
|
+
#### `social` _(alias: `sol`)_:
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
anilist sol -f
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
- Options:
|
|
254
|
+
- `-f, --follow`: To follow users who follows you automatically.
|
|
255
|
+
- `-u, --unfollow`: To unfollow users who doesn't follow you back.
|
|
256
|
+
- Description: It follows users who follows you or unfollow users who doesn't follow you back at ease.
|
|
257
|
+
|
|
258
|
+
#### Security
|
|
259
|
+
|
|
260
|
+
Since you are creating your own API client for login no else else can get your credentials and the generated access token will be stored in your own system. So, As long as you don't share your device (in case you do, just logout) you are safe.
|
|
261
|
+
|
|
262
|
+
#### Contribution
|
|
263
|
+
|
|
264
|
+
Want to contribute to the project? Check out complete guideline [here](CONTRIBUTING.md).
|
|
265
|
+
|
|
266
|
+
#### _Thanks for visiting 💙_
|
package/bin/helpers/auth.js
CHANGED
|
@@ -19,6 +19,7 @@ import { fetcher } from "./fetcher.js";
|
|
|
19
19
|
import { AniDB, AniList, MyAnimeList } from "./lists.js";
|
|
20
20
|
import { deleteActivityMutation, likeActivityMutation, saveTextActivityMutation, } from "./mutations.js";
|
|
21
21
|
import { activityAllQuery, activityAnimeListQuery, activityMangaListQuery, activityMediaList, activityMessageQuery, activityTextQuery, currentUserAnimeList, currentUserMangaList, currentUserQuery, deleteMangaEntryMutation, deleteMediaEntryMutation, followingActivitiesQuery, globalActivitiesQuery, specificUserActivitiesQuery, toggleFollowMutation, userActivityQuery, userFollowersQuery, userFollowingQuery, userQuery, } from "./queries.js";
|
|
22
|
+
import { responsiveOutput } from "./truncate.js";
|
|
22
23
|
import { activityBy, aniListEndpoint, getTitle, redirectUri, timestampToTimeAgo, } from "./workers.js";
|
|
23
24
|
const home_dir = os.homedir();
|
|
24
25
|
const save_path = path.join(home_dir, ".anilist_token");
|
|
@@ -183,7 +184,7 @@ Statistics (Manga):
|
|
|
183
184
|
console.log(`\nRecent Activities:`);
|
|
184
185
|
if (activities.length > 0) {
|
|
185
186
|
activities.map(({ status, progress, media, createdAt }) => {
|
|
186
|
-
|
|
187
|
+
responsiveOutput(`${timestampToTimeAgo(createdAt)}\t${status} ${progress ? `${progress} of ` : ""}${getTitle(media === null || media === void 0 ? void 0 : media.title)}`);
|
|
187
188
|
});
|
|
188
189
|
}
|
|
189
190
|
return user;
|
|
@@ -577,6 +578,7 @@ Statistics (Manga):
|
|
|
577
578
|
let hasMoreActivities = true;
|
|
578
579
|
let retryCount = 0;
|
|
579
580
|
const maxRetries = 5;
|
|
581
|
+
let likedCount = 0;
|
|
580
582
|
while (hasMoreActivities) {
|
|
581
583
|
const activities = yield fetcher(followingActivitiesQuery, {
|
|
582
584
|
page,
|
|
@@ -592,14 +594,17 @@ Statistics (Manga):
|
|
|
592
594
|
const like = yield fetcher(likeActivityMutation, {
|
|
593
595
|
activityId: activ.id,
|
|
594
596
|
});
|
|
595
|
-
|
|
597
|
+
if (like === null || like === void 0 ? void 0 : like.data) {
|
|
598
|
+
likedCount++;
|
|
599
|
+
}
|
|
600
|
+
responsiveOutput(`${(like === null || like === void 0 ? void 0 : like.data) ? "✅" : "❌"} ${activityBy(activ, likedCount)}`);
|
|
596
601
|
}
|
|
597
602
|
catch (error) {
|
|
598
603
|
console.error(`Activity possibly deleted. ${error.message}`);
|
|
599
604
|
}
|
|
600
605
|
}
|
|
601
606
|
else {
|
|
602
|
-
|
|
607
|
+
responsiveOutput(`"🔵" ${activityBy(activ, likedCount)}`);
|
|
603
608
|
}
|
|
604
609
|
// avoiding rate-limit
|
|
605
610
|
yield new Promise((resolve) => {
|
|
@@ -651,14 +656,14 @@ Statistics (Manga):
|
|
|
651
656
|
});
|
|
652
657
|
// const ToggleLike = like?.data?.ToggleLike
|
|
653
658
|
likedCount++;
|
|
654
|
-
|
|
659
|
+
responsiveOutput(`${(like === null || like === void 0 ? void 0 : like.data) ? "✅" : "❌"} ${activityBy(activ, likedCount)}`);
|
|
655
660
|
}
|
|
656
661
|
catch (error) {
|
|
657
662
|
console.error(`Activity possibly deleted. ${error.message}`);
|
|
658
663
|
}
|
|
659
664
|
}
|
|
660
665
|
else {
|
|
661
|
-
|
|
666
|
+
responsiveOutput(`🔵 ${activityBy(activ, likedCount)}`);
|
|
662
667
|
}
|
|
663
668
|
// avoiding rate-limit
|
|
664
669
|
yield new Promise((resolve) => {
|
|
@@ -718,14 +723,14 @@ Statistics (Manga):
|
|
|
718
723
|
activityId: activ.id,
|
|
719
724
|
});
|
|
720
725
|
likedCount++;
|
|
721
|
-
|
|
726
|
+
responsiveOutput(`${(like === null || like === void 0 ? void 0 : like.data) ? "✅" : "❌"} ${activityBy(activ, likedCount)}`);
|
|
722
727
|
}
|
|
723
728
|
catch (error) {
|
|
724
729
|
console.error(`Activity possibly deleted. ${error.message}`);
|
|
725
730
|
}
|
|
726
731
|
}
|
|
727
732
|
else {
|
|
728
|
-
|
|
733
|
+
responsiveOutput(`🔵 ${activityBy(activ, likedCount)}`);
|
|
729
734
|
}
|
|
730
735
|
// Avoiding rate limit
|
|
731
736
|
yield new Promise((resolve) => {
|
|
@@ -804,17 +809,17 @@ Statistics (Manga):
|
|
|
804
809
|
const like = yield fetcher(likeActivityMutation, {
|
|
805
810
|
activityId: activ.id,
|
|
806
811
|
});
|
|
807
|
-
|
|
812
|
+
responsiveOutput(`${(like === null || like === void 0 ? void 0 : like.data) ? "✅" : "❌"} ${activityBy(activ, i + 1)}`);
|
|
808
813
|
if (like === null || like === void 0 ? void 0 : like.data) {
|
|
809
814
|
liked++;
|
|
810
815
|
}
|
|
811
816
|
}
|
|
812
817
|
catch (error) {
|
|
813
|
-
console.error(`
|
|
818
|
+
console.error(`Activity possibly deleted. ${error.message}`);
|
|
814
819
|
}
|
|
815
820
|
}
|
|
816
821
|
else {
|
|
817
|
-
|
|
822
|
+
responsiveOutput(`🔵 ${activityBy(activ, i + 1)}`);
|
|
818
823
|
}
|
|
819
824
|
// Avoid rate-limiting
|
|
820
825
|
yield new Promise((resolve) => setTimeout(resolve, 1200));
|