sidechat.js 2.3.2 → 2.3.6

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 (80) hide show
  1. package/dist/classes/SidechatAPIClient.d.ts +41 -3
  2. package/dist/classes/SidechatAPIClient.d.ts.map +1 -1
  3. package/dist/classes/SidechatColorList.d.ts +25 -0
  4. package/dist/classes/SidechatColorList.d.ts.map +1 -0
  5. package/dist/index.cjs +250 -4
  6. package/dist/index.d.mts +2 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.mjs +250 -5
  10. package/docs/sidechat.js/2.3.3/SidechatAPIClient.html +3 -0
  11. package/docs/sidechat.js/2.3.3/SidechatAPIError.html +3 -0
  12. package/docs/sidechat.js/2.3.3/classes_SidechatAPIClient.js.html +752 -0
  13. package/docs/sidechat.js/2.3.3/classes_SidechatAPIError.js.html +16 -0
  14. package/docs/sidechat.js/2.3.3/data/search.json +1 -0
  15. package/docs/sidechat.js/2.3.3/fonts/Inconsolata-Regular.ttf +0 -0
  16. package/docs/sidechat.js/2.3.3/fonts/OpenSans-Regular.ttf +0 -0
  17. package/docs/sidechat.js/2.3.3/fonts/WorkSans-Bold.ttf +0 -0
  18. package/docs/sidechat.js/2.3.3/global.html +3 -0
  19. package/docs/sidechat.js/2.3.3/index.html +4 -0
  20. package/docs/sidechat.js/2.3.3/scripts/core.js +702 -0
  21. package/docs/sidechat.js/2.3.3/scripts/core.min.js +23 -0
  22. package/docs/sidechat.js/2.3.3/scripts/resize.js +90 -0
  23. package/docs/sidechat.js/2.3.3/scripts/search.js +265 -0
  24. package/docs/sidechat.js/2.3.3/scripts/search.min.js +6 -0
  25. package/docs/sidechat.js/2.3.3/scripts/third-party/Apache-License-2.0.txt +202 -0
  26. package/docs/sidechat.js/2.3.3/scripts/third-party/fuse.js +9 -0
  27. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs-line-num-original.js +369 -0
  28. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs-line-num.js +1 -0
  29. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs-original.js +5171 -0
  30. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs.js +1 -0
  31. package/docs/sidechat.js/2.3.3/scripts/third-party/popper.js +5 -0
  32. package/docs/sidechat.js/2.3.3/scripts/third-party/tippy.js +1 -0
  33. package/docs/sidechat.js/2.3.3/scripts/third-party/tocbot.js +672 -0
  34. package/docs/sidechat.js/2.3.3/scripts/third-party/tocbot.min.js +1 -0
  35. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme-base.css +975 -0
  36. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme-dark.css +407 -0
  37. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme-light.css +388 -0
  38. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme.min.css +1 -0
  39. package/docs/sidechat.js/2.3.3/tutorial-Authentication.html +14 -0
  40. package/docs/sidechat.js/2.3.3/tutorial-Email Registration.html +6 -0
  41. package/docs/sidechat.js/2.3.3/types_SidechatTypes.js.html +134 -0
  42. package/docs/sidechat.js/2.3.6/SidechatAPIClient.html +3 -0
  43. package/docs/sidechat.js/2.3.6/SidechatAPIError.html +3 -0
  44. package/docs/sidechat.js/2.3.6/classes_SidechatAPIClient.js.html +919 -0
  45. package/docs/sidechat.js/2.3.6/classes_SidechatAPIError.js.html +16 -0
  46. package/docs/sidechat.js/2.3.6/classes_SidechatColorList.js.html +80 -0
  47. package/docs/sidechat.js/2.3.6/data/search.json +1 -0
  48. package/docs/sidechat.js/2.3.6/fonts/Inconsolata-Regular.ttf +0 -0
  49. package/docs/sidechat.js/2.3.6/fonts/OpenSans-Regular.ttf +0 -0
  50. package/docs/sidechat.js/2.3.6/fonts/WorkSans-Bold.ttf +0 -0
  51. package/docs/sidechat.js/2.3.6/global.html +3 -0
  52. package/docs/sidechat.js/2.3.6/index.html +4 -0
  53. package/docs/sidechat.js/2.3.6/scripts/core.js +702 -0
  54. package/docs/sidechat.js/2.3.6/scripts/core.min.js +23 -0
  55. package/docs/sidechat.js/2.3.6/scripts/resize.js +90 -0
  56. package/docs/sidechat.js/2.3.6/scripts/search.js +265 -0
  57. package/docs/sidechat.js/2.3.6/scripts/search.min.js +6 -0
  58. package/docs/sidechat.js/2.3.6/scripts/third-party/Apache-License-2.0.txt +202 -0
  59. package/docs/sidechat.js/2.3.6/scripts/third-party/fuse.js +9 -0
  60. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-line-num-original.js +369 -0
  61. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-line-num.js +1 -0
  62. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-original.js +5171 -0
  63. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs.js +1 -0
  64. package/docs/sidechat.js/2.3.6/scripts/third-party/popper.js +5 -0
  65. package/docs/sidechat.js/2.3.6/scripts/third-party/tippy.js +1 -0
  66. package/docs/sidechat.js/2.3.6/scripts/third-party/tocbot.js +672 -0
  67. package/docs/sidechat.js/2.3.6/scripts/third-party/tocbot.min.js +1 -0
  68. package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-base.css +975 -0
  69. package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-dark.css +407 -0
  70. package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-light.css +388 -0
  71. package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme.min.css +1 -0
  72. package/docs/sidechat.js/2.3.6/tutorial-Authentication.html +14 -0
  73. package/docs/sidechat.js/2.3.6/tutorial-Email Registration.html +6 -0
  74. package/docs/sidechat.js/2.3.6/types_SidechatTypes.js.html +134 -0
  75. package/jsdoc.json +2 -1
  76. package/package.json +1 -1
  77. package/src/classes/SidechatAPIClient.js +173 -4
  78. package/src/classes/SidechatColorList.js +77 -0
  79. package/src/index.js +2 -1
  80. package/src/tests/colorTest.js +1 -0
package/dist/index.mjs CHANGED
@@ -30,7 +30,7 @@ class SidechatAPIClient {
30
30
  defaultHeaders = {
31
31
  Accept: "application/json",
32
32
  "Content-Type": "application/json",
33
- "App-Version": "10.0.0",
33
+ "App-Version": "4.2.0",
34
34
  Dnt: 1,
35
35
  };
36
36
 
@@ -382,6 +382,41 @@ class SidechatAPIClient {
382
382
  }
383
383
  };
384
384
 
385
+ /**
386
+ * Fetches the posts or comments that the user has created
387
+ * @method
388
+ * @since 2.3.5
389
+ * @param {"posts"|"comments"} contentType - type of user content to fetch
390
+ * @returns {SidechatPostOrComment[]} post object
391
+ */
392
+ getUserContent = async (contentType) => {
393
+ if (!this.userToken) {
394
+ throw new SidechatAPIError("User is not authenticated.");
395
+ }
396
+ if (contentType == "posts") {
397
+ contentType = "my_posts";
398
+ } else if (contentType == "comments") {
399
+ contentType = "my_comments";
400
+ }
401
+ try {
402
+ const res = await fetch(
403
+ `https://api.sidechat.lol/v1/posts&type=${contentType}`,
404
+ {
405
+ method: "GET",
406
+ headers: {
407
+ ...this.defaultHeaders,
408
+ Authorization: `Bearer ${this.userToken}`,
409
+ },
410
+ }
411
+ );
412
+ const json = await res.json();
413
+ return json.posts;
414
+ } catch (err) {
415
+ console.error(err);
416
+ throw new SidechatAPIError(`Failed to get content from user.`);
417
+ }
418
+ };
419
+
385
420
  /**
386
421
  * Get all the commments on a post
387
422
  * @method
@@ -462,9 +497,10 @@ class SidechatAPIClient {
462
497
  * Gets groups to be displayed on the "Explore Groups" page
463
498
  * @method
464
499
  * @since 2.0.0-alpha.0
500
+ * @param {Boolean} onePage - whether or not results should be returned as a single page
465
501
  * @returns {SidechatGroup[]}
466
502
  */
467
- getAvailableGroups = async () => {
503
+ getAvailableGroups = async (onePage = true) => {
468
504
  if (!this.userToken) {
469
505
  throw new SidechatAPIError("User is not authenticated.");
470
506
  }
@@ -473,6 +509,7 @@ class SidechatAPIClient {
473
509
  method: "GET",
474
510
  headers: {
475
511
  ...this.defaultHeaders,
512
+ "App-Version": onePage ? "0" : this.defaultHeaders["App-Version"],
476
513
  Authorization: `Bearer ${this.userToken}`,
477
514
  },
478
515
  });
@@ -620,6 +657,7 @@ class SidechatAPIClient {
620
657
  * @param {SidechatSimpleAsset[]} [assetList] - list of assets to attach.
621
658
  * @param {Boolean} [disableDMs] - prevent direct messages from being sent to post's author
622
659
  * @param {Boolean} [disableComments] - whether or not comments should be disabled on post
660
+ * @param {Boolean} [anonymous] - whether or not to hide user's name and icon on post
623
661
  * @returns {SidechatPostOrComment} the created post
624
662
  */
625
663
  createPost = async (
@@ -627,7 +665,8 @@ class SidechatAPIClient {
627
665
  groupID,
628
666
  assetList = [],
629
667
  disableDMs = false,
630
- disableComments = false
668
+ disableComments = false,
669
+ anonymous = false
631
670
  ) => {
632
671
  if (!this.userToken) {
633
672
  throw new SidechatAPIError("User is not authenticated.");
@@ -647,6 +686,7 @@ class SidechatAPIClient {
647
686
  attachments: [],
648
687
  dms_disabled: disableDMs,
649
688
  comments_disabled: disableComments,
689
+ using_identity: !anonymous,
650
690
  }),
651
691
  });
652
692
  const json = await res.json();
@@ -690,7 +730,7 @@ class SidechatAPIClient {
690
730
  * Sets the conversation icon of the current user
691
731
  * @method
692
732
  * @since 2.2.1
693
- * @param {String} userID - alphanumeric ID of the post to delete
733
+ * @param {String} userID - alphanumeric ID of user
694
734
  * @param {String} emoji - emoji to set as icon
695
735
  * @param {String} primaryColor - hex string (including #) of primary color
696
736
  * @param {String} secondaryColor - hex string (including #) of secondary color
@@ -704,6 +744,7 @@ class SidechatAPIClient {
704
744
  method: "PATCH",
705
745
  headers: {
706
746
  ...this.defaultHeaders,
747
+ "App-Version": "0",
707
748
  Authorization: `Bearer ${this.userToken}`,
708
749
  },
709
750
  body: JSON.stringify({
@@ -723,6 +764,69 @@ class SidechatAPIClient {
723
764
  }
724
765
  };
725
766
 
767
+ /**
768
+ * Checks if user can set their username to a string
769
+ * @method
770
+ * @since 2.3.6
771
+ * @param {String} username - string to check
772
+ * @returns {Boolean} whether or not username is valid and unused
773
+ */
774
+ checkUsername = async (username) => {
775
+ if (!this.userToken) {
776
+ throw new SidechatAPIError("User is not authenticated.");
777
+ }
778
+ try {
779
+ const res = await fetch(
780
+ `https://api.sidechat.lol/v1/users/username?username=${username}`,
781
+ {
782
+ method: "GET",
783
+ headers: {
784
+ ...this.defaultHeaders,
785
+ Authorization: `Bearer ${this.userToken}`,
786
+ },
787
+ }
788
+ );
789
+ if (res?.status == 200 || res?.status == 204) {
790
+ return true;
791
+ } else {
792
+ return false;
793
+ }
794
+ } catch (err) {
795
+ console.error(err);
796
+ throw new SidechatAPIError(`Failed to check username.`);
797
+ }
798
+ };
799
+
800
+ /**
801
+ * Changes the username of the current user
802
+ * @method
803
+ * @since 2.3.6
804
+ * @param {String} userID - alphanumeric ID of user
805
+ * @param {String} username - new username to set
806
+ */
807
+ setUsername = async (userID, username) => {
808
+ if (!this.userToken) {
809
+ throw new SidechatAPIError("User is not authenticated.");
810
+ }
811
+ try {
812
+ const res = await fetch(`https://api.sidechat.lol/v1/users/${userID}`, {
813
+ method: "PATCH",
814
+ headers: {
815
+ ...this.defaultHeaders,
816
+ Authorization: `Bearer ${this.userToken}`,
817
+ },
818
+ body: JSON.stringify({
819
+ username: username,
820
+ }),
821
+ });
822
+ const json = await res.json();
823
+ return await json.user;
824
+ } catch (err) {
825
+ console.error(err);
826
+ throw new SidechatAPIError(`Failed to set icon.`);
827
+ }
828
+ };
829
+
726
830
  /**
727
831
  * Marks an activity item as read
728
832
  * @method
@@ -751,6 +855,147 @@ class SidechatAPIClient {
751
855
  throw new SidechatAPIError(`Failed to mark activity as read.`);
752
856
  }
753
857
  };
858
+
859
+ /**
860
+ * Retrieves joinable group chats
861
+ * @method
862
+ * @since 2.3.5
863
+ */
864
+ getGroupChats = async () => {
865
+ if (!this.userToken) {
866
+ throw new SidechatAPIError("User is not authenticated.");
867
+ }
868
+ try {
869
+ const res = await fetch(`https://api.sidechat.lol/v1/chats/explore`, {
870
+ method: "GET",
871
+ headers: {
872
+ ...this.defaultHeaders,
873
+ Authorization: `Bearer ${this.userToken}`,
874
+ },
875
+ });
876
+ const json = await res.json();
877
+ return await json.chats;
878
+ } catch (err) {
879
+ console.error(err);
880
+ throw new SidechatAPIError(`Failed to get groupchats.`);
881
+ }
882
+ };
883
+
884
+ /**
885
+ * Joins a group chat
886
+ * @method
887
+ * @since 2.3.5
888
+ */
889
+ joinGroupChat = async (
890
+ groupChatID,
891
+ displayName,
892
+ emoji,
893
+ primaryColor,
894
+ secondaryColor
895
+ ) => {
896
+ if (!this.userToken) {
897
+ throw new SidechatAPIError("User is not authenticated.");
898
+ }
899
+ try {
900
+ const res = await fetch(`https://api.sidechat.lol/v1/chats/groups/join`, {
901
+ method: "GET",
902
+ headers: {
903
+ ...this.defaultHeaders,
904
+ Authorization: `Bearer ${this.userToken}`,
905
+ },
906
+ body: JSON.stringify({
907
+ chat_id: groupChatID,
908
+ identity: {
909
+ display_name: displayName,
910
+ emoji: emoji,
911
+ secondary_color: secondaryColor,
912
+ color: primaryColor,
913
+ },
914
+ }),
915
+ });
916
+ const json = await res.json();
917
+ return await json;
918
+ } catch (err) {
919
+ console.error(err);
920
+ throw new SidechatAPIError(`Failed to join groupchat.`);
921
+ }
922
+ };
754
923
  }
755
924
 
756
- export { SidechatAPIClient, SidechatAPIError };
925
+ /**
926
+ * @typedef SidechatColor
927
+ * @prop {String} primary - hex code of primary color
928
+ * @prop {String} secondary - hex code of secondary color
929
+ */
930
+
931
+ /**
932
+ * List of colors compatible with user conversation icons
933
+ * @constant
934
+ * @type {{ colors: SidechatColor[] }}
935
+ */
936
+ const SidechatColorList = {
937
+ colors: [
938
+ {
939
+ primary: "#74DEEE",
940
+ secondary: "#239EAB",
941
+ },
942
+ {
943
+ primary: "#15FF46",
944
+ secondary: "#3FC0FF",
945
+ },
946
+ {
947
+ primary: "#D9FB8A",
948
+ secondary: "#B1FD00",
949
+ },
950
+ {
951
+ primary: "#FC40FF",
952
+ secondary: "#0DD5B2",
953
+ },
954
+ {
955
+ primary: "#3E973C",
956
+ secondary: "#0F430E",
957
+ },
958
+ {
959
+ primary: "#FFD305",
960
+ secondary: "#F4B320",
961
+ },
962
+ {
963
+ primary: "#8483FF",
964
+ secondary: "#5857FF",
965
+ },
966
+ {
967
+ primary: "#FA81FF",
968
+ secondary: "#722DFF",
969
+ },
970
+ {
971
+ primary: "#00CBFE",
972
+ secondary: "#0D13D5",
973
+ },
974
+ {
975
+ primary: "#FF7B51",
976
+ secondary: "#B2431F",
977
+ },
978
+ {
979
+ primary: "#FF47CC",
980
+ secondary: "#69004C",
981
+ },
982
+ {
983
+ primary: "#00EE6E",
984
+ secondary: "#0C75E6",
985
+ },
986
+ {
987
+ primary: "#FF1885",
988
+ secondary: "#FA81FF",
989
+ },
990
+ {
991
+ primary: "#D8DC44",
992
+ secondary: "#228B3F",
993
+ },
994
+ {
995
+ primary: "#0968E5",
996
+ secondary: "#091970",
997
+ },
998
+ ],
999
+ };
1000
+
1001
+ export { SidechatAPIClient, SidechatAPIError, SidechatColorList };
@@ -0,0 +1,3 @@
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><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#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="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#line571">line 571</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>)</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></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#line618">line 618</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#line659">line 659</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#line486">line 486</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#line459">line 459</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#line512">line 512</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="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#line539">line 539</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#line383">line 383</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="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#line725">line 725</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="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 the post to delete</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#line691">line 691</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><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#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>
@@ -0,0 +1,3 @@
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: SidechatAPIError</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><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#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="SidechatAPIError-title" class="has-anchor">SidechatAPIError</h1><div class="class-description"><p>Throwable error caused by the Sidechat API</p></div></header><article><div class="container-overview"><h2 id="constructor" class="has-anchor">Constructor</h2><h3 class="name has-anchor" id="SidechatAPIError"><span class="type-signature"></span>new SidechatAPIError<span class="signature">()</span></h3><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="classes_SidechatAPIError.js.html">classes/SidechatAPIError.js</a>, <a href="classes_SidechatAPIError.js.html#line6">line 6</a></li></ul></dd></div></dl></div><h2 id="Extends" class="subsection-title has-anchor">Extends</h2><ul><li>Error</li></ul></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><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#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>