@dongdev/fca-unofficial 1.0.20 → 2.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 (128) hide show
  1. package/.gitattributes +1 -0
  2. package/CHANGELOG.md +32 -29
  3. package/DOCS.md +727 -592
  4. package/README.md +94 -97
  5. package/func/logger.js +112 -0
  6. package/html.html +474 -0
  7. package/index.js +1 -379
  8. package/module/config.js +26 -0
  9. package/module/login.js +45 -0
  10. package/module/loginHelper.js +634 -0
  11. package/module/options.js +49 -0
  12. package/package.json +6 -39
  13. package/src/api/action/addExternalModule.js +25 -0
  14. package/src/api/action/changeAvatar.js +136 -0
  15. package/src/api/action/changeBio.js +76 -0
  16. package/src/api/action/getCurrentUserID.js +7 -0
  17. package/src/api/action/handleFriendRequest.js +57 -0
  18. package/src/api/action/logout.js +75 -0
  19. package/src/{refreshFb_dtsg.js → api/action/refreshFb_dtsg.js} +8 -8
  20. package/src/api/action/setPostReaction.js +107 -0
  21. package/src/api/action/unfriend.js +55 -0
  22. package/src/api/http/httpGet.js +65 -0
  23. package/src/api/http/httpPost.js +65 -0
  24. package/src/{postFormData.js → api/http/postFormData.js} +10 -10
  25. package/src/api/messaging/addUserToGroup.js +69 -0
  26. package/src/api/messaging/changeAdminStatus.js +103 -0
  27. package/src/api/messaging/changeArchivedStatus.js +55 -0
  28. package/src/api/messaging/changeBlockedStatus.js +49 -0
  29. package/src/api/messaging/changeGroupImage.js +135 -0
  30. package/src/api/messaging/changeNickname.js +59 -0
  31. package/src/api/messaging/changeThreadColor.js +65 -0
  32. package/src/api/messaging/createNewGroup.js +88 -0
  33. package/src/api/messaging/createPoll.js +70 -0
  34. package/src/api/messaging/deleteMessage.js +56 -0
  35. package/src/api/messaging/deleteThread.js +56 -0
  36. package/src/api/messaging/forwardAttachment.js +60 -0
  37. package/src/api/messaging/getEmojiUrl.js +29 -0
  38. package/src/api/messaging/getFriendsList.js +83 -0
  39. package/src/api/messaging/getMessage.js +834 -0
  40. package/src/api/messaging/getThreadHistory.js +681 -0
  41. package/src/api/messaging/handleMessageRequest.js +65 -0
  42. package/src/api/messaging/markAsDelivered.js +57 -0
  43. package/src/api/messaging/markAsRead.js +88 -0
  44. package/src/api/messaging/markAsReadAll.js +50 -0
  45. package/src/api/messaging/markAsSeen.js +61 -0
  46. package/src/api/messaging/muteThread.js +51 -0
  47. package/src/api/messaging/removeUserFromGroup.js +79 -0
  48. package/src/api/messaging/resolvePhotoUrl.js +44 -0
  49. package/src/api/messaging/searchForThread.js +53 -0
  50. package/src/api/messaging/sendMessage.js +306 -0
  51. package/src/api/messaging/sendMessageMqtt.js +321 -0
  52. package/src/api/messaging/sendTypingIndicator.js +110 -0
  53. package/src/{setMessageReaction.js → api/messaging/setMessageReaction.js} +20 -20
  54. package/src/api/messaging/setTitle.js +90 -0
  55. package/src/api/messaging/shareContact.js +51 -0
  56. package/src/api/messaging/threadColors.js +131 -0
  57. package/src/api/messaging/unsendMessage.js +44 -0
  58. package/src/api/messaging/uploadAttachment.js +93 -0
  59. package/src/api/socket/detail/buildStream.js +100 -0
  60. package/src/{listenMqtt.js → api/socket/listenMqtt.js} +122 -206
  61. package/src/api/threads/changeThreadEmoji.js +55 -0
  62. package/src/api/threads/getThreadInfo.js +572 -0
  63. package/src/{getThreadList.js → api/threads/getThreadList.js} +110 -54
  64. package/src/api/threads/getThreadPictures.js +79 -0
  65. package/src/api/users/getUserID.js +66 -0
  66. package/src/api/users/getUserInfo.js +88 -0
  67. package/src/core/sendReqMqtt.js +63 -0
  68. package/{lib → src}/database/models/index.js +12 -10
  69. package/{lib → src}/database/models/thread.js +5 -5
  70. package/{lib → src}/database/threadData.js +19 -14
  71. package/src/utils/client.js +159 -0
  72. package/src/utils/constants.js +13 -0
  73. package/src/utils/format.js +60 -0
  74. package/src/utils/headers.js +41 -0
  75. package/src/utils/index.js +1497 -0
  76. package/src/utils/request.js +147 -0
  77. package/lib/logger.js +0 -96
  78. package/src/addExternalModule.js +0 -19
  79. package/src/addUserToGroup.js +0 -113
  80. package/src/changeAdminStatus.js +0 -79
  81. package/src/changeArchivedStatus.js +0 -55
  82. package/src/changeAvatar.js +0 -126
  83. package/src/changeBio.js +0 -77
  84. package/src/changeBlockedStatus.js +0 -47
  85. package/src/changeGroupImage.js +0 -132
  86. package/src/changeNickname.js +0 -59
  87. package/src/changeThreadColor.js +0 -65
  88. package/src/changeThreadEmoji.js +0 -55
  89. package/src/createNewGroup.js +0 -86
  90. package/src/createPoll.js +0 -71
  91. package/src/deleteMessage.js +0 -56
  92. package/src/deleteThread.js +0 -56
  93. package/src/forwardAttachment.js +0 -60
  94. package/src/getCurrentUserID.js +0 -7
  95. package/src/getEmojiUrl.js +0 -29
  96. package/src/getFriendsList.js +0 -83
  97. package/src/getMessage.js +0 -796
  98. package/src/getThreadHistory.js +0 -666
  99. package/src/getThreadInfo.js +0 -535
  100. package/src/getThreadPictures.js +0 -79
  101. package/src/getUserID.js +0 -66
  102. package/src/getUserInfo.js +0 -80
  103. package/src/handleFriendRequest.js +0 -61
  104. package/src/handleMessageRequest.js +0 -65
  105. package/src/httpGet.js +0 -57
  106. package/src/httpPost.js +0 -57
  107. package/src/httpPostFormData.js +0 -63
  108. package/src/logout.js +0 -75
  109. package/src/markAsDelivered.js +0 -58
  110. package/src/markAsRead.js +0 -80
  111. package/src/markAsReadAll.js +0 -50
  112. package/src/markAsSeen.js +0 -59
  113. package/src/muteThread.js +0 -52
  114. package/src/removeUserFromGroup.js +0 -79
  115. package/src/resolvePhotoUrl.js +0 -45
  116. package/src/searchForThread.js +0 -53
  117. package/src/sendMessage.js +0 -328
  118. package/src/sendMessageMqtt.js +0 -316
  119. package/src/sendTypingIndicator.js +0 -103
  120. package/src/setPostReaction.js +0 -109
  121. package/src/setTitle.js +0 -86
  122. package/src/shareContact.js +0 -49
  123. package/src/threadColors.js +0 -131
  124. package/src/unfriend.js +0 -52
  125. package/src/unsendMessage.js +0 -49
  126. package/src/uploadAttachment.js +0 -95
  127. package/utils.js +0 -1387
  128. /package/{lib → func}/login.js +0 -0
package/src/getMessage.js DELETED
@@ -1,796 +0,0 @@
1
- "use strict";
2
-
3
- // Original
4
- /**
5
- * @author https://github.com/Schmavery/facebook-chat-api/pull/865
6
- */
7
-
8
- const utils = require("../utils");
9
- const log = require("npmlog");
10
-
11
-
12
- function formatMessage(threadID, data) {
13
- switch (data.__typename) {
14
- case "ThreadNameMessage":
15
- return {
16
- type: "event",
17
- threadID: threadID,
18
- messageID: data.message_id,
19
- logMessageType: "log:thread-name",
20
- logMessageData: {
21
- name: data.thread_name
22
- },
23
- logMessageBody: data.snippet,
24
- timestamp: data.timestamp_precise,
25
- author: data.message_sender.id
26
- };
27
- case "ThreadImageMessage":
28
- const metadata = data.image_with_metadata;
29
- return {
30
- type: "event",
31
- threadID: threadID,
32
- messageID: data.message_id,
33
- logMessageType: "log:thread-image",
34
- logMessageData: metadata ? {
35
- attachmentID: metadata.legacy_attachment_id,
36
- width: metadata.original_dimensions.x,
37
- height: metadata.original_dimensions.y,
38
- url: metadata.preview.uri
39
- } :
40
- {
41
- attachmentID: null,
42
- width: null,
43
- height: null,
44
- url: null
45
- },
46
- logMessageBody: data.snippet,
47
- timestamp: data.timestamp_precise,
48
- author: data.message_sender.id
49
- };
50
- case "GenericAdminTextMessage":
51
- switch (data.extensible_message_admin_text_type) {
52
- case "CHANGE_THREAD_THEME":
53
- return {
54
- type: "event",
55
- threadID: threadID,
56
- messageID: data.message_id,
57
- logMessageType: "log:thread-color",
58
- logMessageData: colors.find(color => color.theme_color === data.extensible_message_admin_text.theme_color) || {
59
- theme_color: data.extensible_message_admin_text.theme_color,
60
- theme_id: null,
61
- theme_emoji: null,
62
- gradient: null,
63
- should_show_icon: null,
64
- theme_name_with_subtitle: null
65
- },
66
- logMessageBody: data.snippet,
67
- timestamp: data.timestamp_precise,
68
- author: data.message_sender.id
69
- };
70
- case "CHANGE_THREAD_ICON":
71
- const thread_icon = data.extensible_message_admin_text.thread_icon;
72
- return {
73
- type: "event",
74
- threadID: threadID,
75
- messageID: data.message_id,
76
- logMessageType: "log:thread-icon",
77
- logMessageData: {
78
- thread_icon_url: `https://static.xx.fbcdn.net/images/emoji.php/v9/t3c/1/16/${thread_icon.codePointAt(0).toString(16)}.png`,
79
- thread_icon: thread_icon
80
- },
81
- logMessageBody: data.snippet,
82
- timestamp: data.timestamp_precise,
83
- author: data.message_sender.id
84
- };
85
- case "CHANGE_THREAD_NICKNAME":
86
- return {
87
- type: "event",
88
- threadID: threadID,
89
- messageID: data.message_id,
90
- logMessageType: "log:user-nickname",
91
- logMessageData: {
92
- nickname: data.extensible_message_admin_text.nickname,
93
- participant_id: data.extensible_message_admin_text.participant_id
94
- },
95
- logMessageBody: data.snippet,
96
- timestamp: data.timestamp_precise,
97
- author: data.message_sender.id
98
- };
99
- case "GROUP_POLL":
100
- const question = data.extensible_message_admin_text.question;
101
- return {
102
- type: "event",
103
- threadID: threadID,
104
- messageID: data.message_id,
105
- logMessageType: "log:thread-poll",
106
- logMessageData: {
107
- question_json: JSON.stringify({
108
- id: question.id,
109
- text: question.text,
110
- total_count: data.extensible_message_admin_text.total_count,
111
- viewer_has_voted: question.viewer_has_voted,
112
- question_type: "",
113
- creator_id: data.message_sender.id,
114
- options: question.options.nodes.map(option => ({
115
- id: option.id,
116
- text: option.text,
117
- total_count: option.voters.nodes.length,
118
- viewer_has_voted: option.viewer_has_voted,
119
- voters: option.voters.nodes.map(voter => voter.id)
120
- }))
121
- }),
122
- event_type: data.extensible_message_admin_text.event_type.toLowerCase(),
123
- question_id: question.id
124
- },
125
- logMessageBody: data.snippet,
126
- timestamp: data.timestamp_precise,
127
- author: data.message_sender.id
128
- };
129
- default:
130
- throw new Error(`Unknown admin text type: "${data.extensible_message_admin_text_type}", if this happens to you let me know when it happens. Please open an issue at https://github.com/ntkhang03/fb-chat-api/issues.`);
131
- }
132
- case "UserMessage":
133
- return {
134
- senderID: data.message_sender.id,
135
- body: data.message.text,
136
- threadID: threadID,
137
- messageID: data.message_id,
138
- reactions: data.message_reactions.map(r => ({
139
- [r.user.id]: r.reaction
140
- })),
141
- attachments: data.blob_attachments && data.blob_attachments.length > 0 ?
142
- data.blob_attachments.length.map(att => {
143
- let x;
144
- try {
145
- x = utils._formatAttachment(att);
146
- } catch (ex) {
147
- x = att;
148
- x.error = ex;
149
- x.type = "unknown";
150
- }
151
- return x;
152
- }) :
153
- data.extensible_attachment && Object.keys(data.extensible_attachment).length > 0 ?
154
- [{
155
- type: "share",
156
- ID: data.extensible_attachment.legacy_attachment_id,
157
- url: data.extensible_attachment.story_attachment.url,
158
-
159
- title: data.extensible_attachment.story_attachment.title_with_entities.text,
160
- description: data.extensible_attachment.story_attachment.description.text,
161
- source: data.extensible_attachment.story_attachment.source,
162
-
163
- image: ((data.extensible_attachment.story_attachment.media || {}).image || {}).uri,
164
- width: ((data.extensible_attachment.story_attachment.media || {}).image || {}).width,
165
- height: ((data.extensible_attachment.story_attachment.media || {}).image || {}).height,
166
- playable: (data.extensible_attachment.story_attachment.media || {}).is_playable || false,
167
- duration: (data.extensible_attachment.story_attachment.media || {}).playable_duration_in_ms || 0,
168
-
169
- subattachments: data.extensible_attachment.subattachments,
170
- properties: data.extensible_attachment.story_attachment.properties
171
- }] :
172
- [],
173
- mentions: data.message.ranges.map(mention => ({
174
- [mention.entity.id]: data.message.text.substring(mention.offset, mention.offset + mention.length)
175
- })),
176
- timestamp: data.timestamp_precise
177
- };
178
- default:
179
- throw new Error(`Unknown message type: "${data.__typename}", if this happens to you let me know when it happens. Please open an issue at https://github.com/ntkhang03/fb-chat-api/issues.`);
180
- // If this happens to you let me know when it happens
181
- // Please open an issue at https://github.com/ntkhang03/fb-chat-api/issues.
182
- // return Object.assign({ type: "unknown", data });
183
- }
184
- }
185
-
186
-
187
- function parseDelta(threadID, delta) {
188
- if (delta.replied_to_message) {
189
- return Object.assign({
190
- type: "message_reply"
191
- }, formatMessage(threadID, delta), {
192
- messageReply: formatMessage(threadID, delta.replied_to_message.message)
193
- });
194
- }
195
- else {
196
- return formatMessage(threadID, delta);
197
- }
198
- }
199
-
200
-
201
- module.exports = function (defaultFuncs, api, ctx) {
202
- return function getMessage(threadID, messageID, callback) {
203
- let resolveFunc = function () { };
204
- let rejectFunc = function () { };
205
- const returnPromise = new Promise(function (resolve, reject) {
206
- resolveFunc = resolve;
207
- rejectFunc = reject;
208
- });
209
-
210
- if (!callback) {
211
- callback = function (err, info) {
212
- if (err)
213
- return rejectFunc(err);
214
- resolveFunc(info);
215
- };
216
- }
217
-
218
- if (!threadID || !messageID) {
219
- return callback({ error: "getMessage: need threadID and messageID" });
220
- }
221
-
222
- const form = {
223
- "av": ctx.globalOptions.pageID,
224
- "queries": JSON.stringify({
225
- "o0": {
226
- //This doc_id is valid as of ? (prob January 18, 2020)
227
- "doc_id": "1768656253222505",
228
- "query_params": {
229
- "thread_and_message_id": {
230
- "thread_id": threadID,
231
- "message_id": messageID
232
- }
233
- }
234
- }
235
- })
236
- };
237
-
238
- defaultFuncs
239
- .post("https://www.facebook.com/api/graphqlbatch/", ctx.jar, form)
240
- .then(utils.parseAndCheckLogin(ctx, defaultFuncs))
241
- .then((resData) => {
242
- if (resData[resData.length - 1].error_results > 0) {
243
- throw resData[0].o0.errors;
244
- }
245
-
246
- if (resData[resData.length - 1].successful_results === 0) {
247
- throw { error: "getMessage: there was no successful_results", res: resData };
248
- }
249
-
250
- const fetchData = resData[0].o0.data.message;
251
- if (fetchData) {
252
- callback(null, parseDelta(threadID, fetchData));
253
- }
254
- else {
255
- throw fetchData;
256
- }
257
- })
258
- .catch((err) => {
259
- log.error("getMessage", err);
260
- callback(err);
261
- });
262
-
263
- return returnPromise;
264
- };
265
- };
266
-
267
- const colors = [
268
- {
269
- theme_color: 'FF000000',
270
- theme_id: '788274591712841',
271
- theme_emoji: '🖤',
272
- gradient: '["FFF0F0F0"]',
273
- should_show_icon: '',
274
- theme_name_with_subtitle: 'Monochrome'
275
- },
276
- {
277
- theme_color: 'FFFF5CA1',
278
- theme_id: '169463077092846',
279
- theme_emoji: null,
280
- gradient: null,
281
- should_show_icon: '1',
282
- theme_name_with_subtitle: 'Hot Pink'
283
- },
284
- {
285
- theme_color: 'FF2825B5',
286
- theme_id: '271607034185782',
287
- theme_emoji: null,
288
- gradient: '["FF5E007E","FF331290","FF2825B5"]',
289
- should_show_icon: '1',
290
- theme_name_with_subtitle: 'Shadow'
291
- },
292
- {
293
- theme_color: 'FFD9A900',
294
- theme_id: '2533652183614000',
295
- theme_emoji: null,
296
- gradient: '["FF550029","FFAA3232","FFD9A900"]',
297
- should_show_icon: '1',
298
- theme_name_with_subtitle: 'Maple'
299
- },
300
- {
301
- theme_color: 'FFFB45DE',
302
- theme_id: '2873642949430623',
303
- theme_emoji: null,
304
- gradient: null,
305
- should_show_icon: '1',
306
- theme_name_with_subtitle: 'Tulip'
307
- },
308
- {
309
- theme_color: 'FF5E007E',
310
- theme_id: '193497045377796',
311
- theme_emoji: null,
312
- gradient: null,
313
- should_show_icon: '1',
314
- theme_name_with_subtitle: 'Grape'
315
- },
316
- {
317
- theme_color: 'FF7AA286',
318
- theme_id: '1455149831518874',
319
- theme_emoji: '🌑',
320
- gradient: '["FF25C0E1","FFCE832A"]',
321
- should_show_icon: '',
322
- theme_name_with_subtitle: 'Dune'
323
- },
324
- {
325
- theme_color: 'FFFAAF00',
326
- theme_id: '672058580051520',
327
- theme_emoji: null,
328
- gradient: null,
329
- should_show_icon: '1',
330
- theme_name_with_subtitle: 'Honey'
331
- },
332
- {
333
- theme_color: 'FF0084FF',
334
- theme_id: '196241301102133',
335
- theme_emoji: null,
336
- gradient: null,
337
- should_show_icon: '1',
338
- theme_name_with_subtitle: 'Default Blue'
339
- },
340
- {
341
- theme_color: 'FFFFC300',
342
- theme_id: '174636906462322',
343
- theme_emoji: null,
344
- gradient: null,
345
- should_show_icon: '1',
346
- theme_name_with_subtitle: 'Yellow'
347
- },
348
- {
349
- theme_color: 'FF44BEC7',
350
- theme_id: '1928399724138152',
351
- theme_emoji: null,
352
- gradient: null,
353
- should_show_icon: '1',
354
- theme_name_with_subtitle: 'Teal Blue'
355
- },
356
- {
357
- theme_color: 'FF7646FF',
358
- theme_id: '234137870477637',
359
- theme_emoji: null,
360
- gradient: null,
361
- should_show_icon: '1',
362
- theme_name_with_subtitle: 'Bright Purple'
363
- },
364
- {
365
- theme_color: 'FFF25C54',
366
- theme_id: '3022526817824329',
367
- theme_emoji: null,
368
- gradient: null,
369
- should_show_icon: '1',
370
- theme_name_with_subtitle: 'Peach'
371
- },
372
- {
373
- theme_color: 'FFF01D6A',
374
- theme_id: '724096885023603',
375
- theme_emoji: null,
376
- gradient: '["FF005FFF","FF9200FF","FFFF2E19"]',
377
- should_show_icon: '1',
378
- theme_name_with_subtitle: 'Berry'
379
- },
380
- {
381
- theme_color: 'FFFF7CA8',
382
- theme_id: '624266884847972',
383
- theme_emoji: null,
384
- gradient: '["FFFF8FB2","FFA797FF","FF00E5FF"]',
385
- should_show_icon: '1',
386
- theme_name_with_subtitle: 'Candy'
387
- },
388
- {
389
- theme_color: 'FF6E5B04',
390
- theme_id: '365557122117011',
391
- theme_emoji: '💛',
392
- gradient: '["FFED9F9A","FFED9F9A","FFED9F9A"]',
393
- should_show_icon: '',
394
- theme_name_with_subtitle: 'Support'
395
- },
396
- {
397
- theme_color: 'FF0052CD',
398
- theme_id: '230032715012014',
399
- theme_emoji: '✌️',
400
- gradient: '["FF0052CD","FF00A1E6","FF0052CD"]',
401
- should_show_icon: '',
402
- theme_name_with_subtitle: 'Tie-Dye'
403
- },
404
- {
405
- theme_color: 'FF601DDD',
406
- theme_id: '1060619084701625',
407
- theme_emoji: '☁️',
408
- gradient: '["FFCA34FF","FF302CFF","FFBA009C"]',
409
- should_show_icon: '',
410
- theme_name_with_subtitle: 'Lo-Fi'
411
- },
412
- {
413
- theme_color: 'FF0099FF',
414
- theme_id: '3273938616164733',
415
- theme_emoji: null,
416
- gradient: null,
417
- should_show_icon: '1',
418
- theme_name_with_subtitle: 'Classic'
419
- },
420
- {
421
- theme_color: 'FF1ADB5B',
422
- theme_id: '370940413392601',
423
- theme_emoji: null,
424
- gradient: '["FFFFD200","FF6EDF00","FF00DFBB"]',
425
- should_show_icon: '1',
426
- theme_name_with_subtitle: 'Citrus'
427
- },
428
- {
429
- theme_color: 'FFD696BB',
430
- theme_id: '2058653964378557',
431
- theme_emoji: null,
432
- gradient: null,
433
- should_show_icon: '1',
434
- theme_name_with_subtitle: 'Lavender Purple'
435
- },
436
- {
437
- theme_color: 'FFC03232',
438
- theme_id: '1059859811490132',
439
- theme_emoji: '🙃',
440
- gradient: '["FFDB4040","FFA32424"]',
441
- should_show_icon: '',
442
- theme_name_with_subtitle: 'Stranger Things'
443
- },
444
- {
445
- theme_color: 'FFFA3C4C',
446
- theme_id: '2129984390566328',
447
- theme_emoji: null,
448
- gradient: null,
449
- should_show_icon: '1',
450
- theme_name_with_subtitle: 'Red'
451
- },
452
- {
453
- theme_color: 'FF13CF13',
454
- theme_id: '2136751179887052',
455
- theme_emoji: null,
456
- gradient: null,
457
- should_show_icon: '1',
458
- theme_name_with_subtitle: 'Green'
459
- },
460
- {
461
- theme_color: 'FFFF7E29',
462
- theme_id: '175615189761153',
463
- theme_emoji: null,
464
- gradient: null,
465
- should_show_icon: '1',
466
- theme_name_with_subtitle: 'Orange'
467
- },
468
- {
469
- theme_color: 'FFE68585',
470
- theme_id: '980963458735625',
471
- theme_emoji: null,
472
- gradient: null,
473
- should_show_icon: '1',
474
- theme_name_with_subtitle: 'Coral Pink'
475
- },
476
- {
477
- theme_color: 'FF20CEF5',
478
- theme_id: '2442142322678320',
479
- theme_emoji: null,
480
- gradient: null,
481
- should_show_icon: '1',
482
- theme_name_with_subtitle: 'Aqua Blue'
483
- },
484
- {
485
- theme_color: 'FF0EDCDE',
486
- theme_id: '417639218648241',
487
- theme_emoji: null,
488
- gradient: '["FF19C9FF","FF00E6D2","FF0EE6B7"]',
489
- should_show_icon: '1',
490
- theme_name_with_subtitle: 'Aqua'
491
- },
492
- {
493
- theme_color: 'FFFF9C19',
494
- theme_id: '930060997172551',
495
- theme_emoji: null,
496
- gradient: '["FFFFDC2D","FFFF9616","FFFF4F00"]',
497
- should_show_icon: '1',
498
- theme_name_with_subtitle: 'Mango'
499
- },
500
- {
501
- theme_color: 'FFF01D6A',
502
- theme_id: '164535220883264',
503
- theme_emoji: null,
504
- gradient: '["FF005FFF","FF9200FF","FFFF2E19"]',
505
- should_show_icon: '1',
506
- theme_name_with_subtitle: 'Berry'
507
- },
508
- {
509
- theme_color: 'FFFF7CA8',
510
- theme_id: '205488546921017',
511
- theme_emoji: null,
512
- gradient: '["FFFF8FB2","FFA797FF","FF00E5FF"]',
513
- should_show_icon: '1',
514
- theme_name_with_subtitle: 'Candy'
515
- },
516
- {
517
- theme_color: 'FFFF6F07',
518
- theme_id: '1833559466821043',
519
- theme_emoji: '🌎',
520
- gradient: '["FFFF6F07"]',
521
- should_show_icon: '',
522
- theme_name_with_subtitle: 'Earth'
523
- },
524
- {
525
- theme_color: 'FF0B0085',
526
- theme_id: '339021464972092',
527
- theme_emoji: '🔈',
528
- gradient: '["FF2FA9E4","FF648FEB","FF9B73F2"]',
529
- should_show_icon: '',
530
- theme_name_with_subtitle: 'Music'
531
- },
532
- {
533
- theme_color: 'FF8A39EF',
534
- theme_id: '1652456634878319',
535
- theme_emoji: '🏳️‍🌈',
536
- gradient: '["FFFF0018","FFFF0417","FFFF310E","FFFF5D06","FFFF7A01","FFFF8701","FFFFB001","FFD9C507","FF79C718","FF01C92D","FF01BE69","FF01B3AA","FF0BA1DF","FF3F77E6","FF724CEC","FF8A39EF","FF8A39EF"]',
537
- should_show_icon: '',
538
- theme_name_with_subtitle: 'Pride'
539
- },
540
- {
541
- theme_color: 'FF004D7C',
542
- theme_id: '538280997628317',
543
- theme_emoji: '🌀',
544
- gradient: '["FF931410","FF931410","FF931410"]',
545
- should_show_icon: '',
546
- theme_name_with_subtitle: 'Doctor Strange'
547
- },
548
- {
549
- theme_color: 'FF4F4DFF',
550
- theme_id: '3190514984517598',
551
- theme_emoji: '🌤',
552
- gradient: '["FF0080FF","FF9F1AFF"]',
553
- should_show_icon: '',
554
- theme_name_with_subtitle: 'Sky'
555
- },
556
- {
557
- theme_color: 'FFE84B28',
558
- theme_id: '357833546030778',
559
- theme_emoji: '🐯',
560
- gradient: '["FFF69500","FFDA0050"]',
561
- should_show_icon: '1',
562
- theme_name_with_subtitle: 'Lunar New Year'
563
- },
564
- {
565
- theme_color: 'FFB24B77',
566
- theme_id: '627144732056021',
567
- theme_emoji: '🥳',
568
- gradient: '["FFF1614E","FF660F84"]',
569
- should_show_icon: '',
570
- theme_name_with_subtitle: 'Celebration!'
571
- },
572
- {
573
- theme_color: 'FF66A9FF',
574
- theme_id: '390127158985345',
575
- theme_emoji: '🥶',
576
- gradient: '["FF8CB3FF","FF409FFF"]',
577
- should_show_icon: '',
578
- theme_name_with_subtitle: 'Chill'
579
- },
580
- {
581
- theme_color: 'FF5797FC',
582
- theme_id: '275041734441112',
583
- theme_emoji: '😌',
584
- gradient: '["FF4AC9E4","FF5890FF","FF8C91FF"]',
585
- should_show_icon: '',
586
- theme_name_with_subtitle: 'Care'
587
- },
588
- {
589
- theme_color: 'FFFF595C',
590
- theme_id: '3082966625307060',
591
- theme_emoji: '💫',
592
- gradient: '["FFFF239A","FFFF8C21"]',
593
- should_show_icon: '',
594
- theme_name_with_subtitle: 'Astrology'
595
- },
596
- {
597
- theme_color: 'FF0171FF',
598
- theme_id: '184305226956268',
599
- theme_emoji: '☁️',
600
- gradient: '["FF0026ee","FF00b2ff"]',
601
- should_show_icon: '',
602
- theme_name_with_subtitle: 'J Balvin'
603
- },
604
- {
605
- theme_color: 'FFA033FF',
606
- theme_id: '621630955405500',
607
- theme_emoji: '🎉',
608
- gradient: '["FFFF7061","FFFF5280","FFA033FF","FF0099FF"]',
609
- should_show_icon: '',
610
- theme_name_with_subtitle: 'Birthday'
611
- },
612
- {
613
- theme_color: 'FF006528',
614
- theme_id: '539927563794799',
615
- theme_emoji: '🍄',
616
- gradient: '["FF00d52f","FF006528"]',
617
- should_show_icon: '',
618
- theme_name_with_subtitle: 'Cottagecore'
619
- },
620
- {
621
- theme_color: 'FF4D3EC2',
622
- theme_id: '736591620215564',
623
- theme_emoji: null,
624
- gradient: null,
625
- should_show_icon: '1',
626
- theme_name_with_subtitle: 'Ocean'
627
- },
628
- {
629
- theme_color: 'FF4e4bf5',
630
- theme_id: '3259963564026002',
631
- theme_emoji: null,
632
- gradient: '["FFAA00FF","FF0080FF"]',
633
- should_show_icon: '1',
634
- theme_name_with_subtitle: 'Default'
635
- },
636
- {
637
- theme_color: 'FF3A12FF',
638
- theme_id: '582065306070020',
639
- theme_emoji: null,
640
- gradient: '["FFFAAF00","FFFF2E2E","FF3A12FF"]',
641
- should_show_icon: '1',
642
- theme_name_with_subtitle: 'Rocket'
643
- },
644
- {
645
- theme_color: 'FF3A1D8A',
646
- theme_id: '273728810607574',
647
- theme_emoji: null,
648
- gradient: '["FFFB45DE","FF841DD5","FF3A1D8A"]',
649
- should_show_icon: '1',
650
- theme_name_with_subtitle: 'Unicorn'
651
- },
652
- {
653
- theme_color: 'FF9FD52D',
654
- theme_id: '262191918210707',
655
- theme_emoji: null,
656
- gradient: '["FF2A7FE3","FF00BF91","FF9FD52D"]',
657
- should_show_icon: '1',
658
- theme_name_with_subtitle: 'Tropical'
659
- },
660
- {
661
- theme_color: 'FFF7B267',
662
- theme_id: '909695489504566',
663
- theme_emoji: null,
664
- gradient: '["FFF25C54","FFF4845F","FFF7B267"]',
665
- should_show_icon: '1',
666
- theme_name_with_subtitle: 'Sushi'
667
- },
668
- {
669
- theme_color: 'FF1ADB5B',
670
- theme_id: '557344741607350',
671
- theme_emoji: null,
672
- gradient: '["FFFFD200","FF6EDF00","FF00DFBB"]',
673
- should_show_icon: '1',
674
- theme_name_with_subtitle: 'Citrus'
675
- },
676
- {
677
- theme_color: 'FF4D3EC2',
678
- theme_id: '280333826736184',
679
- theme_emoji: null,
680
- gradient: '["FFFF625B","FFC532AD","FF4D3EC2"]',
681
- should_show_icon: '1',
682
- theme_name_with_subtitle: 'Lollipop'
683
- },
684
- {
685
- theme_color: 'FFFF311E',
686
- theme_id: '1257453361255152',
687
- theme_emoji: null,
688
- gradient: null,
689
- should_show_icon: '1',
690
- theme_name_with_subtitle: 'Rose'
691
- },
692
- {
693
- theme_color: 'FFA797FF',
694
- theme_id: '571193503540759',
695
- theme_emoji: null,
696
- gradient: null,
697
- should_show_icon: '1',
698
- theme_name_with_subtitle: 'Lavender'
699
- },
700
- {
701
- theme_color: 'FF6EDF00',
702
- theme_id: '3151463484918004',
703
- theme_emoji: null,
704
- gradient: null,
705
- should_show_icon: '1',
706
- theme_name_with_subtitle: 'Kiwi'
707
- },
708
- {
709
- theme_color: 'FF9D59D2',
710
- theme_id: '737761000603635',
711
- theme_emoji: '💛',
712
- gradient: '["FFFFD600","FFFCB37B","FF9D59D2","FF282828"]',
713
- should_show_icon: '',
714
- theme_name_with_subtitle: 'Non-Binary'
715
- },
716
- {
717
- theme_color: 'FF57C39C',
718
- theme_id: '1288506208402340',
719
- theme_emoji: '💐',
720
- gradient: '["FF57C39C","FF57C39C","FF57C39C"]',
721
- should_show_icon: '',
722
- theme_name_with_subtitle: 'Mother\'s Day'
723
- },
724
- {
725
- theme_color: 'FFF65900',
726
- theme_id: '121771470870245',
727
- theme_emoji: '💥',
728
- gradient: '["FFFF8328","FFFF7014","FFFF5C00"]',
729
- should_show_icon: '',
730
- theme_name_with_subtitle: 'APAHM'
731
- },
732
- {
733
- theme_color: 'FF978E21',
734
- theme_id: '810978360551741',
735
- theme_emoji: '🪺',
736
- gradient: '["FF978E21","FF978E21","FF978E21"]',
737
- should_show_icon: '',
738
- theme_name_with_subtitle: 'Parenthood'
739
- },
740
- {
741
- theme_color: 'FFDD8800',
742
- theme_id: '1438011086532622',
743
- theme_emoji: '✨',
744
- gradient: '["FFEDAB00","FFCD6300"]',
745
- should_show_icon: '',
746
- theme_name_with_subtitle: 'Star Wars'
747
- },
748
- {
749
- theme_color: 'FF7D09B9',
750
- theme_id: '101275642962533',
751
- theme_emoji: '🚀',
752
- gradient: '["FF5C22D6","FF8F1EB5","FFC31B92"]',
753
- should_show_icon: '',
754
- theme_name_with_subtitle: 'Guardians of the Galaxy'
755
- },
756
- {
757
- theme_color: 'FF61C500',
758
- theme_id: '158263147151440',
759
- theme_emoji: '🐝',
760
- gradient: '["FF61C500","FF61C500","FF61C500"]',
761
- should_show_icon: '',
762
- theme_name_with_subtitle: 'Bloom'
763
- },
764
- {
765
- theme_color: 'FF826044',
766
- theme_id: '195296273246380',
767
- theme_emoji: '🧋',
768
- gradient: '["FF886546","FFA27F57","FFC6A26E"]',
769
- should_show_icon: '',
770
- theme_name_with_subtitle: 'Bubble Tea'
771
- },
772
- {
773
- theme_color: 'FFB02501',
774
- theme_id: '6026716157422736',
775
- theme_emoji: '⛹️',
776
- gradient: '["FFAC2503","FFB02501","FFB42400"]',
777
- should_show_icon: '',
778
- theme_name_with_subtitle: 'Basketball'
779
- },
780
- {
781
- theme_color: 'FF574DC1',
782
- theme_id: '693996545771691',
783
- theme_emoji: '🖤',
784
- gradient: '["FF4533FF","FF574AE0","FF6C64BE"]',
785
- should_show_icon: '',
786
- theme_name_with_subtitle: 'Elephants&Flowers'
787
- },
788
- {
789
- theme_color: 'FFA8B8DA',
790
- theme_id: '504518465021637',
791
- theme_emoji: '🏳️‍⚧️',
792
- gradient: '["FF55D0FF","FF7597D7","FFFF9FB3","FFFF9FB3"]',
793
- should_show_icon: '',
794
- theme_name_with_subtitle: 'Transgender'
795
- }
796
- ];