sidechat.js 2.3.8 → 2.4.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 (43) hide show
  1. package/dist/classes/SidechatAPIClient.d.ts +17 -2
  2. package/dist/classes/SidechatAPIClient.d.ts.map +1 -1
  3. package/dist/index.cjs +99 -92
  4. package/dist/index.mjs +99 -92
  5. package/docs/sidechat.js/2.4.0/SidechatAPIClient.html +3 -0
  6. package/docs/sidechat.js/{2.3.8 → 2.4.0}/classes_SidechatAPIClient.js.html +95 -91
  7. package/docs/sidechat.js/2.4.0/data/search.json +1 -0
  8. package/package.json +54 -54
  9. package/src/classes/SidechatAPIClient.js +99 -92
  10. package/src/tests/postTest.js +2 -1
  11. package/docs/sidechat.js/2.3.8/SidechatAPIClient.html +0 -3
  12. package/docs/sidechat.js/2.3.8/data/search.json +0 -1
  13. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/SidechatAPIError.html +0 -0
  14. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/SidechatColorList.html +0 -0
  15. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/classes_SidechatAPIError.js.html +0 -0
  16. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/classes_SidechatColorList.js.html +0 -0
  17. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/fonts/Inconsolata-Regular.ttf +0 -0
  18. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/fonts/OpenSans-Regular.ttf +0 -0
  19. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/fonts/WorkSans-Bold.ttf +0 -0
  20. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/global.html +0 -0
  21. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/index.html +0 -0
  22. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/core.js +0 -0
  23. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/core.min.js +0 -0
  24. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/resize.js +0 -0
  25. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/search.js +0 -0
  26. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/search.min.js +0 -0
  27. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/Apache-License-2.0.txt +0 -0
  28. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/fuse.js +0 -0
  29. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/hljs-line-num-original.js +0 -0
  30. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/hljs-line-num.js +0 -0
  31. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/hljs-original.js +0 -0
  32. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/hljs.js +0 -0
  33. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/popper.js +0 -0
  34. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/tippy.js +0 -0
  35. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/tocbot.js +0 -0
  36. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/scripts/third-party/tocbot.min.js +0 -0
  37. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/styles/clean-jsdoc-theme-base.css +0 -0
  38. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/styles/clean-jsdoc-theme-dark.css +0 -0
  39. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/styles/clean-jsdoc-theme-light.css +0 -0
  40. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/styles/clean-jsdoc-theme.min.css +0 -0
  41. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/tutorial-Authentication.html +0 -0
  42. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/tutorial-Email Registration.html +0 -0
  43. /package/docs/sidechat.js/{2.3.8 → 2.4.0}/types_SidechatTypes.js.html +0 -0
@@ -12,6 +12,7 @@ class SidechatAPIClient {
12
12
  * @type {SidechatAuthToken}
13
13
  * */
14
14
  userToken;
15
+
15
16
  /**
16
17
  * Default headers for every API request
17
18
  * @type {Object}
@@ -25,14 +26,25 @@ class SidechatAPIClient {
25
26
  Dnt: 1,
26
27
  };
27
28
 
29
+ /**
30
+ * Root URL for every API request
31
+ * @type {String}
32
+ * @default "https://api.sidechat.lol"
33
+ */
34
+ apiRoot = "https://api.sidechat.lol";
35
+
28
36
  /**
29
37
  * Create a new instance of the API client
30
38
  * @param {SidechatAuthToken} [token] - user bearer token
39
+ * @param {String} rootUrl - custom API root URL for mocking or using other server
31
40
  */
32
- constructor(token = "") {
41
+ constructor(token = "", rootUrl = "") {
33
42
  if (token) {
34
43
  this.userToken = token;
35
44
  }
45
+ if (rootUrl) {
46
+ this.apiRoot = rootUrl;
47
+ }
36
48
  }
37
49
 
38
50
  /**
@@ -44,6 +56,16 @@ class SidechatAPIClient {
44
56
  this.userToken = token;
45
57
  };
46
58
 
59
+ /**
60
+ * Manually set the root URL for all API requests. This can be used for mocking requests or redirecting them to a different server
61
+ * @method
62
+ * @param {String} url - new root URL to set
63
+ * @since 2.3.9
64
+ */
65
+ setAPIRoot = (url) => {
66
+ this.apiRoot = url;
67
+ };
68
+
47
69
  /**
48
70
  * Initiate the login process with a phone number. Should be followed up with verifySMSCode().
49
71
  * @method
@@ -52,7 +74,7 @@ class SidechatAPIClient {
52
74
  */
53
75
  loginViaSMS = async (phoneNumber) => {
54
76
  try {
55
- const res = await fetch(`https://api.sidechat.lol/v1/login_register`, {
77
+ const res = await fetch(`${this.apiRoot}/v1/login_register`, {
56
78
  method: "POST",
57
79
  headers: this.defaultHeaders,
58
80
  body: JSON.stringify({
@@ -77,17 +99,14 @@ class SidechatAPIClient {
77
99
  */
78
100
  verifySMSCode = async (phoneNumber, code) => {
79
101
  try {
80
- const res = await fetch(
81
- `https://api.sidechat.lol/v1/verify_phone_number`,
82
- {
83
- method: "POST",
84
- headers: this.defaultHeaders,
85
- body: JSON.stringify({
86
- phone_number: `+1${phoneNumber}`,
87
- code: code.toUpperCase(),
88
- }),
89
- }
90
- );
102
+ const res = await fetch(`${this.apiRoot}/v1/verify_phone_number`, {
103
+ method: "POST",
104
+ headers: this.defaultHeaders,
105
+ body: JSON.stringify({
106
+ phone_number: `+1${phoneNumber}`,
107
+ code: code.toUpperCase(),
108
+ }),
109
+ });
91
110
  const json = await res.json();
92
111
  if (json?.logged_in_user?.token) {
93
112
  this.userToken = json.logged_in_user.token;
@@ -111,17 +130,14 @@ class SidechatAPIClient {
111
130
  throw new SidechatAPIError("You're too young to use Offsides.");
112
131
  }
113
132
  try {
114
- const res = await fetch(
115
- `https://api.sidechat.lol/v1/complete_registration`,
116
- {
117
- method: "POST",
118
- headers: this.defaultHeaders,
119
- body: JSON.stringify({
120
- age: Number(age),
121
- registration_id: registrationID,
122
- }),
123
- }
124
- );
133
+ const res = await fetch(`${this.apiRoot}/v1/complete_registration`, {
134
+ method: "POST",
135
+ headers: this.defaultHeaders,
136
+ body: JSON.stringify({
137
+ age: Number(age),
138
+ registration_id: registrationID,
139
+ }),
140
+ });
125
141
  const json = await res.json();
126
142
  if (json.token) {
127
143
  this.userToken = json.token;
@@ -145,19 +161,16 @@ class SidechatAPIClient {
145
161
  throw new SidechatAPIError("User is not authenticated.");
146
162
  }
147
163
  try {
148
- const res = await fetch(
149
- `https://api.sidechat.lol/v2/users/register_email`,
150
- {
151
- method: "POST",
152
- headers: {
153
- ...this.defaultHeaders,
154
- Authorization: `Bearer ${this.userToken}`,
155
- },
156
- body: JSON.stringify({
157
- email: email,
158
- }),
159
- }
160
- );
164
+ const res = await fetch(`${this.apiRoot}/v2/users/register_email`, {
165
+ method: "POST",
166
+ headers: {
167
+ ...this.defaultHeaders,
168
+ Authorization: `Bearer ${this.userToken}`,
169
+ },
170
+ body: JSON.stringify({
171
+ email: email,
172
+ }),
173
+ });
161
174
  const json = await res.json();
162
175
  if (json.message) {
163
176
  throw new SidechatAPIError(json.message);
@@ -179,16 +192,13 @@ class SidechatAPIClient {
179
192
  throw new SidechatAPIError("User is not authenticated.");
180
193
  }
181
194
  try {
182
- const res = await fetch(
183
- `https://api.sidechat.lol/v1/users/check_email_verified`,
184
- {
185
- method: "GET",
186
- headers: {
187
- ...this.defaultHeaders,
188
- Authorization: `Bearer ${this.userToken}`,
189
- },
190
- }
191
- );
195
+ const res = await fetch(`${this.apiRoot}/v1/users/check_email_verified`, {
196
+ method: "GET",
197
+ headers: {
198
+ ...this.defaultHeaders,
199
+ Authorization: `Bearer ${this.userToken}`,
200
+ },
201
+ });
192
202
  const json = await res.json();
193
203
  if (json.verified_email_updates_response) {
194
204
  return json.verified_email_updates_response;
@@ -212,21 +222,18 @@ class SidechatAPIClient {
212
222
  throw new SidechatAPIError("User is not authenticated.");
213
223
  }
214
224
  try {
215
- const res = await fetch(
216
- `https://api.sidechat.lol/v1/register_device_token`,
217
- {
218
- method: "POST",
219
- headers: {
220
- ...this.defaultHeaders,
221
- Authorization: `Bearer ${this.userToken}`,
222
- },
223
- body: JSON.stringify({
224
- build_type: "release",
225
- bundle_id: "com.flowerave.sidechat",
226
- device_token: deviceID,
227
- }),
228
- }
229
- );
225
+ const res = await fetch(`${this.apiRoot}/v1/register_device_token`, {
226
+ method: "POST",
227
+ headers: {
228
+ ...this.defaultHeaders,
229
+ Authorization: `Bearer ${this.userToken}`,
230
+ },
231
+ body: JSON.stringify({
232
+ build_type: "release",
233
+ bundle_id: "com.flowerave.sidechat",
234
+ device_token: deviceID,
235
+ }),
236
+ });
230
237
  const json = await res.json();
231
238
  await AsyncStorage.setItem("deviceID", deviceID);
232
239
  return json;
@@ -260,7 +267,7 @@ class SidechatAPIClient {
260
267
  }
261
268
  try {
262
269
  const res = await fetch(
263
- `https://api.sidechat.lol/v1/updates?group_id=${groupID}`,
270
+ `${this.apiRoot}/v1/updates?group_id=${groupID}`,
264
271
  {
265
272
  method: "GET",
266
273
  headers: {
@@ -292,7 +299,7 @@ class SidechatAPIClient {
292
299
  }
293
300
  try {
294
301
  const res = await fetch(
295
- `https://api.sidechat.lol/v1/posts?group_id=${groupID}&type=${category}${
302
+ `${this.apiRoot}/v1/posts?group_id=${groupID}&type=${category}${
296
303
  cursor ? "&cursor=" + cursor : ""
297
304
  }`,
298
305
  {
@@ -323,7 +330,7 @@ class SidechatAPIClient {
323
330
  throw new SidechatAPIError("User is not authenticated.");
324
331
  }
325
332
  try {
326
- const res = await fetch(`https://api.sidechat.lol/v1/posts/set_vote`, {
333
+ const res = await fetch(`${this.apiRoot}/v1/posts/set_vote`, {
327
334
  method: "POST",
328
335
  headers: {
329
336
  ...this.defaultHeaders,
@@ -356,7 +363,7 @@ class SidechatAPIClient {
356
363
  }
357
364
  try {
358
365
  const res = await fetch(
359
- `https://api.sidechat.lol/v1/posts/get?include_deleted=${includeDeleted}&post_id=${postID}`,
366
+ `${this.apiRoot}/v1/posts/get?include_deleted=${includeDeleted}&post_id=${postID}`,
360
367
  {
361
368
  method: "GET",
362
369
  headers: {
@@ -390,16 +397,13 @@ class SidechatAPIClient {
390
397
  contentType = "my_comments";
391
398
  }
392
399
  try {
393
- const res = await fetch(
394
- `https://api.sidechat.lol/v1/posts&type=${contentType}`,
395
- {
396
- method: "GET",
397
- headers: {
398
- ...this.defaultHeaders,
399
- Authorization: `Bearer ${this.userToken}`,
400
- },
401
- }
402
- );
400
+ const res = await fetch(`${this.apiRoot}/v1/posts&type=${contentType}`, {
401
+ method: "GET",
402
+ headers: {
403
+ ...this.defaultHeaders,
404
+ Authorization: `Bearer ${this.userToken}`,
405
+ },
406
+ });
403
407
  const json = await res.json();
404
408
  return json.posts;
405
409
  } catch (err) {
@@ -421,7 +425,7 @@ class SidechatAPIClient {
421
425
  }
422
426
  try {
423
427
  const res = await fetch(
424
- `https://api.sidechat.lol/v1/posts/comments/?post_id=${postID}`,
428
+ `${this.apiRoot}/v1/posts/comments/?post_id=${postID}`,
425
429
  {
426
430
  method: "GET",
427
431
  headers: {
@@ -496,7 +500,7 @@ class SidechatAPIClient {
496
500
  throw new SidechatAPIError("User is not authenticated.");
497
501
  }
498
502
  try {
499
- const res = await fetch(`https://api.sidechat.lol/v1/groups/explore`, {
503
+ const res = await fetch(`${this.apiRoot}/v1/groups/explore`, {
500
504
  method: "GET",
501
505
  headers: {
502
506
  ...this.defaultHeaders,
@@ -523,7 +527,7 @@ class SidechatAPIClient {
523
527
  throw new SidechatAPIError("User is not authenticated.");
524
528
  }
525
529
  try {
526
- const res = await fetch(`https://api.sidechat.lol/v1/assets/library`, {
530
+ const res = await fetch(`${this.apiRoot}/v1/assets/library`, {
527
531
  method: "GET",
528
532
  headers: {
529
533
  ...this.defaultHeaders,
@@ -549,7 +553,7 @@ class SidechatAPIClient {
549
553
  throw new SidechatAPIError("User is not authenticated.");
550
554
  }
551
555
  try {
552
- const res = await fetch(`https://api.sidechat.lol/v1/users/me`, {
556
+ const res = await fetch(`${this.apiRoot}/v1/users/me`, {
553
557
  method: "GET",
554
558
  headers: {
555
559
  ...this.defaultHeaders,
@@ -576,7 +580,7 @@ class SidechatAPIClient {
576
580
  throw new SidechatAPIError("User is not authenticated.");
577
581
  }
578
582
  try {
579
- const res = await fetch(`https://api.sidechat.lol/v1/groups/${groupID}`, {
583
+ const res = await fetch(`${this.apiRoot}/v1/groups/${groupID}`, {
580
584
  method: "GET",
581
585
  headers: {
582
586
  ...this.defaultHeaders,
@@ -604,7 +608,7 @@ class SidechatAPIClient {
604
608
  }
605
609
  try {
606
610
  const res = await fetch(
607
- `https://api.sidechat.lol/v1/groups/${isMember ? "join" : "leave"}`,
611
+ `${this.apiRoot}/v1/groups/${isMember ? "join" : "leave"}`,
608
612
  {
609
613
  method: "POST",
610
614
  headers: {
@@ -634,6 +638,7 @@ class SidechatAPIClient {
634
638
  * @param {String} [replyCommentID] - alphanumeric ID of comment to reply to. Falls back to parentPostID
635
639
  * @param {SidechatSimpleAsset[]} [assetList] - list of assets to attach
636
640
  * @param {Boolean} [disableDMs] - prevent direct messages being sent to comment's author
641
+ * @param {Boolean} [anonymous] - whether or not to hide user's name and icon on comment
637
642
  * @returns {SidechatPostOrComment} created comment
638
643
  */
639
644
  createComment = async (
@@ -642,13 +647,14 @@ class SidechatAPIClient {
642
647
  groupID,
643
648
  replyCommentID = parentPostID,
644
649
  assetList = [],
645
- disableDMs = false
650
+ disableDMs = false,
651
+ anonymous = false
646
652
  ) => {
647
653
  if (!this.userToken) {
648
654
  throw new SidechatAPIError("User is not authenticated.");
649
655
  }
650
656
  try {
651
- const res = await fetch(`https://api.sidechat.lol/v1/posts`, {
657
+ const res = await fetch(`${this.apiRoot}/v1/posts`, {
652
658
  method: "POST",
653
659
  headers: {
654
660
  ...this.defaultHeaders,
@@ -662,6 +668,7 @@ class SidechatAPIClient {
662
668
  reply_post_id: replyCommentID,
663
669
  parent_post_id: parentPostID,
664
670
  dms_disabled: disableDMs,
671
+ using_identity: !anonymous,
665
672
  }),
666
673
  });
667
674
  const json = await res.json();
@@ -696,7 +703,7 @@ class SidechatAPIClient {
696
703
  throw new SidechatAPIError("User is not authenticated.");
697
704
  }
698
705
  try {
699
- const res = await fetch(`https://api.sidechat.lol/v1/posts`, {
706
+ const res = await fetch(`${this.apiRoot}/v1/posts`, {
700
707
  method: "POST",
701
708
  headers: {
702
709
  ...this.defaultHeaders,
@@ -732,7 +739,7 @@ class SidechatAPIClient {
732
739
  throw new SidechatAPIError("User is not authenticated.");
733
740
  }
734
741
  try {
735
- const res = await fetch(`https://api.sidechat.lol/v1/posts/delete`, {
742
+ const res = await fetch(`${this.apiRoot}/v1/posts/delete`, {
736
743
  method: "POST",
737
744
  headers: {
738
745
  ...this.defaultHeaders,
@@ -764,7 +771,7 @@ class SidechatAPIClient {
764
771
  throw new SidechatAPIError("User is not authenticated.");
765
772
  }
766
773
  try {
767
- const res = await fetch(`https://api.sidechat.lol/v1/users/${userID}`, {
774
+ const res = await fetch(`${this.apiRoot}/v1/users/${userID}`, {
768
775
  method: "PATCH",
769
776
  headers: {
770
777
  ...this.defaultHeaders,
@@ -801,7 +808,7 @@ class SidechatAPIClient {
801
808
  }
802
809
  try {
803
810
  const res = await fetch(
804
- `https://api.sidechat.lol/v1/users/username?username=${username}`,
811
+ `${this.apiRoot}/v1/users/username?username=${username}`,
805
812
  {
806
813
  method: "GET",
807
814
  headers: {
@@ -833,7 +840,7 @@ class SidechatAPIClient {
833
840
  throw new SidechatAPIError("User is not authenticated.");
834
841
  }
835
842
  try {
836
- const res = await fetch(`https://api.sidechat.lol/v1/users/${userID}`, {
843
+ const res = await fetch(`${this.apiRoot}/v1/users/${userID}`, {
837
844
  method: "PATCH",
838
845
  headers: {
839
846
  ...this.defaultHeaders,
@@ -862,7 +869,7 @@ class SidechatAPIClient {
862
869
  throw new SidechatAPIError("User is not authenticated.");
863
870
  }
864
871
  try {
865
- const res = await fetch(`https://api.sidechat.lol/v1/activity/seen`, {
872
+ const res = await fetch(`${this.apiRoot}/v1/activity/seen`, {
866
873
  method: "POST",
867
874
  headers: {
868
875
  ...this.defaultHeaders,
@@ -890,7 +897,7 @@ class SidechatAPIClient {
890
897
  throw new SidechatAPIError("User is not authenticated.");
891
898
  }
892
899
  try {
893
- const res = await fetch(`https://api.sidechat.lol/v1/chats/explore`, {
900
+ const res = await fetch(`${this.apiRoot}/v1/chats/explore`, {
894
901
  method: "GET",
895
902
  headers: {
896
903
  ...this.defaultHeaders,
@@ -921,7 +928,7 @@ class SidechatAPIClient {
921
928
  throw new SidechatAPIError("User is not authenticated.");
922
929
  }
923
930
  try {
924
- const res = await fetch(`https://api.sidechat.lol/v1/chats/groups/join`, {
931
+ const res = await fetch(`${this.apiRoot}/v1/chats/groups/join`, {
925
932
  method: "GET",
926
933
  headers: {
927
934
  ...this.defaultHeaders,
@@ -34,7 +34,8 @@ async function main() {
34
34
  } else if (action == "comment on") {
35
35
  const id = prompt("ID of post to comment on? ");
36
36
  const group = prompt("Group ID of post? ");
37
- const res = await API.createComment(id, "woah lol", group);
37
+ const replyID = prompt("Reply ID? (optional) ");
38
+ const res = await API.createComment(id, "woah lol", group, replyID);
38
39
  console.log(res);
39
40
  } else if (action == "get comments") {
40
41
  const id = prompt("ID of post to get comments from? ");
@@ -1,3 +0,0 @@
1
- <!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Class: SidechatAPIClient</title><!--[if lt IE 9]>
2
- <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
3
- <![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(baseURL=(baseURL="https://micahlindley.com/sidechat.js/").replace(/https?:\/\//i,"")).substr(baseURL.indexOf("/"))</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div><div class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><header><h1 id="SidechatAPIClient-title" class="has-anchor">SidechatAPIClient</h1><div class="class-description"><p>API client class for making requests to Sidechat's private API. You'll need to <a href="tutorial-Authentication.html">authenticate</a> before using most of the methods.</p></div></header><article><div class="container-overview"><h2 id="constructor" class="has-anchor">Constructor</h2><h3 class="name has-anchor" id="SidechatAPIClient"><span class="type-signature"></span>new SidechatAPIClient<span class="signature">(token<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Create a new instance of the API client</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>token</code></td><td class="type"><span class="param-type"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>user bearer token</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.0.0-alpha.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line9">line 9</a></li></ul></dd></div></dl></div><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="defaultHeaders"><span class="type-signature">(constant) </span>defaultHeaders<span class="type-signature"> :Object</span></h3><div class="description"><p>Default headers for every API request</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line21">line 21</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="userToken"><span class="type-signature"></span>userToken<span class="type-signature"> :<a href="global.html#SidechatAuthToken">SidechatAuthToken</a></span></h3><div class="description"><p>User bearer token</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line14">line 14</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="checkEmailVerification"><span class="type-signature"></span>checkEmailVerification<span class="signature">()</span></h3><div class="description"><p>Check is the user's email is verified.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line177">line 177</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="checkUsername"><span class="type-signature"></span>checkUsername<span class="signature">(username)</span><span class="type-signature"> &rarr; {Boolean}</span></h3><div class="description"><p>Checks if user can set their username to a string</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>username</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>string to check</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.6</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line798">line 798</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>whether or not username is valid and unused</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Boolean</span></dd></dl></div><h3 class="name has-anchor" id="createComment"><span class="type-signature"></span>createComment<span class="signature">(parentPostID, text, groupID, replyCommentID<span class="signature-attributes">opt</span>, assetList<span class="signature-attributes">opt</span>, disableDMs<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>}</span></h3><div class="description"><p>Creates a comment on a post</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>parentPostID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes"></td><td class="description last"><p>alphanumeric ID of post on which this comment is made</p></td></tr><tr><td class="name"><code>text</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes"></td><td class="description last"><p>text content of comment</p></td></tr><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes"></td><td class="description last"><p>alphanumeric ID of group in which the parent post resides</p></td></tr><tr><td class="name"><code>replyCommentID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>alphanumeric ID of comment to reply to. Falls back to parentPostID</p></td></tr><tr><td class="name"><code>assetList</code></td><td class="type"><span class="param-type">Array.&lt;<a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a>></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>list of assets to attach</p></td></tr><tr><td class="name"><code>disableDMs</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>prevent direct messages being sent to comment's author</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.2.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line639">line 639</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>created comment</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></span></dd></dl></div><h3 class="name has-anchor" id="createPost"><span class="type-signature"></span>createPost<span class="signature">(text, groupID, assetList<span class="signature-attributes">opt</span>, disableDMs<span class="signature-attributes">opt</span>, disableComments<span class="signature-attributes">opt</span>, anonymous<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>}</span></h3><div class="description"><p>Creates a new post in the specified group</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>text</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes"></td><td class="description last"><p>text content of comment</p></td></tr><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes"></td><td class="description last"><p>alphanumeric ID of group in which the parent post resides</p></td></tr><tr><td class="name"><code>assetList</code></td><td class="type"><span class="param-type">Array.&lt;<a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a>></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>list of assets to attach.</p></td></tr><tr><td class="name"><code>disableDMs</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>prevent direct messages from being sent to post's author</p></td></tr><tr><td class="name"><code>disableComments</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>whether or not comments should be disabled on post</p></td></tr><tr><td class="name"><code>anonymous</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>whether or not to hide user's name and icon on post</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.2.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line687">line 687</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>the created post</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></span></dd></dl></div><h3 class="name has-anchor" id="deletePostOrComment"><span class="type-signature"></span>deletePostOrComment<span class="signature">(postOrCommentID)</span></h3><div class="description"><p>Deletes a post or comment that the user created</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>postOrCommentID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>alphanumeric ID of post to delete</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.2.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line730">line 730</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getAssetLibrary"><span class="type-signature"></span>getAssetLibrary<span class="signature">()</span><span class="type-signature"> &rarr; {Array.&lt;<a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a>>}</span></h3><div class="description"><p>Retrieves the entire accessible asset library. Be warned that as of the time of this documentation, it's a 1.5MB JSON download and this request is very expensive.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.0.6</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line521">line 521</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Array.&lt;<a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a>></span></dd></dl></div><h3 class="name has-anchor" id="getAvailableGroups"><span class="type-signature"></span>getAvailableGroups<span class="signature">(onePage)</span><span class="type-signature"> &rarr; {Array.&lt;<a href="global.html#SidechatGroup">SidechatGroup</a>>}</span></h3><div class="description"><p>Gets groups to be displayed on the &quot;Explore Groups&quot; page</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>onePage</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="description last"><p>whether or not results should be returned as a single page</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.0.0-alpha.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line494">line 494</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Array.&lt;<a href="global.html#SidechatGroup">SidechatGroup</a>></span></dd></dl></div><h3 class="name has-anchor" id="getCurrentUser"><span class="type-signature"></span>getCurrentUser<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a>}</span></h3><div class="description"><p>Gets the current authenticated user and a list of the groups of which they are members.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.1.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line547">line 547</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></span></dd></dl></div><h3 class="name has-anchor" id="getGroupChats"><span class="type-signature"></span>getGroupChats<span class="signature">()</span></h3><div class="description"><p>Retrieves joinable group chats</p></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.5</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line888">line 888</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getGroupMetadata"><span class="type-signature"></span>getGroupMetadata<span class="signature">(groupID<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="global.html#SidechatGroup">SidechatGroup</a>}</span></h3><div class="description"><p>Gets the metadata of a group from its ID</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>alphanumeric ID of a group to get. Falls back to user's primary group.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.1.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line574">line 574</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#SidechatGroup">SidechatGroup</a></span></dd></dl></div><h3 class="name has-anchor" id="getGroupPosts"><span class="type-signature"></span>getGroupPosts<span class="signature">(groupID, category, cursor<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {<a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a>}</span></h3><div class="description"><p>Fetches posts from the specified category in a group</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes"></td><td class="description last"><p>group ID</p></td></tr><tr><td class="name"><code>category</code></td><td class="type"><span class="param-type">"hot"</span> |<wbr> <span class="param-type">"recent"</span> |<wbr> <span class="param-type">"top"</span></td><td class="attributes"></td><td class="description last"><p>category to filter posts</p></td></tr><tr><td class="name"><code>cursor</code></td><td class="type"><span class="param-type"><a href="global.html#SidechatCursorString">SidechatCursorString</a></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>cursor string</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line289">line 289</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>List of posts and cursor</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></span></dd></dl></div><h3 class="name has-anchor" id="getPost"><span class="type-signature"></span>getPost<span class="signature">(postID, includeDeleted)</span><span class="type-signature"> &rarr; {<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>}</span></h3><div class="description"><p>Fetches a single post with just its ID</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>postID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>ID of post to fetch</p></td></tr><tr><td class="name"><code>includeDeleted</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="description last"><p>undocumented</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line353">line 353</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>post object</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></span></dd></dl></div><h3 class="name has-anchor" id="getPostComments"><span class="type-signature"></span>getPostComments<span class="signature">(postID)</span><span class="type-signature"> &rarr; {Array.&lt;<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>>}</span></h3><div class="description"><p>Get all the commments on a post</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>postID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>post ID to get comments for</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.0.0-alpha.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line418">line 418</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>list of comments</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Array.&lt;<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>></span></dd></dl></div><h3 class="name has-anchor" id="getUpdates"><span class="type-signature"></span>getUpdates<span class="signature">(groupID<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Get updated status for user and group</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>ID of a specific group to retrieve info from. Falls back to user's primary group.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.1.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line257">line 257</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getUserAndGroup"><span class="type-signature"></span>getUserAndGroup<span class="signature">(groupID<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Get updated status for user and group</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>ID of a specific group to retrieve info from. Falls back to user's primary group.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="important tag-deprecated bold">Deprecated</dt><dd><ul><li>since 2.1.0, will be removed by 3.0.0. Please use `getUpdates` instead!</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line246">line 246</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="getUserContent"><span class="type-signature"></span>getUserContent<span class="signature">(contentType)</span><span class="type-signature"> &rarr; {Array.&lt;<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>>}</span></h3><div class="description"><p>Fetches the posts or comments that the user has created</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>contentType</code></td><td class="type"><span class="param-type">"posts"</span> |<wbr> <span class="param-type">"comments"</span></td><td class="description last"><p>type of user content to fetch</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.5</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line383">line 383</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>post object</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Array.&lt;<a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a>></span></dd></dl></div><h3 class="name has-anchor" id="joinGroupChat"><span class="type-signature"></span>joinGroupChat<span class="signature">()</span></h3><div class="description"><p>Joins a group chat</p></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.5</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line913">line 913</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="loginViaSMS"><span class="type-signature"></span>loginViaSMS<span class="signature">(phoneNumber)</span></h3><div class="description"><p>Initiate the login process with a phone number. Should be followed up with verifySMSCode().</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>phoneNumber</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last"><p>US phone number (WITHOUT +1) to send verification code to</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line53">line 53</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="readActivity"><span class="type-signature"></span>readActivity<span class="signature">(activityID)</span></h3><div class="description"><p>Marks an activity item as read</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>activityID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>alphanumeric ID of activity object</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.2</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line860">line 860</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="registerEmail"><span class="type-signature"></span>registerEmail<span class="signature">(email)</span></h3><div class="description"><p>Initiate the email setup process. Should be followed up with checkEmailVerification().</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>email</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>school email address to send verification code to</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line143">line 143</a></li></ul></dd></div><div class="details-item-container"><dt class="tag-tutorial bold">Tutorials</dt><dd class="tag-tutorial"><ul><li><a href="tutorial-Email Registration.html">Email Registration</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setAge"><span class="type-signature"></span>setAge<span class="signature">(age, registrationID)</span></h3><div class="description"><p>Set the user's age. If this function succeeds, the user will be authenticated for future requests.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>age</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last"><p>user's age in years</p></td></tr><tr><td class="name"><code>registrationID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>the registration ID generated by verifySMSCode()</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line109">line 109</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setDeviceID"><span class="type-signature"></span>setDeviceID<span class="signature">(deviceId)</span></h3><div class="description"><p>Set the device ID of the current user</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>deviceId</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>the device ID to set</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line210">line 210</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setGroupMembership"><span class="type-signature"></span>setGroupMembership<span class="signature">(groupID, isMember)</span></h3><div class="description"><p>Joins or leaves a group</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>groupID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>alphanumeric ID of group to join or leave</p></td></tr><tr><td class="name"><code>isMember</code></td><td class="type"><span class="param-type">Boolean</span></td><td class="description last"><p>whether or not the user should be a member of the group</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.8</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line601">line 601</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setToken"><span class="type-signature"></span>setToken<span class="signature">(token)</span></h3><div class="description"><p>Manually set the currently signed in user's token. Generally try to avoid this and instead either pass a token to the constructor or login automatically through the auth functions</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>token</code></td><td class="type"><span class="param-type"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></span></td><td class="description last"><p>user bearer token</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line43">line 43</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setUserIcon"><span class="type-signature"></span>setUserIcon<span class="signature">(userID, emoji, primaryColor, secondaryColor)</span></h3><div class="description"><p>Sets the conversation icon of the current user</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>userID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>alphanumeric ID of user</p></td></tr><tr><td class="name"><code>emoji</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>emoji to set as icon</p></td></tr><tr><td class="name"><code>primaryColor</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>hex string (including #) of primary color</p></td></tr><tr><td class="name"><code>secondaryColor</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>hex string (including #) of secondary color</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.2.1</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line762">line 762</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setUsername"><span class="type-signature"></span>setUsername<span class="signature">(userID, username)</span></h3><div class="description"><p>Changes the username of the current user</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>userID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>alphanumeric ID of user</p></td></tr><tr><td class="name"><code>username</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>new username to set</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.3.6</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line831">line 831</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setVote"><span class="type-signature"></span>setVote<span class="signature">(postID, action)</span></h3><div class="description"><p>Upvote or downvote, or unvote a post</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>postID</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>post ID to vote on</p></td></tr><tr><td class="name"><code>action</code></td><td class="type"><span class="param-type"><a href="global.html#SidechatVoteString">SidechatVoteString</a></span></td><td class="description last"><p>whether to upvote, downvote, or reset vote</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>2.0.0-alpha.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line321">line 321</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="verifySMSCode"><span class="type-signature"></span>verifySMSCode<span class="signature">(phoneNumber, code)</span></h3><div class="description"><p>Verify the code sent via SMS with loginViaSMS(). If this function succeeds, the user will be authenticated for future requests.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>phoneNumber</code></td><td class="type"><span class="param-type">Number</span></td><td class="description last"><p>US phone number (WITHOUT +1) that verification code was sent to</p></td></tr><tr><td class="name"><code>code</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>the verification code</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-since bold">Since</dt><dd class="tag-since"><ul><li>1.0.0</li></ul></dd></div><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIClient.js.html">classes/SidechatAPIClient.js</a>, <a href="classes_SidechatAPIClient.js.html#line78">line 78</a></li></ul></dd></div></dl></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><a href="/" class="sidebar-title sidebar-title-anchor">Home</a><div class="mobile-nav-links"><div class="navbar-item"><a id="" href="https://github.com/micahlt/offsides#README.md" target="_blank">Offsides (Sidechat for Android)</a></div></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Authentication.html">Authentication</a></div><div class="sidebar-section-children"><a href="tutorial-Email Registration.html">Email Registration</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="SidechatAPIClient.html">SidechatAPIClient</a></div><div class="sidebar-section-children"><a href="SidechatAPIError.html">SidechatAPIError</a></div><div class="sidebar-section-children"><a href="SidechatColorList.html">SidechatColorList</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#SidechatAssetMetadata">SidechatAssetMetadata</a></div><div class="sidebar-section-children"><a href="global.html#SidechatAuthToken">SidechatAuthToken</a></div><div class="sidebar-section-children"><a href="global.html#SidechatColor">SidechatColor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCurrentUser">SidechatCurrentUser</a></div><div class="sidebar-section-children"><a href="global.html#SidechatCursorString">SidechatCursorString</a></div><div class="sidebar-section-children"><a href="global.html#SidechatGroup">SidechatGroup</a></div><div class="sidebar-section-children"><a href="global.html#SidechatIdentity">SidechatIdentity</a></div><div class="sidebar-section-children"><a href="global.html#SidechatLibraryAsset">SidechatLibraryAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatMembership">SidechatMembership</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostOrComment">SidechatPostOrComment</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPostsAndCursor">SidechatPostsAndCursor</a></div><div class="sidebar-section-children"><a href="global.html#SidechatPrivateAssetURL">SidechatPrivateAssetURL</a></div><div class="sidebar-section-children"><a href="global.html#SidechatSimpleAsset">SidechatSimpleAsset</a></div><div class="sidebar-section-children"><a href="global.html#SidechatVoteString">SidechatVoteString</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>