prototurk-sdk 0.0.1

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 (78) hide show
  1. package/README.md +189 -0
  2. package/dist/client/Client.d.ts +61 -0
  3. package/dist/client/Client.d.ts.map +1 -0
  4. package/dist/client/Client.js +95 -0
  5. package/dist/client/Client.js.map +1 -0
  6. package/dist/client/ClientUser.d.ts +22 -0
  7. package/dist/client/ClientUser.d.ts.map +1 -0
  8. package/dist/client/ClientUser.js +19 -0
  9. package/dist/client/ClientUser.js.map +1 -0
  10. package/dist/gateway/EventPoller.d.ts +23 -0
  11. package/dist/gateway/EventPoller.d.ts.map +1 -0
  12. package/dist/gateway/EventPoller.js +99 -0
  13. package/dist/gateway/EventPoller.js.map +1 -0
  14. package/dist/gateway/GatewayEvents.d.ts +28 -0
  15. package/dist/gateway/GatewayEvents.d.ts.map +1 -0
  16. package/dist/gateway/GatewayEvents.js +2 -0
  17. package/dist/gateway/GatewayEvents.js.map +1 -0
  18. package/dist/gateway/WebhookHandler.d.ts +13 -0
  19. package/dist/gateway/WebhookHandler.d.ts.map +1 -0
  20. package/dist/gateway/WebhookHandler.js +51 -0
  21. package/dist/gateway/WebhookHandler.js.map +1 -0
  22. package/dist/index.d.ts +19 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +19 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/managers/DMManager.d.ts +37 -0
  27. package/dist/managers/DMManager.d.ts.map +1 -0
  28. package/dist/managers/DMManager.js +50 -0
  29. package/dist/managers/DMManager.js.map +1 -0
  30. package/dist/managers/PostManager.d.ts +45 -0
  31. package/dist/managers/PostManager.d.ts.map +1 -0
  32. package/dist/managers/PostManager.js +60 -0
  33. package/dist/managers/PostManager.js.map +1 -0
  34. package/dist/managers/UploadManager.d.ts +30 -0
  35. package/dist/managers/UploadManager.d.ts.map +1 -0
  36. package/dist/managers/UploadManager.js +57 -0
  37. package/dist/managers/UploadManager.js.map +1 -0
  38. package/dist/managers/UserManager.d.ts +13 -0
  39. package/dist/managers/UserManager.d.ts.map +1 -0
  40. package/dist/managers/UserManager.js +21 -0
  41. package/dist/managers/UserManager.js.map +1 -0
  42. package/dist/rest/APIError.d.ts +6 -0
  43. package/dist/rest/APIError.d.ts.map +1 -0
  44. package/dist/rest/APIError.js +11 -0
  45. package/dist/rest/APIError.js.map +1 -0
  46. package/dist/rest/RESTManager.d.ts +15 -0
  47. package/dist/rest/RESTManager.d.ts.map +1 -0
  48. package/dist/rest/RESTManager.js +62 -0
  49. package/dist/rest/RESTManager.js.map +1 -0
  50. package/dist/structures/Base.d.ts +6 -0
  51. package/dist/structures/Base.d.ts.map +1 -0
  52. package/dist/structures/Base.js +7 -0
  53. package/dist/structures/Base.js.map +1 -0
  54. package/dist/structures/DMConversation.d.ts +33 -0
  55. package/dist/structures/DMConversation.d.ts.map +1 -0
  56. package/dist/structures/DMConversation.js +28 -0
  57. package/dist/structures/DMConversation.js.map +1 -0
  58. package/dist/structures/DMMessage.d.ts +31 -0
  59. package/dist/structures/DMMessage.d.ts.map +1 -0
  60. package/dist/structures/DMMessage.js +31 -0
  61. package/dist/structures/DMMessage.js.map +1 -0
  62. package/dist/structures/Post.d.ts +63 -0
  63. package/dist/structures/Post.d.ts.map +1 -0
  64. package/dist/structures/Post.js +42 -0
  65. package/dist/structures/Post.js.map +1 -0
  66. package/dist/structures/User.d.ts +33 -0
  67. package/dist/structures/User.d.ts.map +1 -0
  68. package/dist/structures/User.js +29 -0
  69. package/dist/structures/User.js.map +1 -0
  70. package/dist/util/Collection.d.ts +14 -0
  71. package/dist/util/Collection.d.ts.map +1 -0
  72. package/dist/util/Collection.js +50 -0
  73. package/dist/util/Collection.js.map +1 -0
  74. package/dist/util/Constants.d.ts +44 -0
  75. package/dist/util/Constants.d.ts.map +1 -0
  76. package/dist/util/Constants.js +47 -0
  77. package/dist/util/Constants.js.map +1 -0
  78. package/package.json +27 -0
@@ -0,0 +1,31 @@
1
+ import { Base } from "./Base";
2
+ import { Client } from "../client/Client";
3
+ import type { ImageData, MessageOptions } from "./Post";
4
+ export interface DMMessageData {
5
+ id: string;
6
+ conversationId: string;
7
+ fromBot: boolean;
8
+ authorUsername: string;
9
+ text: string;
10
+ images?: ImageData[];
11
+ createdAt: string;
12
+ replyToId: string | null;
13
+ }
14
+ export declare class DMMessage extends Base {
15
+ id: string;
16
+ conversationId: string;
17
+ fromBot: boolean;
18
+ authorUsername: string;
19
+ text: string;
20
+ images: ImageData[];
21
+ createdAt: Date;
22
+ replyToId: string | null;
23
+ constructor(client: Client, data: DMMessageData);
24
+ /**
25
+ * Reply to the conversation.
26
+ * Note: The API does not have reply-to specific logic for DMs, it just sends a new message to the conversation.
27
+ * @param content The text or message options (including imageKeys).
28
+ */
29
+ reply(content: string | MessageOptions): Promise<DMMessage>;
30
+ }
31
+ //# sourceMappingURL=DMMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DMMessage.d.ts","sourceRoot":"","sources":["../../src/structures/DMMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExD,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,qBAAa,SAAU,SAAQ,IAAI;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEpB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAY/C;;;;OAIG;IACU,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;CAGtD"}
@@ -0,0 +1,31 @@
1
+ import { Base } from "./Base";
2
+ export class DMMessage extends Base {
3
+ id;
4
+ conversationId;
5
+ fromBot;
6
+ authorUsername;
7
+ text;
8
+ images;
9
+ createdAt;
10
+ replyToId;
11
+ constructor(client, data) {
12
+ super(client);
13
+ this.id = data.id;
14
+ this.conversationId = data.conversationId;
15
+ this.fromBot = data.fromBot;
16
+ this.authorUsername = data.authorUsername;
17
+ this.text = data.text;
18
+ this.images = data.images || [];
19
+ this.createdAt = new Date(data.createdAt);
20
+ this.replyToId = data.replyToId;
21
+ }
22
+ /**
23
+ * Reply to the conversation.
24
+ * Note: The API does not have reply-to specific logic for DMs, it just sends a new message to the conversation.
25
+ * @param content The text or message options (including imageKeys).
26
+ */
27
+ async reply(content) {
28
+ return this.client.dms.createMessage(this.conversationId, content);
29
+ }
30
+ }
31
+ //# sourceMappingURL=DMMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DMMessage.js","sourceRoot":"","sources":["../../src/structures/DMMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAe9B,MAAM,OAAO,SAAU,SAAQ,IAAI;IACxB,EAAE,CAAS;IACX,cAAc,CAAS;IACvB,OAAO,CAAU;IACjB,cAAc,CAAS;IACvB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,SAAS,CAAO;IAChB,SAAS,CAAgB;IAEhC,YAAY,MAAc,EAAE,IAAmB;QAC3C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK,CAAC,OAAgC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACJ"}
@@ -0,0 +1,63 @@
1
+ import { Base } from './Base';
2
+ import { Client } from '../client/Client';
3
+ export interface AuthorData {
4
+ username: string;
5
+ name: string;
6
+ avatarUrl: string | null;
7
+ isBot: boolean;
8
+ }
9
+ export interface PostCounts {
10
+ likes: number;
11
+ comments: number;
12
+ reposts: number;
13
+ }
14
+ export interface ImageData {
15
+ url: string;
16
+ thumbUrl?: string | null;
17
+ width: number;
18
+ height: number;
19
+ }
20
+ export interface PostData {
21
+ id: string;
22
+ type: 'post' | 'reply';
23
+ author: AuthorData;
24
+ title: string | null;
25
+ text: string;
26
+ images?: ImageData[];
27
+ createdAt: string;
28
+ counts: PostCounts;
29
+ replyToId: string | null;
30
+ rootPostId: string | null;
31
+ url: string;
32
+ }
33
+ export interface MessageOptions {
34
+ text?: string;
35
+ imageKeys?: string[];
36
+ }
37
+ export declare class Post extends Base {
38
+ id: string;
39
+ type: 'post' | 'reply';
40
+ author: AuthorData;
41
+ title: string | null;
42
+ text: string;
43
+ images: ImageData[];
44
+ createdAt: Date;
45
+ counts: PostCounts;
46
+ replyToId: string | null;
47
+ rootPostId: string | null;
48
+ url: string;
49
+ constructor(client: Client, data: PostData);
50
+ /**
51
+ * Reply to this post with a new comment.
52
+ * @param content The text or message options (including imageKeys).
53
+ */
54
+ reply(content: string | MessageOptions): Promise<Post>;
55
+ /**
56
+ * Fetch comments for this post.
57
+ */
58
+ fetchComments(options?: {
59
+ limit?: number;
60
+ cursor?: string;
61
+ }): Promise<import("..").PostListResponse>;
62
+ }
63
+ //# sourceMappingURL=Post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Post.d.ts","sourceRoot":"","sources":["../../src/structures/Post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAa,IAAK,SAAQ,IAAI;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;gBAEP,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAe1C;;;OAGG;IACU,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAInD;;OAEG;IACU,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;CAGzE"}
@@ -0,0 +1,42 @@
1
+ import { Base } from './Base';
2
+ export class Post extends Base {
3
+ id;
4
+ type;
5
+ author;
6
+ title;
7
+ text;
8
+ images;
9
+ createdAt;
10
+ counts;
11
+ replyToId;
12
+ rootPostId;
13
+ url;
14
+ constructor(client, data) {
15
+ super(client);
16
+ this.id = data.id;
17
+ this.type = data.type;
18
+ this.author = data.author;
19
+ this.title = data.title;
20
+ this.text = data.text;
21
+ this.images = data.images || [];
22
+ this.createdAt = new Date(data.createdAt);
23
+ this.counts = data.counts;
24
+ this.replyToId = data.replyToId;
25
+ this.rootPostId = data.rootPostId;
26
+ this.url = data.url;
27
+ }
28
+ /**
29
+ * Reply to this post with a new comment.
30
+ * @param content The text or message options (including imageKeys).
31
+ */
32
+ async reply(content) {
33
+ return this.client.posts.createComment(this.id, content);
34
+ }
35
+ /**
36
+ * Fetch comments for this post.
37
+ */
38
+ async fetchComments(options) {
39
+ return this.client.posts.fetchComments(this.id, options);
40
+ }
41
+ }
42
+ //# sourceMappingURL=Post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Post.js","sourceRoot":"","sources":["../../src/structures/Post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA0C9B,MAAM,OAAO,IAAK,SAAQ,IAAI;IACrB,EAAE,CAAS;IACX,IAAI,CAAmB;IACvB,MAAM,CAAa;IACnB,KAAK,CAAgB;IACrB,IAAI,CAAS;IACb,MAAM,CAAc;IACpB,SAAS,CAAO;IAChB,MAAM,CAAa;IACnB,SAAS,CAAgB;IACzB,UAAU,CAAgB;IAC1B,GAAG,CAAS;IAEnB,YAAY,MAAc,EAAE,IAAc;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACtB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,KAAK,CAAC,OAAgC;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CAAC,OAA6C;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import { Base } from './Base';
2
+ import { Client } from '../client/Client';
3
+ export interface ProfileCounts {
4
+ followers: number;
5
+ following: number;
6
+ posts: number;
7
+ }
8
+ export interface UserData {
9
+ username: string;
10
+ name: string;
11
+ avatarUrl: string | null;
12
+ about?: string | null;
13
+ websiteUrl?: string | null;
14
+ isBot: boolean;
15
+ createdAt?: string;
16
+ counts?: ProfileCounts;
17
+ }
18
+ export declare class User extends Base {
19
+ username: string;
20
+ name: string;
21
+ avatarUrl: string | null;
22
+ about: string | null;
23
+ websiteUrl: string | null;
24
+ isBot: boolean;
25
+ createdAt: Date | null;
26
+ counts: ProfileCounts | null;
27
+ constructor(client: Client, data: UserData);
28
+ /**
29
+ * Fetches the user profile data.
30
+ */
31
+ fetch(): Promise<User>;
32
+ }
33
+ //# sourceMappingURL=User.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.d.ts","sourceRoot":"","sources":["../../src/structures/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,qBAAa,IAAK,SAAQ,IAAI;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;gBAExB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAY1C;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
@@ -0,0 +1,29 @@
1
+ import { Base } from './Base';
2
+ export class User extends Base {
3
+ username;
4
+ name;
5
+ avatarUrl;
6
+ about;
7
+ websiteUrl;
8
+ isBot;
9
+ createdAt;
10
+ counts;
11
+ constructor(client, data) {
12
+ super(client);
13
+ this.username = data.username;
14
+ this.name = data.name;
15
+ this.avatarUrl = data.avatarUrl;
16
+ this.about = data.about ?? null;
17
+ this.websiteUrl = data.websiteUrl ?? null;
18
+ this.isBot = data.isBot;
19
+ this.createdAt = data.createdAt ? new Date(data.createdAt) : null;
20
+ this.counts = data.counts ?? null;
21
+ }
22
+ /**
23
+ * Fetches the user profile data.
24
+ */
25
+ async fetch() {
26
+ return this.client.users.fetch(this.username);
27
+ }
28
+ }
29
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/structures/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAoB9B,MAAM,OAAO,IAAK,SAAQ,IAAI;IACrB,QAAQ,CAAS;IACjB,IAAI,CAAS;IACb,SAAS,CAAgB;IACzB,KAAK,CAAgB;IACrB,UAAU,CAAgB;IAC1B,KAAK,CAAU;IACf,SAAS,CAAc;IACvB,MAAM,CAAuB;IAEpC,YAAY,MAAc,EAAE,IAAc;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A utility class representing a Map with extra utility methods.
3
+ * Highly inspired by discord.js Collection.
4
+ */
5
+ export declare class Collection<K, V> extends Map<K, V> {
6
+ find(fn: (value: V, key: K, collection: this) => boolean): V | undefined;
7
+ filter(fn: (value: V, key: K, collection: this) => boolean): Collection<K, V>;
8
+ map<T>(fn: (value: V, key: K, collection: this) => T): T[];
9
+ some(fn: (value: V, key: K, collection: this) => boolean): boolean;
10
+ every(fn: (value: V, key: K, collection: this) => boolean): boolean;
11
+ first(): V | undefined;
12
+ last(): V | undefined;
13
+ }
14
+ //# sourceMappingURL=Collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/util/Collection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS;IAOxE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ7E,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAQ1D,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO;IAOlE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,KAAK,OAAO,GAAG,OAAO;IAOnE,KAAK,IAAI,CAAC,GAAG,SAAS;IAItB,IAAI,IAAI,CAAC,GAAG,SAAS;CAI7B"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * A utility class representing a Map with extra utility methods.
3
+ * Highly inspired by discord.js Collection.
4
+ */
5
+ export class Collection extends Map {
6
+ find(fn) {
7
+ for (const [key, val] of this) {
8
+ if (fn(val, key, this))
9
+ return val;
10
+ }
11
+ return undefined;
12
+ }
13
+ filter(fn) {
14
+ const results = new Collection();
15
+ for (const [key, val] of this) {
16
+ if (fn(val, key, this))
17
+ results.set(key, val);
18
+ }
19
+ return results;
20
+ }
21
+ map(fn) {
22
+ const results = [];
23
+ for (const [key, val] of this) {
24
+ results.push(fn(val, key, this));
25
+ }
26
+ return results;
27
+ }
28
+ some(fn) {
29
+ for (const [key, val] of this) {
30
+ if (fn(val, key, this))
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ every(fn) {
36
+ for (const [key, val] of this) {
37
+ if (!fn(val, key, this))
38
+ return false;
39
+ }
40
+ return true;
41
+ }
42
+ first() {
43
+ return this.values().next().value;
44
+ }
45
+ last() {
46
+ const arr = Array.from(this.values());
47
+ return arr[arr.length - 1];
48
+ }
49
+ }
50
+ //# sourceMappingURL=Collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/util/Collection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,UAAiB,SAAQ,GAAS;IACtC,IAAI,CAAC,EAAmD;QAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;gBAAE,OAAO,GAAG,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,EAAmD;QAC/D,MAAM,OAAO,GAAG,IAAI,UAAU,EAAQ,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,GAAG,CAAI,EAA6C;QACzD,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,IAAI,CAAC,EAAmD;QAC7D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACtC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,EAAmD;QAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;IACpC,CAAC;IAEM,IAAI;QACT,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ export declare const API_BASE_URL = "https://dev.prototurk.com/api/v1";
2
+ export declare enum Endpoints {
3
+ ME = "/me",
4
+ FEED = "/feed",
5
+ POSTS = "/posts",
6
+ USERS = "/users",
7
+ SEARCH = "/search",
8
+ EVENTS = "/events",
9
+ DM_CONVERSATIONS = "/dm/conversations",
10
+ UPLOADS = "/uploads"
11
+ }
12
+ export declare enum Events {
13
+ READY = "ready",
14
+ DM_MESSAGE_CREATE = "dmMessageCreate",
15
+ POST_CREATE = "postCreate",
16
+ COMMENT_CREATE = "commentCreate",
17
+ MENTION = "mention",
18
+ REPLY_CREATE = "replyCreate",
19
+ FOLLOW = "follow",
20
+ LIKE = "like",
21
+ REPOST = "repost",
22
+ QUOTE = "quote",
23
+ ERROR = "error"
24
+ }
25
+ export declare enum ErrorCodes {
26
+ AGENT_UNAUTHORIZED = "AGENT_UNAUTHORIZED",
27
+ AGENT_SCOPE_MISSING = "AGENT_SCOPE_MISSING",
28
+ RATE_LIMITED = "RATE_LIMITED",
29
+ QUOTA_EXCEEDED = "QUOTA_EXCEEDED",
30
+ NOT_FOUND = "NOT_FOUND",
31
+ VALIDATION = "VALIDATION",
32
+ EMPTY = "EMPTY",
33
+ TOO_LONG = "TOO_LONG",
34
+ BLOCKED = "BLOCKED",
35
+ GROUP_UNSUPPORTED = "GROUP_UNSUPPORTED",
36
+ INTERNAL = "INTERNAL",
37
+ BLOCKED_HOST = "BLOCKED_HOST",
38
+ NOT_IMAGE = "NOT_IMAGE",
39
+ TOO_LARGE = "TOO_LARGE",
40
+ INVALID_IMAGE_KEY = "INVALID_IMAGE_KEY",
41
+ TOO_MANY_IMAGES = "TOO_MANY_IMAGES",
42
+ NOT_CONFIGURED = "NOT_CONFIGURED"
43
+ }
44
+ //# sourceMappingURL=Constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../src/util/Constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,qCAAqC,CAAC;AAE/D,oBAAY,SAAS;IACnB,EAAE,QAAQ;IACV,IAAI,UAAU;IACd,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,gBAAgB,sBAAsB;IACtC,OAAO,aAAa;CACrB;AAED,oBAAY,MAAM;IAChB,KAAK,UAAU;IACf,iBAAiB,oBAAoB;IACrC,WAAW,eAAe;IAC1B,cAAc,kBAAkB;IAChC,OAAO,YAAY;IACnB,YAAY,gBAAgB;IAC5B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,UAAU;IACpB,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;IACvC,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;CAClC"}
@@ -0,0 +1,47 @@
1
+ export const API_BASE_URL = 'https://dev.prototurk.com/api/v1';
2
+ export var Endpoints;
3
+ (function (Endpoints) {
4
+ Endpoints["ME"] = "/me";
5
+ Endpoints["FEED"] = "/feed";
6
+ Endpoints["POSTS"] = "/posts";
7
+ Endpoints["USERS"] = "/users";
8
+ Endpoints["SEARCH"] = "/search";
9
+ Endpoints["EVENTS"] = "/events";
10
+ Endpoints["DM_CONVERSATIONS"] = "/dm/conversations";
11
+ Endpoints["UPLOADS"] = "/uploads";
12
+ })(Endpoints || (Endpoints = {}));
13
+ export var Events;
14
+ (function (Events) {
15
+ Events["READY"] = "ready";
16
+ Events["DM_MESSAGE_CREATE"] = "dmMessageCreate";
17
+ Events["POST_CREATE"] = "postCreate";
18
+ Events["COMMENT_CREATE"] = "commentCreate";
19
+ Events["MENTION"] = "mention";
20
+ Events["REPLY_CREATE"] = "replyCreate";
21
+ Events["FOLLOW"] = "follow";
22
+ Events["LIKE"] = "like";
23
+ Events["REPOST"] = "repost";
24
+ Events["QUOTE"] = "quote";
25
+ Events["ERROR"] = "error";
26
+ })(Events || (Events = {}));
27
+ export var ErrorCodes;
28
+ (function (ErrorCodes) {
29
+ ErrorCodes["AGENT_UNAUTHORIZED"] = "AGENT_UNAUTHORIZED";
30
+ ErrorCodes["AGENT_SCOPE_MISSING"] = "AGENT_SCOPE_MISSING";
31
+ ErrorCodes["RATE_LIMITED"] = "RATE_LIMITED";
32
+ ErrorCodes["QUOTA_EXCEEDED"] = "QUOTA_EXCEEDED";
33
+ ErrorCodes["NOT_FOUND"] = "NOT_FOUND";
34
+ ErrorCodes["VALIDATION"] = "VALIDATION";
35
+ ErrorCodes["EMPTY"] = "EMPTY";
36
+ ErrorCodes["TOO_LONG"] = "TOO_LONG";
37
+ ErrorCodes["BLOCKED"] = "BLOCKED";
38
+ ErrorCodes["GROUP_UNSUPPORTED"] = "GROUP_UNSUPPORTED";
39
+ ErrorCodes["INTERNAL"] = "INTERNAL";
40
+ ErrorCodes["BLOCKED_HOST"] = "BLOCKED_HOST";
41
+ ErrorCodes["NOT_IMAGE"] = "NOT_IMAGE";
42
+ ErrorCodes["TOO_LARGE"] = "TOO_LARGE";
43
+ ErrorCodes["INVALID_IMAGE_KEY"] = "INVALID_IMAGE_KEY";
44
+ ErrorCodes["TOO_MANY_IMAGES"] = "TOO_MANY_IMAGES";
45
+ ErrorCodes["NOT_CONFIGURED"] = "NOT_CONFIGURED";
46
+ })(ErrorCodes || (ErrorCodes = {}));
47
+ //# sourceMappingURL=Constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/util/Constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAE/D,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,uBAAU,CAAA;IACV,2BAAc,CAAA;IACd,6BAAgB,CAAA;IAChB,6BAAgB,CAAA;IAChB,+BAAkB,CAAA;IAClB,+BAAkB,CAAA;IAClB,mDAAsC,CAAA;IACtC,iCAAoB,CAAA;AACtB,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAED,MAAM,CAAN,IAAY,MAYX;AAZD,WAAY,MAAM;IAChB,yBAAe,CAAA;IACf,+CAAqC,CAAA;IACrC,oCAA0B,CAAA;IAC1B,0CAAgC,CAAA;IAChC,6BAAmB,CAAA;IACnB,sCAA4B,CAAA;IAC5B,2BAAiB,CAAA;IACjB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,yBAAe,CAAA;IACf,yBAAe,CAAA;AACjB,CAAC,EAZW,MAAM,KAAN,MAAM,QAYjB;AAED,MAAM,CAAN,IAAY,UAkBX;AAlBD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,yDAA2C,CAAA;IAC3C,2CAA6B,CAAA;IAC7B,+CAAiC,CAAA;IACjC,qCAAuB,CAAA;IACvB,uCAAyB,CAAA;IACzB,6BAAe,CAAA;IACf,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;IACnB,qDAAuC,CAAA;IACvC,mCAAqB,CAAA;IACrB,2CAA6B,CAAA;IAC7B,qCAAuB,CAAA;IACvB,qCAAuB,CAAA;IACvB,qDAAuC,CAAA;IACvC,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;AACnC,CAAC,EAlBW,UAAU,KAAV,UAAU,QAkBrB"}
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "prototurk-sdk",
3
+ "version": "0.0.1",
4
+ "description": "Prototürk platformunda Bot geliştirmek için geliştirilmiş SDK.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md",
17
+ "package.json"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "prepublishOnly": "npm run build"
22
+ },
23
+ "devDependencies": {
24
+ "@types/bun": "latest",
25
+ "typescript": "^5"
26
+ }
27
+ }