rettiwt-api 2.4.1 → 2.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.
- package/.eslintrc.js +5 -0
- package/.github/workflows/documentation.yml +1 -1
- package/.github/workflows/publish.yml +1 -1
- package/.prettierrc +1 -1
- package/README.md +118 -60
- package/dist/Rettiwt.d.ts +7 -4
- package/dist/Rettiwt.js +4 -2
- package/dist/Rettiwt.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/Auth.d.ts +2 -1
- package/dist/commands/Auth.js +10 -17
- package/dist/commands/Auth.js.map +1 -1
- package/dist/commands/Tweet.js +36 -3
- package/dist/commands/Tweet.js.map +1 -1
- package/dist/enums/{ApiErrors.js → Api.js} +1 -1
- package/dist/enums/Api.js.map +1 -0
- package/dist/enums/Http.d.ts +68 -0
- package/dist/enums/Http.js +73 -0
- package/dist/enums/Http.js.map +1 -0
- package/dist/enums/Logging.d.ts +1 -0
- package/dist/enums/Logging.js +1 -0
- package/dist/enums/Logging.js.map +1 -1
- package/dist/index.d.ts +15 -14
- package/dist/index.js +21 -17
- package/dist/index.js.map +1 -1
- package/dist/models/{public → data}/CursoredData.d.ts +5 -3
- package/dist/models/{public → data}/CursoredData.js +1 -0
- package/dist/models/data/CursoredData.js.map +1 -0
- package/dist/{types/public → models/data}/List.d.ts +8 -1
- package/dist/models/data/List.js.map +1 -0
- package/dist/models/data/Media.d.ts +14 -0
- package/dist/models/data/Media.js +19 -0
- package/dist/models/data/Media.js.map +1 -0
- package/dist/{types/public → models/data}/Tweet.d.ts +26 -8
- package/dist/models/{public → data}/Tweet.js +4 -0
- package/dist/models/data/Tweet.js.map +1 -0
- package/dist/{types/public → models/data}/User.d.ts +8 -1
- package/dist/models/data/User.js.map +1 -0
- package/dist/models/errors/ApiError.d.ts +17 -0
- package/dist/models/errors/ApiError.js +42 -0
- package/dist/models/errors/ApiError.js.map +1 -0
- package/dist/models/errors/HttpError.d.ts +17 -0
- package/dist/models/errors/HttpError.js +42 -0
- package/dist/models/errors/HttpError.js.map +1 -0
- package/dist/models/errors/RettiwtError.d.ts +8 -0
- package/dist/models/errors/RettiwtError.js +34 -0
- package/dist/models/errors/RettiwtError.js.map +1 -0
- package/dist/models/errors/TimeoutError.d.ts +14 -0
- package/dist/models/errors/TimeoutError.js +39 -0
- package/dist/models/errors/TimeoutError.js.map +1 -0
- package/dist/services/internal/ErrorService.d.ts +85 -0
- package/dist/services/internal/ErrorService.js +144 -0
- package/dist/services/internal/ErrorService.js.map +1 -0
- package/dist/services/internal/FetcherService.d.ts +22 -24
- package/dist/services/internal/FetcherService.js +79 -59
- package/dist/services/internal/FetcherService.js.map +1 -1
- package/dist/services/public/AuthService.d.ts +66 -0
- package/dist/services/public/AuthService.js +160 -0
- package/dist/services/public/AuthService.js.map +1 -0
- package/dist/services/public/TweetService.d.ts +27 -8
- package/dist/services/public/TweetService.js +40 -5
- package/dist/services/public/TweetService.js.map +1 -1
- package/dist/services/public/UserService.d.ts +5 -5
- package/dist/services/public/UserService.js.map +1 -1
- package/dist/types/ErrorHandler.d.ts +13 -0
- package/dist/types/{public/User.js → ErrorHandler.js} +1 -1
- package/dist/types/ErrorHandler.js.map +1 -0
- package/dist/types/RettiwtConfig.d.ts +32 -0
- package/dist/types/RettiwtConfig.js.map +1 -0
- package/dist/types/args/TweetMediaArgs.d.ts +15 -0
- package/dist/types/{public/CursoredData.js → args/TweetMediaArgs.js} +1 -1
- package/dist/types/args/TweetMediaArgs.js.map +1 -0
- package/package.json +5 -5
- package/src/Rettiwt.ts +10 -5
- package/src/cli.ts +1 -1
- package/src/commands/Auth.ts +5 -16
- package/src/commands/Tweet.ts +56 -3
- package/src/enums/Http.ts +68 -0
- package/src/enums/Logging.ts +1 -0
- package/src/index.ts +23 -18
- package/src/models/{public → data}/CursoredData.ts +6 -5
- package/src/models/{public → data}/List.ts +14 -4
- package/src/models/data/Media.ts +19 -0
- package/src/models/{public → data}/Tweet.ts +39 -5
- package/src/models/{public → data}/User.ts +28 -4
- package/src/models/errors/ApiError.ts +24 -0
- package/src/models/errors/HttpError.ts +24 -0
- package/src/models/errors/RettiwtError.ts +12 -0
- package/src/models/errors/TimeoutError.ts +18 -0
- package/src/services/internal/ErrorService.ts +158 -0
- package/src/services/internal/FetcherService.ts +94 -80
- package/src/services/public/AuthService.ts +97 -0
- package/src/services/public/TweetService.ts +45 -10
- package/src/services/public/UserService.ts +7 -5
- package/src/types/ErrorHandler.ts +13 -0
- package/src/types/RettiwtConfig.ts +40 -0
- package/src/types/args/TweetMediaArgs.ts +16 -0
- package/dist/enums/ApiErrors.js.map +0 -1
- package/dist/enums/HTTP.d.ts +0 -17
- package/dist/enums/HTTP.js +0 -22
- package/dist/enums/HTTP.js.map +0 -1
- package/dist/models/internal/RettiwtConfig.d.ts +0 -18
- package/dist/models/internal/RettiwtConfig.js +0 -24
- package/dist/models/internal/RettiwtConfig.js.map +0 -1
- package/dist/models/public/CursoredData.js.map +0 -1
- package/dist/models/public/List.d.ts +0 -22
- package/dist/models/public/List.js.map +0 -1
- package/dist/models/public/Tweet.d.ts +0 -62
- package/dist/models/public/Tweet.js.map +0 -1
- package/dist/models/public/User.d.ts +0 -29
- package/dist/models/public/User.js.map +0 -1
- package/dist/types/internal/RettiwtConfig.d.ts +0 -15
- package/dist/types/internal/RettiwtConfig.js.map +0 -1
- package/dist/types/public/CursoredData.d.ts +0 -22
- package/dist/types/public/CursoredData.js.map +0 -1
- package/dist/types/public/List.js +0 -3
- package/dist/types/public/List.js.map +0 -1
- package/dist/types/public/Tweet.js +0 -3
- package/dist/types/public/Tweet.js.map +0 -1
- package/dist/types/public/User.js.map +0 -1
- package/src/enums/HTTP.ts +0 -17
- package/src/models/internal/RettiwtConfig.ts +0 -26
- package/src/types/internal/RettiwtConfig.ts +0 -18
- package/src/types/public/CursoredData.ts +0 -24
- package/src/types/public/List.ts +0 -27
- package/src/types/public/Tweet.ts +0 -86
- package/src/types/public/User.ts +0 -48
- /package/dist/enums/{ApiErrors.d.ts → Api.d.ts} +0 -0
- /package/dist/models/{public → data}/List.js +0 -0
- /package/dist/models/{public → data}/User.js +0 -0
- /package/dist/types/{internal/RettiwtConfig.js → RettiwtConfig.js} +0 -0
- /package/src/enums/{ApiErrors.ts → Api.ts} +0 -0
package/.eslintrc.js
CHANGED
|
@@ -34,6 +34,11 @@ module.exports = {
|
|
|
34
34
|
selector: ['variableLike', 'memberLike'],
|
|
35
35
|
format: ['camelCase'],
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
selector: ['variableLike', 'memberLike'],
|
|
39
|
+
modifiers: ['static', 'readonly'],
|
|
40
|
+
format: ['UPPER_CASE'],
|
|
41
|
+
},
|
|
37
42
|
{
|
|
38
43
|
selector: 'enumMember',
|
|
39
44
|
format: ['UPPER_CASE'],
|
package/.prettierrc
CHANGED
package/README.md
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
# Rettiwt-API
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A CLI tool and an API for fetching data from Twitter for free!
|
|
4
4
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
7
7
|
- NodeJS 20.10.0
|
|
8
|
-
- A working Twitter account
|
|
8
|
+
- A working Twitter account (optional)
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
It is recommended to install the package globally. Use the following steps to install the package and ensure it's installed correctly:
|
|
13
|
+
|
|
14
|
+
1. Open a terminal.
|
|
15
|
+
2. Install the package using the command `npm install -g rettiwt-api`.
|
|
16
|
+
3. Check if the package is installed correctly using the command `rettiwt help`.
|
|
17
|
+
|
|
18
|
+
## Authentication
|
|
11
19
|
|
|
12
|
-
Rettiwt can be used with or without logging in to Twitter. As such, the two authentication strategies are:
|
|
20
|
+
Rettiwt-API can be used with or without logging in to Twitter. As such, the two authentication strategies are:
|
|
13
21
|
|
|
14
22
|
- 'guest' authentication (without logging in) grants access to the following resources:
|
|
15
23
|
|
|
@@ -32,37 +40,18 @@ Rettiwt can be used with or without logging in to Twitter. As such, the two auth
|
|
|
32
40
|
- User Timeline (tweets timeline)
|
|
33
41
|
- User Replies (replies timeline)
|
|
34
42
|
|
|
35
|
-
|
|
43
|
+
By default, Rettiwt-API uses 'guest' authentication. If however, access to the full set of resources is required, 'user' authentication can be used, which requires the following additional steps post-installtion:
|
|
36
44
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- Please skip to 'CLI-Usage' section for details.
|
|
45
|
+
1. Open a terminal.
|
|
46
|
+
2. Generate an API_KEY using the command `rettiwt auth login <email> <username> <password>`
|
|
40
47
|
|
|
41
|
-
|
|
48
|
+
Here,
|
|
42
49
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
- For yarn, use the command `yarn add rettiwt-api`
|
|
50
|
+
- `<email>` is the email of the Twitter account to be used for authentication.
|
|
51
|
+
- `<username>` is the username associated with the Twitter account.
|
|
52
|
+
- `<password>` is the password to the Twitter account.
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## Getting started
|
|
51
|
-
|
|
52
|
-
1. Generate credentials using the command `npx rettiwt auth login <email> <username> <password>` in a terminal in the root of your project.
|
|
53
|
-
2. The generated string is the API_KEY.
|
|
54
|
-
3. Create a new instance of Rettiwt, passing in the API key as a config object:
|
|
55
|
-
`const rettiwt = Rettiwt({ apiKey: API_KEY });`
|
|
56
|
-
The available options in the config object can be found [here](https://rishikant181.github.io/Rettiwt-API/classes/RettiwtConfig.html).
|
|
57
|
-
4. Use the created [Rettiwt](https://rishikant181.github.io/Rettiwt-API/classes/Rettiwt.html) instance to fetch data from Twitter.
|
|
58
|
-
|
|
59
|
-
**Notes:**
|
|
60
|
-
|
|
61
|
-
- The API_KEY that we generated, is a very sensitive information and provides all access to the Twitter account. Therefore, it is generally recommended to store it as an environment variable and use it from there.
|
|
62
|
-
|
|
63
|
-
- The given example above uses 'user' authentication by using an API_KEY generated from the Twitter account.
|
|
64
|
-
|
|
65
|
-
- It's also possible to use this package without using a Twitter account, by omitting the 'apiKey' parameter in the config object. However, in this case, 'guest' authentication is used.
|
|
54
|
+
3. The string returned after running the command is the API_KEY. Store it in a secure place for later use.
|
|
66
55
|
|
|
67
56
|
## The API_KEY
|
|
68
57
|
|
|
@@ -75,16 +64,44 @@ The API_KEY generated by logging in is what allows Rettiwt-API to authenticate a
|
|
|
75
64
|
- Therefore, it is recommended to generate the API_KEY only once, then use it every time it is needed.
|
|
76
65
|
- Do not generate an API_KEY if it has not expired yet!
|
|
77
66
|
|
|
67
|
+
## Notes for non-programmers
|
|
68
|
+
|
|
69
|
+
- If you have no idea of programming, it's recommended to use the CLI.
|
|
70
|
+
- The CLI provides an easy to use interface which does not require any knowledge of JavaScript or programming
|
|
71
|
+
- Please skip to [CLI-Usage](https://rishikant181.github.io/Rettiwt-API/#md:cli-usage) for details.
|
|
72
|
+
|
|
73
|
+
## Usage as a dependency
|
|
74
|
+
|
|
75
|
+
Rettiwt-API can be used as a dependency for your NodeJS project. In such a case, it is not required to install Rettiwt-API globally and you may install it locally in the root of your project using the command:
|
|
76
|
+
|
|
77
|
+
- `npm install --save rettiwt-api` (using npm)
|
|
78
|
+
|
|
79
|
+
or
|
|
80
|
+
|
|
81
|
+
- `yarn add rettiwt-api` (using yarn)
|
|
82
|
+
|
|
83
|
+
However, in this case, for accessing the CLI, you will be required to prepend the CLI commands with `npx` in order to tell NodeJS to use the locally installed package.
|
|
84
|
+
|
|
85
|
+
For example, for generating the API_KEY, the command will be modified as follows:
|
|
86
|
+
|
|
87
|
+
`npx rettiwt auth login <email> <username> <password>`
|
|
88
|
+
|
|
78
89
|
## The Rettiwt class
|
|
79
90
|
|
|
80
|
-
|
|
91
|
+
When used as a dependency, the [Rettiwt](https://rishikant181.github.io/Rettiwt-API/classes/Rettiwt.html) class is entry point for accessing the Twitter API.
|
|
81
92
|
|
|
82
|
-
|
|
93
|
+
A new Rettiwt instance can be initialized using the following code snippets:
|
|
83
94
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
95
|
+
- `const rettiwt = new Rettiwt()` (for 'guest' authentication)
|
|
96
|
+
- `const rettiwt = new Rettiwt({ apiKey: API_KEY })` (for 'user' authentication)
|
|
86
97
|
|
|
87
|
-
|
|
98
|
+
The Rettiwt class has three members:
|
|
99
|
+
|
|
100
|
+
- `auth` memeber, for managing authentication
|
|
101
|
+
- `tweet` member, for accessing resources related to tweets
|
|
102
|
+
- `user` member, for accessing resources related to users
|
|
103
|
+
|
|
104
|
+
For details regarding usage of these members for accessing the Twitter API, refer to [Features](https://rishikant181.github.io/Rettiwt-API/#md:features).
|
|
88
105
|
|
|
89
106
|
## Usage
|
|
90
107
|
|
|
@@ -93,10 +110,11 @@ The following examples may help you to get started using the library:
|
|
|
93
110
|
### 1. Getting the details of a target Twitter user
|
|
94
111
|
|
|
95
112
|
```js
|
|
96
|
-
|
|
113
|
+
import { Rettiwt } from 'rettiwt-api';
|
|
97
114
|
|
|
98
|
-
// Creating a new Rettiwt instance
|
|
99
|
-
|
|
115
|
+
// Creating a new Rettiwt instance
|
|
116
|
+
// Note that for accessing user details, 'guest' authentication can be used
|
|
117
|
+
const rettiwt = new Rettiwt();
|
|
100
118
|
|
|
101
119
|
// Fetching the details of the user whose username is <username>
|
|
102
120
|
rettiwt.user.details('<username>')
|
|
@@ -111,7 +129,7 @@ rettiwt.user.details('<username>')
|
|
|
111
129
|
### 2. Getting the list of tweets that match a given filter
|
|
112
130
|
|
|
113
131
|
```js
|
|
114
|
-
|
|
132
|
+
import { Rettiwt } from 'rettiwt-api';
|
|
115
133
|
|
|
116
134
|
// Creating a new Rettiwt instance using the API_KEY
|
|
117
135
|
const rettiwt = new Rettiwt({ apiKey: API_KEY });
|
|
@@ -133,12 +151,14 @@ rettiwt.tweet.search({
|
|
|
133
151
|
});
|
|
134
152
|
```
|
|
135
153
|
|
|
154
|
+
For more information regarding the different available filter options, please refer to [TweetFilter](https://rishikant181.github.io/Rettiwt-API/classes/TweetFilter.html).
|
|
155
|
+
|
|
136
156
|
### 3. Getting the next batch of data using a cursor
|
|
137
157
|
|
|
138
158
|
The previous example fetches the the list of tweets matching the given filter. Since no count is specified, in this case, a default of 20 such Tweets are fetched initially. The following example demonstrates how to use the [cursor string](https://rishikant181.github.io/Rettiwt-API/classes/Cursor.html#value) obtained from the [response](https://rishikant181.github.io/Rettiwt-API/classes/CursoredData.html) object's [next](https://rishikant181.github.io/Rettiwt-API/classes/CursoredData.html#next) field, from the previous example, to fetch the next batch of tweets:
|
|
139
159
|
|
|
140
160
|
```js
|
|
141
|
-
|
|
161
|
+
import { Rettiwt } from 'rettiwt-api';
|
|
142
162
|
|
|
143
163
|
// Creating a new Rettiwt instance using the API_KEY
|
|
144
164
|
const rettiwt = new Rettiwt({ apiKey: API_KEY });
|
|
@@ -162,7 +182,32 @@ rettiwt.tweet.search({
|
|
|
162
182
|
});
|
|
163
183
|
```
|
|
164
184
|
|
|
165
|
-
|
|
185
|
+
### 4. Getting an API_KEY during runtime, using 'user' authentication
|
|
186
|
+
|
|
187
|
+
Sometimes, you might want to generate an API_KEY on the fly, in situations such as implementing Twitter login in your application. The following example demonstrates how to generate an API_KEY during runtime:
|
|
188
|
+
|
|
189
|
+
```js
|
|
190
|
+
import { Rettiwt } from 'rettiwt-api';
|
|
191
|
+
|
|
192
|
+
// Creating a new Rettiwt instance
|
|
193
|
+
const rettiwt = new Rettiwt();
|
|
194
|
+
|
|
195
|
+
// Logging in an getting the API_KEY
|
|
196
|
+
rettiwt.auth.login('<email>', '<username>', '<password>')
|
|
197
|
+
.then(apiKey => {
|
|
198
|
+
// Use the API_KEY
|
|
199
|
+
...
|
|
200
|
+
})
|
|
201
|
+
.catch(err => {
|
|
202
|
+
console.log(err);
|
|
203
|
+
});
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Where,
|
|
207
|
+
|
|
208
|
+
- `<email>` is the email associated with the Twitter account to be logged into.
|
|
209
|
+
- `<username>` is the username associated with the Twitter account.
|
|
210
|
+
- `<password>` is the password to the Twitter account.
|
|
166
211
|
|
|
167
212
|
## Using a proxy
|
|
168
213
|
|
|
@@ -172,11 +217,28 @@ For masking of IP address using a proxy server, use the following code snippet f
|
|
|
172
217
|
/**
|
|
173
218
|
* PROXY_URL is the URL or configuration for the proxy server you want to use.`
|
|
174
219
|
*/
|
|
175
|
-
const rettiwt = Rettiwt({ apiKey: API_KEY, proxyUrl: PROXY_URL });
|
|
220
|
+
const rettiwt = new Rettiwt({ apiKey: API_KEY, proxyUrl: PROXY_URL });
|
|
176
221
|
```
|
|
177
222
|
|
|
178
223
|
This creates a Rettiwt instance which uses the given proxy server for making requests to Twitter.
|
|
179
224
|
|
|
225
|
+
## Cloud environment
|
|
226
|
+
|
|
227
|
+
When using this library in an application deployed in a cloud environment, the library might throw error 429, even when under rate limits. This happens because Twitter's v1.1 API endpoints seemingly blocks access from cloud services' IP ranges. These v1.1 API endpoints are the ones used for authentication and as such, authentication tasks are blocked while deployed on cloud environments.
|
|
228
|
+
|
|
229
|
+
This issue can be bypassed by using a proxy only for authentication, using the following code snippet for creating a new Rettiwt instance:
|
|
230
|
+
|
|
231
|
+
`const rettiwt = new Rettiwt({ authProxyUrl: PROXY_URL });`
|
|
232
|
+
|
|
233
|
+
Where,
|
|
234
|
+
|
|
235
|
+
- `PROXY_URL` is the URL to the proxy server to use.
|
|
236
|
+
|
|
237
|
+
Authentication proxy is required only in the following two scenarios:
|
|
238
|
+
|
|
239
|
+
1. While using 'guest' authentication.
|
|
240
|
+
2. While creating API_KEY by 'user' authentication.
|
|
241
|
+
|
|
180
242
|
## Debug logs
|
|
181
243
|
|
|
182
244
|
Sometimes, when the library shows unexpected behaviour, for troubleshooting purposes, debug logs can be enabled which will help in tracking down the issue and working on a potential fix. Currently, debug logs are printed to the console and are enabled by setting the 'logging' property of the config to true, while creating an instance of Rettiwt:
|
|
@@ -185,13 +247,18 @@ Sometimes, when the library shows unexpected behaviour, for troubleshooting purp
|
|
|
185
247
|
/**
|
|
186
248
|
* By default, is no value for 'logging' is supplied, logging is disabled.
|
|
187
249
|
*/
|
|
188
|
-
const rettiwt = Rettiwt({ apiKey: API_KEY, logging: true });
|
|
250
|
+
const rettiwt = new Rettiwt({ apiKey: API_KEY, logging: true });
|
|
189
251
|
```
|
|
190
252
|
|
|
191
253
|
## Features
|
|
192
254
|
|
|
193
255
|
So far, the following operations are supported:
|
|
194
256
|
|
|
257
|
+
### Authentication
|
|
258
|
+
|
|
259
|
+
- [Logging in as user](https://rishikant181.github.io/Rettiwt-API/classes/AuthService.html#login)
|
|
260
|
+
- [Logging in as guest](https://rishikant181.github.io/Rettiwt-API/classes/AuthService.html#guest)
|
|
261
|
+
|
|
195
262
|
### Tweets
|
|
196
263
|
|
|
197
264
|
- [Getting the details of a tweet](https://rishikant181.github.io/Rettiwt-API/classes/TweetService.html#details)
|
|
@@ -214,36 +281,27 @@ So far, the following operations are supported:
|
|
|
214
281
|
|
|
215
282
|
## CLI Usage
|
|
216
283
|
|
|
217
|
-
Rettiwt-API
|
|
218
|
-
|
|
219
|
-
### Installation
|
|
220
|
-
|
|
221
|
-
1. Install the recommended version of NodeJS specified in the 'Prerequisites' section.
|
|
222
|
-
2. Open a terminal.
|
|
223
|
-
3. Install the package globally using the command `npm install -g rettiwt-api`.
|
|
224
|
-
4. Use the command `rettiwt help` to ensure that the package has been installed correctly.
|
|
225
|
-
|
|
226
|
-
### Authentication
|
|
284
|
+
Rettiwt-API provides an easy to use command-line interface which does not require any programming knowledge.
|
|
227
285
|
|
|
228
286
|
By default, the CLI operates in 'guest' authentication. If you want to use 'user' authentication:
|
|
229
287
|
|
|
230
|
-
1. Generate an API_KEY
|
|
288
|
+
1. Generate an API_KEY as described in [Authentication](https://rishikant181.github.io/Rettiwt-API/#md:authentication).
|
|
231
289
|
2. Store the output API_KEY as an environment variable with the name 'API_KEY'.
|
|
232
|
-
-
|
|
290
|
+
- Additionally, store the API_KEY in a file for later use.
|
|
233
291
|
- Make sure to generate an API_KEY only once, and use it every time you need it.
|
|
234
292
|
3. The CLI automatically reads this environment variable to authenticate against Twitter.
|
|
235
|
-
-
|
|
293
|
+
- Additionally, the API_KEY can also be passed in manually using the '-k' option as follows: `rettiwt -k <API_KEY> <command>`
|
|
236
294
|
|
|
237
|
-
|
|
295
|
+
Help for the CLI can be obtained from the CLI itself:
|
|
238
296
|
|
|
239
297
|
- For help regarding the available commands, use the command `rettiwt help`
|
|
240
298
|
- For help regarding a specific command, use the command `rettiwt help <command_name>`
|
|
241
299
|
|
|
242
300
|
## API Reference
|
|
243
301
|
|
|
244
|
-
The complete API reference can be found at [this](https://rishikant181.github.io/Rettiwt-API/) page.
|
|
302
|
+
The complete API reference can be found at [this](https://rishikant181.github.io/Rettiwt-API/modules) page.
|
|
245
303
|
|
|
246
304
|
## Additional information
|
|
247
305
|
|
|
248
|
-
- This API uses the cookies of a Twitter account to fetch data from Twitter and as such, there is always a chance (
|
|
306
|
+
- This API uses the cookies of a Twitter account to fetch data from Twitter and as such, there is always a chance (although a measly one) of getting the account banned by Twitter algorithm.
|
|
249
307
|
- There have been no reports of accounts getting banned, but you have been warned, even though the chances of getting banned is negligible, it is not zero!
|
package/dist/Rettiwt.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { AuthService } from './services/public/AuthService';
|
|
1
2
|
import { TweetService } from './services/public/TweetService';
|
|
2
3
|
import { UserService } from './services/public/UserService';
|
|
3
|
-
import {
|
|
4
|
+
import { IRettiwtConfig } from './types/RettiwtConfig';
|
|
4
5
|
/**
|
|
5
6
|
* The class for accessing Twitter API.
|
|
6
7
|
*
|
|
7
8
|
* The created Rettiwt instance can be configured by passing in a configuration object to the constructor.
|
|
8
9
|
*
|
|
9
|
-
* For details regarding the available configuration options, refer to {@link
|
|
10
|
+
* For details regarding the available configuration options, refer to {@link IRettiwtConfig}
|
|
10
11
|
*
|
|
11
12
|
* @example Creating a Rettiwt instance with 'guest' authentication:
|
|
12
13
|
* ```
|
|
@@ -37,12 +38,14 @@ import { RettiwtConfig } from './models/internal/RettiwtConfig';
|
|
|
37
38
|
* import { Rettiwt } from 'rettiwt-api';
|
|
38
39
|
*
|
|
39
40
|
* // Creating a new Rettiwt instance
|
|
40
|
-
* const rettiwt = new Rettiwt({ apiKey: 'API_KEY',
|
|
41
|
+
* const rettiwt = new Rettiwt({ apiKey: 'API_KEY', logging: true, proxyUrl: 'URL_TO_PROXY_SERVER' });
|
|
41
42
|
* ```
|
|
42
43
|
*
|
|
43
44
|
* @public
|
|
44
45
|
*/
|
|
45
46
|
export declare class Rettiwt {
|
|
47
|
+
/** The instance used to authenticate. */
|
|
48
|
+
auth: AuthService;
|
|
46
49
|
/** The instance used to fetch data related to tweets. */
|
|
47
50
|
tweet: TweetService;
|
|
48
51
|
/** The instance used to fetch data related to users. */
|
|
@@ -52,5 +55,5 @@ export declare class Rettiwt {
|
|
|
52
55
|
*
|
|
53
56
|
* @param config - The config object for configuring the Rettiwt instance.
|
|
54
57
|
*/
|
|
55
|
-
constructor(config?:
|
|
58
|
+
constructor(config?: IRettiwtConfig);
|
|
56
59
|
}
|
package/dist/Rettiwt.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Rettiwt = void 0;
|
|
4
4
|
// SERVICES
|
|
5
|
+
var AuthService_1 = require("./services/public/AuthService");
|
|
5
6
|
var TweetService_1 = require("./services/public/TweetService");
|
|
6
7
|
var UserService_1 = require("./services/public/UserService");
|
|
7
8
|
/**
|
|
@@ -9,7 +10,7 @@ var UserService_1 = require("./services/public/UserService");
|
|
|
9
10
|
*
|
|
10
11
|
* The created Rettiwt instance can be configured by passing in a configuration object to the constructor.
|
|
11
12
|
*
|
|
12
|
-
* For details regarding the available configuration options, refer to {@link
|
|
13
|
+
* For details regarding the available configuration options, refer to {@link IRettiwtConfig}
|
|
13
14
|
*
|
|
14
15
|
* @example Creating a Rettiwt instance with 'guest' authentication:
|
|
15
16
|
* ```
|
|
@@ -40,7 +41,7 @@ var UserService_1 = require("./services/public/UserService");
|
|
|
40
41
|
* import { Rettiwt } from 'rettiwt-api';
|
|
41
42
|
*
|
|
42
43
|
* // Creating a new Rettiwt instance
|
|
43
|
-
* const rettiwt = new Rettiwt({ apiKey: 'API_KEY',
|
|
44
|
+
* const rettiwt = new Rettiwt({ apiKey: 'API_KEY', logging: true, proxyUrl: 'URL_TO_PROXY_SERVER' });
|
|
44
45
|
* ```
|
|
45
46
|
*
|
|
46
47
|
* @public
|
|
@@ -52,6 +53,7 @@ var Rettiwt = /** @class */ (function () {
|
|
|
52
53
|
* @param config - The config object for configuring the Rettiwt instance.
|
|
53
54
|
*/
|
|
54
55
|
function Rettiwt(config) {
|
|
56
|
+
this.auth = new AuthService_1.AuthService(config);
|
|
55
57
|
this.tweet = new TweetService_1.TweetService(config);
|
|
56
58
|
this.user = new UserService_1.UserService(config);
|
|
57
59
|
}
|
package/dist/Rettiwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rettiwt.js","sourceRoot":"","sources":["../src/Rettiwt.ts"],"names":[],"mappings":";;;AAAA,WAAW;AACX,+DAA8D;AAC9D,6DAA4D;AAK5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH;
|
|
1
|
+
{"version":3,"file":"Rettiwt.js","sourceRoot":"","sources":["../src/Rettiwt.ts"],"names":[],"mappings":";;;AAAA,WAAW;AACX,6DAA4D;AAC5D,+DAA8D;AAC9D,6DAA4D;AAK5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH;IAUC;;;;OAIG;IACH,iBAAmB,MAAuB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACF,cAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,0BAAO"}
|
package/dist/cli.js
CHANGED
|
@@ -33,7 +33,7 @@ var rettiwt = new Rettiwt_1.Rettiwt({
|
|
|
33
33
|
// Adding sub-commands
|
|
34
34
|
program.addCommand((0, Tweet_1.default)(rettiwt));
|
|
35
35
|
program.addCommand((0, User_1.default)(rettiwt));
|
|
36
|
-
program.addCommand((0, Auth_1.default)());
|
|
36
|
+
program.addCommand((0, Auth_1.default)(rettiwt));
|
|
37
37
|
// Finalizing the CLI
|
|
38
38
|
program.parse();
|
|
39
39
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;AAEA,WAAW;AACX,uCAA0C;AAC1C,qCAAoC;AAEpC,eAAe;AACf,2DAAqC;AACrC,yDAAmC;AACnC,yDAAmC;AAEnC,qCAAqC;AACrC,IAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,SAAS,CAAC;KACtC,WAAW,CAAC,oDAAoD,CAAC;KACjE,kBAAkB,EAAE;KACpB,uBAAuB,EAAE,CAAC;AAE5B,iBAAiB;AACjB,OAAO;KACL,MAAM,CAAC,oBAAoB,EAAE,uCAAuC,CAAC;KACrE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;AAEhE,8CAA8C;AAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,wDAAwD;AACxD,IAAM,OAAO,GAAY,IAAI,iBAAO,CAAC;IACpC,MAAM,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,mCAAK,OAAO,CAAC,IAAI,EAAE,CAAC,GAAc;IAC7D,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;IAC1C,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAY;CACrC,CAAC,CAAC;AAEH,sBAAsB;AACtB,OAAO,CAAC,UAAU,CAAC,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,cAAI,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;AAEA,WAAW;AACX,uCAA0C;AAC1C,qCAAoC;AAEpC,eAAe;AACf,2DAAqC;AACrC,yDAAmC;AACnC,yDAAmC;AAEnC,qCAAqC;AACrC,IAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,SAAS,CAAC;KACtC,WAAW,CAAC,oDAAoD,CAAC;KACjE,kBAAkB,EAAE;KACpB,uBAAuB,EAAE,CAAC;AAE5B,iBAAiB;AACjB,OAAO;KACL,MAAM,CAAC,oBAAoB,EAAE,uCAAuC,CAAC;KACrE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;AAEhE,8CAA8C;AAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,wDAAwD;AACxD,IAAM,OAAO,GAAY,IAAI,iBAAO,CAAC;IACpC,MAAM,EAAE,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,mCAAK,OAAO,CAAC,IAAI,EAAE,CAAC,GAAc;IAC7D,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;IAC1C,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,KAAY;CACrC,CAAC,CAAC;AAEH,sBAAsB;AACtB,OAAO,CAAC,UAAU,CAAC,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,cAAI,EAAC,OAAO,CAAC,CAAC,CAAC;AAElC,qBAAqB;AACrB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/commands/Auth.d.ts
CHANGED
package/dist/commands/Auth.js
CHANGED
|
@@ -38,10 +38,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
// PACKAGES
|
|
40
40
|
var commander_1 = require("commander");
|
|
41
|
-
var rettiwt_auth_1 = require("rettiwt-auth");
|
|
42
41
|
// UTILITY
|
|
43
42
|
var CliUtils_1 = require("../helper/CliUtils");
|
|
44
|
-
function createAuthCommand() {
|
|
43
|
+
function createAuthCommand(rettiwt) {
|
|
45
44
|
var _this = this;
|
|
46
45
|
// Creating the 'auth' command
|
|
47
46
|
var auth = (0, commander_1.createCommand)('auth').description('Manage authentication');
|
|
@@ -53,14 +52,11 @@ function createAuthCommand() {
|
|
|
53
52
|
.argument('<password>', 'The password to the Twitter account')
|
|
54
53
|
.action(function (email, username, password) { return __awaiter(_this, void 0, void 0, function () {
|
|
55
54
|
var apiKey;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
case 0: return [4 /*yield*/, new rettiwt_auth_1.Auth().getUserCredential({ email: email, userName: username, password: password })];
|
|
55
|
+
return __generator(this, function (_a) {
|
|
56
|
+
switch (_a.label) {
|
|
57
|
+
case 0: return [4 /*yield*/, rettiwt.auth.login(email, username, password)];
|
|
60
58
|
case 1:
|
|
61
|
-
apiKey =
|
|
62
|
-
// Converting the credentials to base64 string
|
|
63
|
-
apiKey = Buffer.from(apiKey).toString('base64');
|
|
59
|
+
apiKey = _a.sent();
|
|
64
60
|
(0, CliUtils_1.output)(apiKey);
|
|
65
61
|
return [2 /*return*/];
|
|
66
62
|
}
|
|
@@ -68,17 +64,14 @@ function createAuthCommand() {
|
|
|
68
64
|
}); });
|
|
69
65
|
// Guest
|
|
70
66
|
auth.command('guest')
|
|
71
|
-
.description('Generate a new guest
|
|
67
|
+
.description('Generate a new guest key')
|
|
72
68
|
.action(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
73
69
|
var guestKey;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
case 0: return [4 /*yield*/, new rettiwt_auth_1.Auth().getGuestCredential()];
|
|
70
|
+
return __generator(this, function (_a) {
|
|
71
|
+
switch (_a.label) {
|
|
72
|
+
case 0: return [4 /*yield*/, rettiwt.auth.guest()];
|
|
78
73
|
case 1:
|
|
79
|
-
guestKey =
|
|
80
|
-
// Converting the credentials to base64 string
|
|
81
|
-
guestKey = Buffer.from(guestKey).toString('base64');
|
|
74
|
+
guestKey = _a.sent();
|
|
82
75
|
(0, CliUtils_1.output)(guestKey);
|
|
83
76
|
return [2 /*return*/];
|
|
84
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/commands/Auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,uCAAmD;
|
|
1
|
+
{"version":3,"file":"Auth.js","sourceRoot":"","sources":["../../src/commands/Auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,uCAAmD;AAGnD,UAAU;AACV,+CAA4C;AAE5C,SAAS,iBAAiB,CAAC,OAAgB;IAA3C,iBAwBC;IAvBA,8BAA8B;IAC9B,IAAM,IAAI,GAAG,IAAA,yBAAa,EAAC,MAAM,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAExE,QAAQ;IACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACnB,WAAW,CAAC,gEAAgE,CAAC;SAC7E,QAAQ,CAAC,SAAS,EAAE,qCAAqC,CAAC;SAC1D,QAAQ,CAAC,YAAY,EAAE,kDAAkD,CAAC;SAC1E,QAAQ,CAAC,YAAY,EAAE,qCAAqC,CAAC;SAC7D,MAAM,CAAC,UAAO,KAAa,EAAE,QAAgB,EAAE,QAAgB;;;;wBACxC,qBAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAA;;oBAApE,MAAM,GAAW,SAAmD;oBAC1E,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAC;;;;SACf,CAAC,CAAC;IAEJ,QAAQ;IACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACnB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC;;;;wBACkB,qBAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAA;;oBAA7C,QAAQ,GAAW,SAA0B;oBACnD,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC;;;;SACjB,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAC;AACb,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
|
package/dist/commands/Tweet.js
CHANGED
|
@@ -77,7 +77,17 @@ function createTweetCommand(rettiwt) {
|
|
|
77
77
|
.option('-f, --from <string>', "Matches the tweets made by list of given users, separated by ';'")
|
|
78
78
|
.option('-t, --to <string>', "Matches the tweets made to the list of given users, separated by ';'")
|
|
79
79
|
.option('-w, --words <string>', "Matches the tweets containing the given list of words, separated by ';'")
|
|
80
|
+
.option('-p, --phrase <string>', 'Matches the tweets containing the exact phrase')
|
|
81
|
+
.option('--optional-words <string>', "Matches the tweets containing any of the given list of words, separated by ';'")
|
|
82
|
+
.option('--exclude-words <string>', "Matches the tweets that do not contain any of the give list of words, separated by ';'")
|
|
80
83
|
.option('-h, --hashtags <string>', "Matches the tweets containing the given list of hashtags, separated by ';'")
|
|
84
|
+
.option('-m, --mentions <string>', "Matches the tweets that mention the give list of usernames, separated by ';'")
|
|
85
|
+
.option('-r, --min-replies <number>', 'Matches the tweets that have a minimum of given number of replies')
|
|
86
|
+
.option('-l, --min-likes <number>', 'Matches the tweets that have a minimum of given number of likes')
|
|
87
|
+
.option('-x, --min-retweets <number>', 'Matches the tweets that have a minimum of given number of retweets')
|
|
88
|
+
.option('-q, --quoted <string>', 'Matches the tweets that quote the tweet with the given id')
|
|
89
|
+
.option('--exclude-links', 'Matches tweets that do not contain links')
|
|
90
|
+
.option('--exclude-replies', 'Matches the tweets that are not replies')
|
|
81
91
|
.option('-s, --start <string>', 'Matches the tweets made since the given date (valid date string)')
|
|
82
92
|
.option('-e, --end <string>', 'Matches the tweets made upto the given date (valid date string)')
|
|
83
93
|
.action(function (count, cursor, options) { return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -154,11 +164,12 @@ function createTweetCommand(rettiwt) {
|
|
|
154
164
|
.command('post')
|
|
155
165
|
.description('Post a tweet (text only)')
|
|
156
166
|
.argument('<text>', 'The text to post as a tweet')
|
|
157
|
-
.
|
|
167
|
+
.option('-m, --media [string]', "The path to the media item(s) to be posted, separated by ';'")
|
|
168
|
+
.action(function (text, options) { return __awaiter(_this, void 0, void 0, function () {
|
|
158
169
|
var result;
|
|
159
170
|
return __generator(this, function (_a) {
|
|
160
171
|
switch (_a.label) {
|
|
161
|
-
case 0: return [4 /*yield*/, rettiwt.tweet.tweet(text)];
|
|
172
|
+
case 0: return [4 /*yield*/, rettiwt.tweet.tweet(text, (options === null || options === void 0 ? void 0 : options.media) ? options === null || options === void 0 ? void 0 : options.media.split(';').map(function (item) { return ({ path: item }); }) : undefined)];
|
|
162
173
|
case 1:
|
|
163
174
|
result = _a.sent();
|
|
164
175
|
(0, CliUtils_1.output)(result);
|
|
@@ -214,10 +225,22 @@ var TweetSearchOptions = /** @class */ (function () {
|
|
|
214
225
|
* @param options - The search options.
|
|
215
226
|
*/
|
|
216
227
|
function TweetSearchOptions(options) {
|
|
228
|
+
this.excludeLinks = false;
|
|
229
|
+
this.excludeReplies = false;
|
|
217
230
|
this.from = options === null || options === void 0 ? void 0 : options.from;
|
|
218
231
|
this.to = options === null || options === void 0 ? void 0 : options.to;
|
|
219
232
|
this.words = options === null || options === void 0 ? void 0 : options.words;
|
|
233
|
+
this.phrase = options === null || options === void 0 ? void 0 : options.phrase;
|
|
234
|
+
this.optionalWords = options === null || options === void 0 ? void 0 : options.optionalWords;
|
|
235
|
+
this.excludeWords = options === null || options === void 0 ? void 0 : options.excludeWords;
|
|
220
236
|
this.hashtags = options === null || options === void 0 ? void 0 : options.hashtags;
|
|
237
|
+
this.mentions = options === null || options === void 0 ? void 0 : options.mentions;
|
|
238
|
+
this.minReplies = options === null || options === void 0 ? void 0 : options.minReplies;
|
|
239
|
+
this.minLikes = options === null || options === void 0 ? void 0 : options.minLikes;
|
|
240
|
+
this.minRetweets = options === null || options === void 0 ? void 0 : options.minRetweets;
|
|
241
|
+
this.quoted = options === null || options === void 0 ? void 0 : options.quoted;
|
|
242
|
+
this.excludeLinks = options === null || options === void 0 ? void 0 : options.excludeLinks;
|
|
243
|
+
this.excludeReplies = options === null || options === void 0 ? void 0 : options.excludeReplies;
|
|
221
244
|
this.start = options === null || options === void 0 ? void 0 : options.start;
|
|
222
245
|
this.end = options === null || options === void 0 ? void 0 : options.end;
|
|
223
246
|
}
|
|
@@ -230,8 +253,18 @@ var TweetSearchOptions = /** @class */ (function () {
|
|
|
230
253
|
return new rettiwt_core_1.TweetFilter({
|
|
231
254
|
fromUsers: this.from ? this.from.split(';') : undefined,
|
|
232
255
|
toUsers: this.to ? this.to.split(';') : undefined,
|
|
233
|
-
|
|
256
|
+
includeWords: this.words ? this.words.split(';') : undefined,
|
|
257
|
+
includePhrase: this.phrase,
|
|
258
|
+
optionalWords: this.optionalWords ? this.optionalWords.split(';') : undefined,
|
|
259
|
+
excludeWords: this.excludeWords ? this.excludeWords.split(';') : undefined,
|
|
234
260
|
hashtags: this.hashtags ? this.hashtags.split(';') : undefined,
|
|
261
|
+
mentions: this.mentions ? this.mentions.split(';') : undefined,
|
|
262
|
+
minReplies: this.minReplies,
|
|
263
|
+
minLikes: this.minLikes,
|
|
264
|
+
minRetweets: this.minRetweets,
|
|
265
|
+
quoted: this.quoted,
|
|
266
|
+
links: !this.excludeLinks,
|
|
267
|
+
replies: !this.excludeReplies,
|
|
235
268
|
startDate: this.start ? new Date(this.start) : undefined,
|
|
236
269
|
endDate: this.end ? new Date(this.end) : undefined,
|
|
237
270
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../src/commands/Tweet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,WAAW;AACX,uCAAmD;AAEnD,6CAA2C;AAE3C,UAAU;AACV,+CAA4C;AAE5C;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,OAAgB;IAA5C,
|
|
1
|
+
{"version":3,"file":"Tweet.js","sourceRoot":"","sources":["../../src/commands/Tweet.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,4 +32,4 @@ var EApiErrors;
|
|
|
32
32
|
EApiErrors["TWEET_VIOLATED_RULES"] = "Requestd tweet has been removed for rules violation";
|
|
33
33
|
EApiErrors["DISABLED_TWEET_ACTIONS"] = "Reqeusted action disabled on the tweet";
|
|
34
34
|
})(EApiErrors || (exports.EApiErrors = EApiErrors = {}));
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=Api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/enums/Api.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,IAAY,UAwBX;AAxBD,WAAY,UAAU;IACrB,+DAAiD,CAAA;IACjD,iEAAmD,CAAA;IACnD,2DAA6C,CAAA;IAC7C,yDAA2C,CAAA;IAC3C,kEAAoD,CAAA;IACpD,8DAAgD,CAAA;IAChD,yDAA2C,CAAA;IAC3C,sDAAwC,CAAA;IACxC,6DAA+C,CAAA;IAC/C,2DAA6C,CAAA;IAC7C,6DAA+C,CAAA;IAC/C,6DAA+C,CAAA;IAC/C,+EAAiE,CAAA;IACjE,0EAA4D,CAAA;IAC5D,uDAAyC,CAAA;IACzC,gEAAkD,CAAA;IAClD,kFAAoE,CAAA;IACpE,oEAAsD,CAAA;IACtD,wDAA0C,CAAA;IAC1C,2DAA6C,CAAA;IAC7C,2DAA6C,CAAA;IAC7C,0FAA4E,CAAA;IAC5E,+EAAiE,CAAA;AAClE,CAAC,EAxBW,UAAU,0BAAV,UAAU,QAwBrB"}
|