@pipedream/twitter 2.0.2 → 2.1.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.
Files changed (74) hide show
  1. package/dist/actions/add-user-to-list/add-user-to-list.d.ts +6 -0
  2. package/dist/actions/add-user-to-list/add-user-to-list.mjs +2 -2
  3. package/dist/actions/create-tweet/create-tweet.d.ts +2 -0
  4. package/dist/actions/create-tweet/create-tweet.mjs +2 -2
  5. package/dist/actions/delete-tweet/delete-tweet.d.ts +4 -0
  6. package/dist/actions/delete-tweet/delete-tweet.mjs +2 -2
  7. package/dist/actions/follow-user/follow-user.d.ts +4 -0
  8. package/dist/actions/follow-user/follow-user.mjs +2 -2
  9. package/dist/actions/get-tweet/get-tweet.d.ts +4 -0
  10. package/dist/actions/get-tweet/get-tweet.mjs +2 -2
  11. package/dist/actions/get-user/get-user.d.ts +4 -0
  12. package/dist/actions/get-user/get-user.mjs +2 -2
  13. package/dist/actions/like-tweet/like-tweet.d.ts +4 -0
  14. package/dist/actions/like-tweet/like-tweet.mjs +2 -2
  15. package/dist/actions/list-favorites/list-favorites.d.ts +6 -0
  16. package/dist/actions/list-favorites/list-favorites.mjs +2 -2
  17. package/dist/actions/list-followers/list-followers.d.ts +6 -0
  18. package/dist/actions/list-followers/list-followers.mjs +2 -2
  19. package/dist/actions/list-lists/list-lists.d.ts +6 -0
  20. package/dist/actions/list-lists/list-lists.mjs +2 -2
  21. package/dist/actions/list-mentions/list-mentions.d.ts +6 -0
  22. package/dist/actions/list-mentions/list-mentions.mjs +2 -2
  23. package/dist/actions/list-user-tweets/list-user-tweets.d.ts +6 -0
  24. package/dist/actions/list-user-tweets/list-user-tweets.mjs +2 -2
  25. package/dist/actions/retweet/retweet.d.ts +4 -0
  26. package/dist/actions/retweet/retweet.mjs +2 -2
  27. package/dist/actions/send-dm/send-dm.d.ts +144 -0
  28. package/dist/actions/send-dm/send-dm.mjs +50 -0
  29. package/dist/actions/simple-search/simple-search.d.ts +6 -0
  30. package/dist/actions/simple-search/simple-search.mjs +2 -2
  31. package/dist/actions/simple-search-in-list/simple-search-in-list.d.ts +6 -0
  32. package/dist/actions/simple-search-in-list/simple-search-in-list.mjs +2 -2
  33. package/dist/actions/unfollow-user/unfollow-user.d.ts +4 -0
  34. package/dist/actions/unfollow-user/unfollow-user.mjs +2 -2
  35. package/dist/actions/unlike-tweet/unlike-tweet.d.ts +4 -0
  36. package/dist/actions/unlike-tweet/unlike-tweet.mjs +2 -2
  37. package/dist/actions/upload-media/upload-media.d.ts +2 -0
  38. package/dist/actions/upload-media/upload-media.mjs +1 -1
  39. package/dist/app/twitter.app.d.ts +4 -2
  40. package/dist/app/twitter.app.mjs +20 -5
  41. package/dist/common/dataFields.d.ts +2 -0
  42. package/dist/common/dataFields.mjs +17 -0
  43. package/dist/common/expansions.d.ts +1 -0
  44. package/dist/common/expansions.mjs +6 -0
  45. package/dist/common/methods.d.ts +7 -0
  46. package/dist/common/methods.mjs +21 -2
  47. package/dist/common/types/fields.d.ts +7 -0
  48. package/dist/common/types/requestParams.d.ts +11 -1
  49. package/dist/common/types/responseSchemas.d.ts +11 -1
  50. package/dist/sources/common/base.d.ts +2 -0
  51. package/dist/sources/common/getItemSummary.d.ts +2 -2
  52. package/dist/sources/common/getItemSummary.mjs +3 -3
  53. package/dist/sources/new-follower-of-user/new-follower-of-user.d.ts +4 -0
  54. package/dist/sources/new-follower-of-user/new-follower-of-user.mjs +2 -2
  55. package/dist/sources/new-list-followed/new-list-followed.d.ts +4 -0
  56. package/dist/sources/new-list-followed/new-list-followed.mjs +2 -2
  57. package/dist/sources/new-message/new-message.d.ts +87 -0
  58. package/dist/sources/new-message/new-message.mjs +35 -0
  59. package/dist/sources/new-tweet-in-list/new-tweet-in-list.d.ts +4 -0
  60. package/dist/sources/new-tweet-in-list/new-tweet-in-list.mjs +2 -2
  61. package/dist/sources/new-tweet-liked-by-user/new-tweet-liked-by-user.d.ts +4 -0
  62. package/dist/sources/new-tweet-liked-by-user/new-tweet-liked-by-user.mjs +2 -2
  63. package/dist/sources/new-tweet-metrics/new-tweet-metrics.d.ts +158 -0
  64. package/dist/sources/new-tweet-metrics/new-tweet-metrics.mjs +66 -0
  65. package/dist/sources/new-tweet-posted-by-user/new-tweet-posted-by-user.d.ts +4 -0
  66. package/dist/sources/new-tweet-posted-by-user/new-tweet-posted-by-user.mjs +2 -2
  67. package/dist/sources/new-tweet-posted-matching-query/new-tweet-posted-matching-query.d.ts +4 -0
  68. package/dist/sources/new-tweet-posted-matching-query/new-tweet-posted-matching-query.mjs +2 -2
  69. package/dist/sources/new-unfollower-of-user/new-unfollower-of-user.d.ts +4 -0
  70. package/dist/sources/new-unfollower-of-user/new-unfollower-of-user.mjs +2 -2
  71. package/dist/sources/new-user-followed/new-user-followed.d.ts +4 -0
  72. package/dist/sources/new-user-followed/new-user-followed.mjs +2 -2
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +1 -1
@@ -13,6 +13,7 @@ declare const _default: import("@pipedream/types").Action<unknown, {
13
13
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
14
14
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
15
15
  getAuthenticatedUserId(): Promise<string>;
16
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
16
17
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
17
18
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
18
19
  getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
@@ -25,6 +26,7 @@ declare const _default: import("@pipedream/types").Action<unknown, {
25
26
  getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
26
27
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
27
28
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
29
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
28
30
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
29
31
  unlikeTweet({ tweetId, ...args }: UnlikeTweetParams): Promise<object>;
30
32
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -76,6 +78,7 @@ declare const _default: import("@pipedream/types").Action<unknown, {
76
78
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
77
79
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
78
80
  getAuthenticatedUserId(): Promise<string>;
81
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
79
82
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
80
83
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
81
84
  getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
@@ -88,6 +91,7 @@ declare const _default: import("@pipedream/types").Action<unknown, {
88
91
  getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
89
92
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
90
93
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
94
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
91
95
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
92
96
  unlikeTweet({ tweetId, ...args }: UnlikeTweetParams): Promise<object>;
93
97
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -5,8 +5,8 @@ const DOCS_LINK = "https://developer.twitter.com/en/docs/twitter-api/tweets/like
5
5
  export default defineAction({
6
6
  key: "twitter-unlike-tweet",
7
7
  name: "Unlike Tweet",
8
- description: `Unlike a tweet specified by its ID. [See docs here](${DOCS_LINK})`,
9
- version: "2.0.1",
8
+ description: `Unlike a tweet specified by its ID. [See the documentation](${DOCS_LINK})`,
9
+ version: "2.0.2",
10
10
  type: "action",
11
11
  props: {
12
12
  app,
@@ -12,6 +12,7 @@ declare const _default: import("@pipedream/types").Action<unknown, {
12
12
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
13
13
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
14
14
  getAuthenticatedUserId(): Promise<string>;
15
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
15
16
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
16
17
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
17
18
  getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
@@ -24,6 +25,7 @@ declare const _default: import("@pipedream/types").Action<unknown, {
24
25
  getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
25
26
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
26
27
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
28
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
27
29
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
28
30
  unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
29
31
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -9,7 +9,7 @@ export default defineAction({
9
9
  key: "twitter-upload-media",
10
10
  name: "Upload Media",
11
11
  description: `Upload new media. [See the documentation](${DOCS_LINK})`,
12
- version: "0.0.4",
12
+ version: "0.0.5",
13
13
  type: "action",
14
14
  props: {
15
15
  app,
@@ -1,6 +1,6 @@
1
1
  import OAuth from "oauth-1.0a";
2
- import { AddUserToListParams, CreateTweetParams, DeleteTweetParams, FollowUserParams, GetUserLikedTweetParams, GetUserOwnedListsParams, GetTweetParams, GetUserFollowedListsParams, GetUserMentionsParams, GetUserParams, GetUserTweetsParams, HttpRequestParams, LikeTweetParams, GetUserFollowersParams, GetUserFollowingParams, PaginatedRequestParams, RetweetParams, SearchTweetsParams, UnfollowUserParams, UnlikeTweetParams, GetListTweetsParams, GetAuthenticatedUserParams, UploadMediaParams } from "../common/types/requestParams.js";
3
- import { List, PaginatedResponseObject, ResponseObject, Tweet, TwitterEntity, User } from "../common/types/responseSchemas.js";
2
+ import { AddUserToListParams, CreateTweetParams, DeleteTweetParams, FollowUserParams, GetUserLikedTweetParams, GetUserOwnedListsParams, GetTweetParams, GetUserFollowedListsParams, GetUserMentionsParams, GetUserParams, GetUserTweetsParams, HttpRequestParams, LikeTweetParams, GetUserFollowersParams, GetUserFollowingParams, PaginatedRequestParams, RetweetParams, SearchTweetsParams, UnfollowUserParams, UnlikeTweetParams, GetListTweetsParams, GetAuthenticatedUserParams, SendMessageParams, GetDirectMessagesParams, UploadMediaParams } from "../common/types/requestParams.js";
3
+ import { DirectMessage, List, PaginatedResponseObject, ResponseObject, Tweet, TwitterEntity, User } from "../common/types/responseSchemas.js";
4
4
  declare const _default: import("@pipedream/types").App<{
5
5
  _getAuthHeader(config: HttpRequestParams): OAuth.Header;
6
6
  _getBaseUrl(): "https://api.twitter.com/2";
@@ -14,6 +14,7 @@ declare const _default: import("@pipedream/types").App<{
14
14
  getTweet({ tweetId, ...args }: GetTweetParams): Promise<ResponseObject<Tweet>>;
15
15
  getAuthenticatedUser(args: GetAuthenticatedUserParams): Promise<ResponseObject<User>>;
16
16
  getAuthenticatedUserId(): Promise<User["id"]>;
17
+ getDirectMessages(args: GetDirectMessagesParams): Promise<PaginatedResponseObject<DirectMessage>>;
17
18
  getUserLikedTweets({ userId, ...args }: GetUserLikedTweetParams): Promise<PaginatedResponseObject<Tweet>>;
18
19
  getUserOwnedLists({ userId, ...args }: GetUserOwnedListsParams): Promise<PaginatedResponseObject<List>>;
19
20
  getUserFollowedLists({ userId, ...args }: GetUserFollowedListsParams): Promise<PaginatedResponseObject<List>>;
@@ -26,6 +27,7 @@ declare const _default: import("@pipedream/types").App<{
26
27
  getUserFollowing({ userId, ...args }: GetUserFollowingParams): Promise<PaginatedResponseObject<User>>;
27
28
  retweet(args: RetweetParams): Promise<object>;
28
29
  searchTweets(args: SearchTweetsParams): Promise<PaginatedResponseObject<Tweet>>;
30
+ sendMessage({ userId, ...args }: SendMessageParams): Promise<object>;
29
31
  unfollowUser({ userId, ...args }: UnfollowUserParams): Promise<object>;
30
32
  unlikeTweet({ tweetId, ...args }: UnlikeTweetParams): Promise<object>;
31
33
  uploadMedia({ ...args }: UploadMediaParams): Promise<object>;
@@ -94,11 +94,13 @@ export default defineApp({
94
94
  baseURL: this._getBaseUrl(),
95
95
  ...args,
96
96
  };
97
- const headers = this._getAuthHeader(config);
98
- const request = () => axios($, {
99
- ...config,
100
- headers,
101
- });
97
+ const request = async () => {
98
+ const headers = this._getAuthHeader(config);
99
+ return axios($, {
100
+ ...config,
101
+ headers,
102
+ });
103
+ };
102
104
  let response, counter = 1;
103
105
  do {
104
106
  try {
@@ -207,6 +209,12 @@ export default defineApp({
207
209
  const response = await this.getAuthenticatedUser();
208
210
  return response.data.id;
209
211
  },
212
+ async getDirectMessages(args) {
213
+ return this._paginatedRequest({
214
+ url: "/dm_events",
215
+ ...args,
216
+ });
217
+ },
210
218
  async getUserLikedTweets({ userId, ...args }) {
211
219
  return this._paginatedRequest({
212
220
  url: `/users/${userId}/liked_tweets`,
@@ -282,6 +290,13 @@ export default defineApp({
282
290
  ...args,
283
291
  });
284
292
  },
293
+ async sendMessage({ userId, ...args }) {
294
+ return this._httpRequest({
295
+ method: "POST",
296
+ url: `/dm_conversations/with/${userId}/messages`,
297
+ ...args,
298
+ });
299
+ },
285
300
  async unfollowUser({ userId, ...args }) {
286
301
  const id = await this.getAuthenticatedUserId();
287
302
  return this._httpRequest({
@@ -1,5 +1,7 @@
1
1
  export declare const LIST_FIELD_OPTIONS: string[];
2
2
  export declare const MEDIA_FIELD_OPTIONS: string[];
3
+ export declare const MESSAGE_FIELD_OPTIONS: string[];
4
+ export declare const METRICS_FIELDS: string[];
3
5
  export declare const PLACE_FIELD_OPTIONS: string[];
4
6
  export declare const POLL_FIELD_OPTIONS: string[];
5
7
  export declare const TWEET_FIELD_OPTIONS: string[];
@@ -21,6 +21,23 @@ export const MEDIA_FIELD_OPTIONS = [
21
21
  "alt_text",
22
22
  "variants",
23
23
  ];
24
+ export const MESSAGE_FIELD_OPTIONS = [
25
+ "id",
26
+ "text",
27
+ "event_type",
28
+ "created_at",
29
+ "dm_conversation_id",
30
+ "sender_id",
31
+ "participant_ids",
32
+ "referenced_tweets",
33
+ "attachments",
34
+ ];
35
+ export const METRICS_FIELDS = [
36
+ "public_metrics",
37
+ "non_public_metrics",
38
+ "organic_metrics",
39
+ "promoted_metrics",
40
+ ];
24
41
  export const PLACE_FIELD_OPTIONS = [
25
42
  "contained_within",
26
43
  "country",
@@ -1,3 +1,4 @@
1
1
  export declare const LIST_EXPANSION_OPTIONS: string[];
2
+ export declare const MESSAGE_EXPANSION_OPTIONS: string[];
2
3
  export declare const TWEET_EXPANSION_OPTIONS: string[];
3
4
  export declare const USER_EXPANSION_OPTIONS: string[];
@@ -1,6 +1,12 @@
1
1
  export const LIST_EXPANSION_OPTIONS = [
2
2
  "owner_id",
3
3
  ];
4
+ export const MESSAGE_EXPANSION_OPTIONS = [
5
+ "attachments.media_keys",
6
+ "referenced_tweets.id",
7
+ "sender_id",
8
+ "participant_ids",
9
+ ];
4
10
  export const TWEET_EXPANSION_OPTIONS = [
5
11
  "attachments.poll_ids",
6
12
  "attachments.media_keys",
@@ -5,6 +5,13 @@ export declare function getListFields(): {
5
5
  "list.fields": string;
6
6
  "user.fields": string;
7
7
  };
8
+ export declare function getMessageFields(): {
9
+ "dm_event.fields": string;
10
+ expansions: string;
11
+ "media.fields": string;
12
+ "tweet.fields": string;
13
+ "user.fields": string;
14
+ };
8
15
  export declare function getTweetFields(): {
9
16
  expansions: string;
10
17
  "media.fields": string;
@@ -1,6 +1,6 @@
1
1
  import { ConfigurationError } from "@pipedream/platform";
2
- import { LIST_FIELD_OPTIONS, MEDIA_FIELD_OPTIONS, PLACE_FIELD_OPTIONS, POLL_FIELD_OPTIONS, TWEET_FIELD_OPTIONS, USER_FIELD_OPTIONS, } from "./dataFields.mjs";
3
- import { LIST_EXPANSION_OPTIONS, TWEET_EXPANSION_OPTIONS, USER_EXPANSION_OPTIONS, } from "./expansions.mjs";
2
+ import { LIST_FIELD_OPTIONS, MEDIA_FIELD_OPTIONS, MESSAGE_FIELD_OPTIONS, PLACE_FIELD_OPTIONS, POLL_FIELD_OPTIONS, TWEET_FIELD_OPTIONS, USER_FIELD_OPTIONS, } from "./dataFields.mjs";
3
+ import { LIST_EXPANSION_OPTIONS, MESSAGE_EXPANSION_OPTIONS, TWEET_EXPANSION_OPTIONS, USER_EXPANSION_OPTIONS, } from "./expansions.mjs";
4
4
  export async function getUserId() {
5
5
  let { userNameOrId: id } = this;
6
6
  if (id === "me" || id === undefined) {
@@ -34,6 +34,25 @@ export function getListFields() {
34
34
  "user.fields": USER_FIELD_OPTIONS.join(),
35
35
  };
36
36
  }
37
+ export function getMessageFields() {
38
+ /*
39
+ const {
40
+ includeAllFields,
41
+ expansions,
42
+ mediaFields,
43
+ messageFields,
44
+ tweetFields,
45
+ userFields,
46
+ }: Record<string, string[]> = this;
47
+ */
48
+ return {
49
+ "dm_event.fields": MESSAGE_FIELD_OPTIONS.join(),
50
+ "expansions": MESSAGE_EXPANSION_OPTIONS.join(),
51
+ "media.fields": MEDIA_FIELD_OPTIONS.join(),
52
+ "tweet.fields": TWEET_FIELD_OPTIONS.join(),
53
+ "user.fields": USER_FIELD_OPTIONS.join(),
54
+ };
55
+ }
37
56
  export function getTweetFields() {
38
57
  /*
39
58
  const {
@@ -3,6 +3,13 @@ export interface ListFields {
3
3
  "list.fields"?: string;
4
4
  "user.fields"?: string;
5
5
  }
6
+ export interface MessageFields {
7
+ expansions?: string;
8
+ "dm_event.fields"?: string;
9
+ "media.fields"?: string;
10
+ "tweet.fields"?: string;
11
+ "user.fields"?: string;
12
+ }
6
13
  export interface UserFields {
7
14
  expansions?: string;
8
15
  "tweet.fields"?: string;
@@ -1,5 +1,5 @@
1
1
  import { Pipedream } from "@pipedream/types";
2
- import { ListFields, TweetFields, UserFields } from "./fields.js";
2
+ import { ListFields, MessageFields, TweetFields, UserFields } from "./fields.js";
3
3
  interface PdAxiosRequest {
4
4
  $: Pipedream;
5
5
  }
@@ -55,6 +55,11 @@ export interface FollowUserParams extends PdAxiosRequest {
55
55
  target_user_id: string;
56
56
  };
57
57
  }
58
+ export interface GetDirectMessagesParams extends PaginatedRequest {
59
+ params?: MessageFields & {
60
+ event_types: "MessageCreate";
61
+ };
62
+ }
58
63
  export interface GetUserLikedTweetParams extends PaginatedRequest, UserId {
59
64
  params?: TweetFields;
60
65
  }
@@ -98,6 +103,11 @@ export interface SearchTweetsParams extends PaginatedRequest {
98
103
  query: string;
99
104
  };
100
105
  }
106
+ export interface SendMessageParams extends PdAxiosRequest, UserId {
107
+ data: {
108
+ text: string;
109
+ };
110
+ }
101
111
  export interface UnfollowUserParams extends PdAxiosRequest, UserId {
102
112
  }
103
113
  export interface UnlikeTweetParams extends PdAxiosRequest, TweetId {
@@ -2,10 +2,20 @@ export interface TwitterEntity {
2
2
  id: string;
3
3
  }
4
4
  export type TwitterEntityMap = Record<string, object>;
5
+ export interface DirectMessage extends TwitterEntity {
6
+ event_type: "MessageCreate";
7
+ text: string;
8
+ }
5
9
  export interface List extends TwitterEntity {
6
10
  name: string;
7
11
  }
8
- export interface Tweet extends TwitterEntity {
12
+ interface MetricsFields {
13
+ public_metrics?: string;
14
+ non_public_metrics?: string;
15
+ organic_metrics?: string;
16
+ promoted_metrics?: string;
17
+ }
18
+ export interface Tweet extends TwitterEntity, MetricsFields {
9
19
  text: string;
10
20
  edit_history_tweet_ids: string[];
11
21
  referenced_tweets?: ReferencedTweet[];
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
15
15
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
16
16
  getAuthenticatedUserId(): Promise<string>;
17
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
17
18
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
18
19
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
19
20
  getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
@@ -26,6 +27,7 @@ declare const _default: {
26
27
  getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
27
28
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
28
29
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
30
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
29
31
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
30
32
  unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
31
33
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -1,4 +1,4 @@
1
- import { List, Tweet, User } from "../../common/types/responseSchemas.js";
1
+ import { DirectMessage, List, Tweet, User } from "../../common/types/responseSchemas.js";
2
2
  export declare function getListSummary({ name }: List): string;
3
- export declare function getTweetSummary({ text }: Tweet): string;
3
+ export declare function getTweetSummary({ text }: Tweet | DirectMessage): string;
4
4
  export declare function getUserSummary({ username }: User): string;
@@ -1,10 +1,10 @@
1
+ const SUMMARY_TEXT_MAX_LENGTH = 30;
1
2
  export function getListSummary({ name }) {
2
3
  return name;
3
4
  }
4
5
  export function getTweetSummary({ text }) {
5
- const TWEET_SUMMARY_MAX_LENGTH = 30;
6
- return text.length > TWEET_SUMMARY_MAX_LENGTH
7
- ? text.slice(0, TWEET_SUMMARY_MAX_LENGTH) + "..."
6
+ return text.length > SUMMARY_TEXT_MAX_LENGTH
7
+ ? text.slice(0, SUMMARY_TEXT_MAX_LENGTH) + "..."
8
8
  : text;
9
9
  }
10
10
  export function getUserSummary({ username }) {
@@ -28,6 +28,7 @@ declare const _default: import("@pipedream/types").Source<{
28
28
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
29
29
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<User>>;
30
30
  getAuthenticatedUserId(): Promise<string>;
31
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
31
32
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
32
33
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
33
34
  getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
@@ -40,6 +41,7 @@ declare const _default: import("@pipedream/types").Source<{
40
41
  getUserFollowing({ userId, ...args }: GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<User>>;
41
42
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
42
43
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
44
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
43
45
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
44
46
  unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
45
47
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -91,6 +93,7 @@ declare const _default: import("@pipedream/types").Source<{
91
93
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
92
94
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<User>>;
93
95
  getAuthenticatedUserId(): Promise<string>;
96
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
94
97
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
95
98
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
96
99
  getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
@@ -103,6 +106,7 @@ declare const _default: import("@pipedream/types").Source<{
103
106
  getUserFollowing({ userId, ...args }: GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<User>>;
104
107
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
105
108
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
109
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
106
110
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
107
111
  unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
108
112
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -9,8 +9,8 @@ export default defineSource({
9
9
  ...common,
10
10
  key: "twitter-new-follower-of-user",
11
11
  name: "New Follower Received by User",
12
- description: `Emit new event when the specified User receives a Follower [See docs here](${DOCS_LINK})`,
13
- version: "2.0.1",
12
+ description: `Emit new event when the specified User receives a Follower [See the documentation](${DOCS_LINK})`,
13
+ version: "2.0.2",
14
14
  type: "source",
15
15
  props: {
16
16
  ...common.props,
@@ -28,6 +28,7 @@ declare const _default: import("@pipedream/types").Source<{
28
28
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
29
29
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
30
30
  getAuthenticatedUserId(): Promise<string>;
31
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
31
32
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
32
33
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<List>>;
33
34
  getUserFollowedLists({ userId, ...args }: GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<List>>;
@@ -40,6 +41,7 @@ declare const _default: import("@pipedream/types").Source<{
40
41
  getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
41
42
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
42
43
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
44
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
43
45
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
44
46
  unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
45
47
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -91,6 +93,7 @@ declare const _default: import("@pipedream/types").Source<{
91
93
  getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
92
94
  getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
93
95
  getAuthenticatedUserId(): Promise<string>;
96
+ getDirectMessages(args: import("../../common/types/requestParams.js").GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").DirectMessage>>;
94
97
  getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
95
98
  getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<List>>;
96
99
  getUserFollowedLists({ userId, ...args }: GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<List>>;
@@ -103,6 +106,7 @@ declare const _default: import("@pipedream/types").Source<{
103
106
  getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
104
107
  retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
105
108
  searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
109
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
106
110
  unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
107
111
  unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
108
112
  uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
@@ -10,8 +10,8 @@ export default defineSource({
10
10
  ...common,
11
11
  key: "twitter-new-list-followed",
12
12
  name: "New List Followed by User",
13
- description: `Emit new event when the specified User follows a List [See docs here](${DOCS_LINK})`,
14
- version: "2.0.1",
13
+ description: `Emit new event when the specified User follows a List [See the documentation](${DOCS_LINK})`,
14
+ version: "2.0.2",
15
15
  type: "source",
16
16
  props: {
17
17
  ...common.props,
@@ -0,0 +1,87 @@
1
+ import { getTweetSummary as getItemSummary } from "../common/getItemSummary.js";
2
+ import { getMessageFields } from "../../common/methods.js";
3
+ import { GetDirectMessagesParams } from "../../common/types/requestParams.js";
4
+ import { DirectMessage } from "../../common/types/responseSchemas.js";
5
+ declare const _default: import("@pipedream/types").Source<{
6
+ getMessageFields: typeof getMessageFields;
7
+ getEntityName(): "DM Received";
8
+ getItemSummary: typeof getItemSummary;
9
+ getResources(maxResults?: number): Promise<DirectMessage[]>;
10
+ getSavedIds(): string[];
11
+ setSavedIds(data: string[]): void;
12
+ getAndProcessData(maxResults?: number): Promise<void>;
13
+ emitEvent(data: import("../../common/types/responseSchemas.js").TwitterEntity): void;
14
+ }, {
15
+ app: import("@pipedream/types").App<{
16
+ _getAuthHeader(config: import("../../common/types/requestParams.js").HttpRequestParams): import("oauth-1.0a").Header;
17
+ _getBaseUrl(): "https://api.twitter.com/2";
18
+ _httpRequest({ $, ...args }: import("../../common/types/requestParams.js").HttpRequestParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").TwitterEntity>>;
19
+ _paginatedRequest({ maxResults, maxPerPage, params, ...args }: import("../../common/types/requestParams.js").PaginatedRequestParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").TwitterEntity>>;
20
+ addUserToList({ listId, ...args }: import("../../common/types/requestParams.js").AddUserToListParams): Promise<object>;
21
+ createTweet(args: import("../../common/types/requestParams.js").CreateTweetParams): Promise<object>;
22
+ deleteTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").DeleteTweetParams): Promise<object>;
23
+ followUser(args: import("../../common/types/requestParams.js").FollowUserParams): Promise<object>;
24
+ getListTweets({ listId, ...args }: import("../../common/types/requestParams.js").GetListTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
25
+ getTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").GetTweetParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").Tweet>>;
26
+ getAuthenticatedUser(args: import("../../common/types/requestParams.js").GetAuthenticatedUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
27
+ getAuthenticatedUserId(): Promise<string>;
28
+ getDirectMessages(args: GetDirectMessagesParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<DirectMessage>>;
29
+ getUserLikedTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserLikedTweetParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
30
+ getUserOwnedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserOwnedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
31
+ getUserFollowedLists({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowedListsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").List>>;
32
+ getUserMentions({ userId, ...args }: import("../../common/types/requestParams.js").GetUserMentionsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
33
+ getUserTweets({ userId, ...args }: import("../../common/types/requestParams.js").GetUserTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
34
+ getUserByUsername(username: string): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
35
+ getUser({ userId, ...args }: import("../../common/types/requestParams.js").GetUserParams): Promise<import("../../common/types/responseSchemas").ResponseObject<import("../../common/types/responseSchemas").User>>;
36
+ likeTweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
37
+ getUserFollowers({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
38
+ getUserFollowing({ userId, ...args }: import("../../common/types/requestParams.js").GetUserFollowersParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").User>>;
39
+ retweet(args: import("../../common/types/requestParams.js").LikeTweetParams): Promise<object>;
40
+ searchTweets(args: import("../../common/types/requestParams.js").SearchTweetsParams): Promise<import("../../common/types/responseSchemas").PaginatedResponseObject<import("../../common/types/responseSchemas").Tweet>>;
41
+ sendMessage({ userId, ...args }: import("../../common/types/requestParams.js").SendMessageParams): Promise<object>;
42
+ unfollowUser({ userId, ...args }: import("../../common/types/requestParams.js").UnfollowUserParams): Promise<object>;
43
+ unlikeTweet({ tweetId, ...args }: import("../../common/types/requestParams.js").UnlikeTweetParams): Promise<object>;
44
+ uploadMedia({ ...args }: import("../../common/types/requestParams.js").UploadMediaParams): Promise<object>;
45
+ }, {
46
+ maxResults: {
47
+ type: string;
48
+ label: string;
49
+ description: string;
50
+ optional: boolean;
51
+ };
52
+ listId: {
53
+ type: string;
54
+ label: string;
55
+ description: string;
56
+ options(): Promise<{
57
+ label: string;
58
+ value: string;
59
+ }[]>;
60
+ };
61
+ userNameOrId: {
62
+ type: string;
63
+ label: string;
64
+ description: string;
65
+ optional: boolean;
66
+ default: string;
67
+ };
68
+ tweetId: {
69
+ type: string;
70
+ label: string;
71
+ description: string;
72
+ };
73
+ query: {
74
+ type: string;
75
+ label: string;
76
+ description: string;
77
+ };
78
+ }>;
79
+ db: string;
80
+ timer: {
81
+ type: string;
82
+ default: {
83
+ intervalSeconds: number;
84
+ };
85
+ };
86
+ }>;
87
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import { defineSource } from "@pipedream/types";
2
+ import common from "../common/base.mjs";
3
+ import { getTweetSummary as getItemSummary } from "../common/getItemSummary.mjs";
4
+ import { getMessageFields } from "../../common/methods.mjs";
5
+ const DOCS_LINK = "https://developer.twitter.com/en/docs/twitter-api/direct-messages/lookup/api-reference/get-dm_events";
6
+ const MAX_RESULTS_PER_PAGE = 100;
7
+ export default defineSource({
8
+ ...common,
9
+ key: "twitter-new-message",
10
+ name: "New Message Received",
11
+ description: `Emit new event when a new Direct Message (DM) is received [See the documentation](${DOCS_LINK})`,
12
+ version: "1.0.0",
13
+ type: "source",
14
+ methods: {
15
+ ...common.methods,
16
+ getMessageFields,
17
+ getEntityName() {
18
+ return "DM Received";
19
+ },
20
+ getItemSummary,
21
+ async getResources(maxResults) {
22
+ const params = {
23
+ $: this,
24
+ maxPerPage: MAX_RESULTS_PER_PAGE,
25
+ maxResults: maxResults ?? MAX_RESULTS_PER_PAGE,
26
+ params: {
27
+ ...this.getMessageFields(),
28
+ event_types: "MessageCreate",
29
+ },
30
+ };
31
+ const { data } = await this.app.getDirectMessages(params);
32
+ return data;
33
+ },
34
+ },
35
+ });