UNPKG

plugapi

Version:

Generic API for building plug.dj bots

1,523 lines (984 loc) 256 kB
<!doctype html> <html> <head> <meta charset='utf-8' /> <title>plugAPI 5.1.0 | Documentation</title> <meta name='viewport' content='width=device-width,initial-scale=1'> <link href='assets/bass.css' type='text/css' rel='stylesheet' /> <link href='assets/style.css' type='text/css' rel='stylesheet' /> <link href='assets/github.css' type='text/css' rel='stylesheet' /> <link href='assets/split.css' type='text/css' rel='stylesheet' /> </head> <body class='documentation m0'> <div class='flex'> <div id='split-left' class='overflow-auto fs0 height-viewport-100'> <div class='py1 px2'> <h3 class='mb0 no-anchor'>plugAPI</h3> <div class='mb1'><code>5.1.0</code></div> <input placeholder='Filter' id='filter-input' class='col12 block input' type='text' /> <div id='toc'> <ul class='list-reset h5 py1-ul'> <li><a href='#plugapi' class=" toggle-sibling"> PlugAPI <span class='icon'>▸</span> </a> <div class='toggle-target display-none'> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Static members</span></li> <li><a href='#plugapiroom_role' class='regular pre-open'> .ROOM_ROLE </a></li> <li><a href='#plugapiglobal_roles' class='regular pre-open'> .GLOBAL_ROLES </a></li> <li><a href='#plugapistatus' class='regular pre-open'> .STATUS </a></li> <li><a href='#plugapiban' class='regular pre-open'> .BAN </a></li> <li><a href='#plugapiban_reason' class='regular pre-open'> .BAN_REASON </a></li> <li><a href='#plugapimute' class='regular pre-open'> .MUTE </a></li> <li><a href='#plugapimute_reason' class='regular pre-open'> .MUTE_REASON </a></li> <li><a href='#plugapiwlban' class='regular pre-open'> .WLBAN </a></li> <li><a href='#plugapiwlban_reason' class='regular pre-open'> .WLBAN_REASON </a></li> <li><a href='#plugapiutils' class='regular pre-open'> .Utils </a></li> </ul> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Instance members</span></li> <li><a href='#plugapicommandprefix' class='regular pre-open'> #commandPrefix </a></li> <li><a href='#plugapimultiline' class='regular pre-open'> #multiLine </a></li> <li><a href='#plugapimultilinelimit' class='regular pre-open'> #multiLineLimit </a></li> <li><a href='#plugapiprocessownmessages' class='regular pre-open'> #processOwnMessages </a></li> <li><a href='#plugapideletecommands' class='regular pre-open'> #deleteCommands </a></li> <li><a href='#plugapideletemessageblocks' class='regular pre-open'> #deleteMessageBlocks </a></li> <li><a href='#plugapideleteallchat' class='regular pre-open'> #deleteAllChat </a></li> <li><a href='#plugapimutedtriggernormalevents' class='regular pre-open'> #mutedTriggerNormalEvents </a></li> <li><a href='#plugapiprecommandhandler' class='regular pre-open'> #preCommandHandler </a></li> <li><a href='#plugapiconnect' class='regular pre-open'> #connect </a></li> <li><a href='#plugapichangeroom' class='regular pre-open'> #changeRoom </a></li> <li><a href='#plugapiclose' class='regular pre-open'> #close </a></li> <li><a href='#plugapigetchathistory' class='regular pre-open'> #getChatHistory </a></li> <li><a href='#plugapigethistory' class='regular pre-open'> #getHistory </a></li> <li><a href='#plugapigetboothmeta' class='regular pre-open'> #getBoothMeta </a></li> <li><a href='#plugapigethistoryid' class='regular pre-open'> #getHistoryID </a></li> <li><a href='#plugapigetmedia' class='regular pre-open'> #getMedia </a></li> <li><a href='#plugapigetroommeta' class='regular pre-open'> #getRoomMeta </a></li> <li><a href='#plugapigetroomscore' class='regular pre-open'> #getRoomScore </a></li> <li><a href='#plugapijoinbooth' class='regular pre-open'> #joinBooth </a></li> <li><a href='#plugapileavebooth' class='regular pre-open'> #leaveBooth </a></li> <li><a href='#plugapisendchat' class='regular pre-open'> #sendChat </a></li> <li><a href='#plugapigetavatar' class='regular pre-open'> #getAvatar </a></li> <li><a href='#plugapigetavatars' class='regular pre-open'> #getAvatars </a></li> <li><a href='#plugapisetavatar' class='regular pre-open'> #setAvatar </a></li> <li><a href='#plugapigetadmins' class='regular pre-open'> #getAdmins </a></li> <li><a href='#plugapigetallstaff' class='regular pre-open'> #getAllStaff </a></li> <li><a href='#plugapigetambassadors' class='regular pre-open'> #getAmbassadors </a></li> <li><a href='#plugapigetaudience' class='regular pre-open'> #getAudience </a></li> <li><a href='#plugapigetdj' class='regular pre-open'> #getDJ </a></li> <li><a href='#plugapigetdjs' class='regular pre-open'> #getDJs </a></li> <li><a href='#plugapigethost' class='regular pre-open'> #getHost </a></li> <li><a href='#plugapigetself' class='regular pre-open'> #getSelf </a></li> <li><a href='#plugapigetstaff' class='regular pre-open'> #getStaff </a></li> <li><a href='#plugapigetuser' class='regular pre-open'> #getUser </a></li> <li><a href='#plugapigetusers' class='regular pre-open'> #getUsers </a></li> <li><a href='#plugapigetwaitlist' class='regular pre-open'> #getWaitList </a></li> <li><a href='#plugapigetwaitlistposition' class='regular pre-open'> #getWaitListPosition </a></li> <li><a href='#plugapihavepermission' class='regular pre-open'> #havePermission </a></li> <li><a href='#plugapigettimeelapsed' class='regular pre-open'> #getTimeElapsed </a></li> <li><a href='#plugapigettimeremaining' class='regular pre-open'> #getTimeRemaining </a></li> <li><a href='#plugapigetcommandprefix' class='regular pre-open'> #getCommandPrefix </a></li> <li><a href='#plugapisetcommandprefix' class='regular pre-open'> #setCommandPrefix </a></li> <li><a href='#plugapigetbaseurl' class='regular pre-open'> #getBaseURL </a></li> <li><a href='#plugapisetbaseurl' class='regular pre-open'> #setBaseURL </a></li> <li><a href='#plugapigetsocketurl' class='regular pre-open'> #getSocketURL </a></li> <li><a href='#plugapisetsocketurl' class='regular pre-open'> #setSocketURL </a></li> <li><a href='#plugapiwoot' class='regular pre-open'> #woot </a></li> <li><a href='#plugapimeh' class='regular pre-open'> #meh </a></li> <li><a href='#plugapigrab' class='regular pre-open'> #grab </a></li> <li><a href='#plugapiactivateplaylist' class='regular pre-open'> #activatePlaylist </a></li> <li><a href='#plugapiaddsongtoplaylist' class='regular pre-open'> #addSongToPlaylist </a></li> <li><a href='#plugapiremovesongfromplaylist' class='regular pre-open'> #removeSongFromPlaylist </a></li> <li><a href='#plugapicreateplaylist' class='regular pre-open'> #createPlaylist </a></li> <li><a href='#plugapideleteplaylist' class='regular pre-open'> #deletePlaylist </a></li> <li><a href='#plugapigetactiveplaylist' class='regular pre-open'> #getActivePlaylist </a></li> <li><a href='#plugapigetplaylist' class='regular pre-open'> #getPlaylist </a></li> <li><a href='#plugapigetplaylists' class='regular pre-open'> #getPlaylists </a></li> <li><a href='#plugapigetplaylistmedias' class='regular pre-open'> #getPlaylistMedias </a></li> <li><a href='#plugapiplaylistmovemedia' class='regular pre-open'> #playlistMoveMedia </a></li> <li><a href='#plugapishuffleplaylist' class='regular pre-open'> #shufflePlaylist </a></li> <li><a href='#plugapimoderateadddj' class='regular pre-open'> #moderateAddDJ </a></li> <li><a href='#plugapimoderatebanuser' class='regular pre-open'> #moderateBanUser </a></li> <li><a href='#plugapimoderatedeletechat' class='regular pre-open'> #moderateDeleteChat </a></li> <li><a href='#plugapimoderateforceskip' class='regular pre-open'> #moderateForceSkip </a></li> <li><a href='#plugapiselfskip' class='regular pre-open'> #selfSkip </a></li> <li><a href='#plugapimoderatemovedj' class='regular pre-open'> #moderateMoveDJ </a></li> <li><a href='#plugapimoderatemuteuser' class='regular pre-open'> #moderateMuteUser </a></li> <li><a href='#plugapimoderateremovedj' class='regular pre-open'> #moderateRemoveDJ </a></li> <li><a href='#plugapimoderatesetrole' class='regular pre-open'> #moderateSetRole </a></li> <li><a href='#plugapimoderatewaitlistban' class='regular pre-open'> #moderateWaitListBan </a></li> <li><a href='#plugapimoderateunbanuser' class='regular pre-open'> #moderateUnbanUser </a></li> <li><a href='#plugapimoderatewaitlistunbanuser' class='regular pre-open'> #moderateWaitListUnbanUser </a></li> <li><a href='#plugapimoderateunmuteuser' class='regular pre-open'> #moderateUnmuteUser </a></li> <li><a href='#plugapichangeroomname' class='regular pre-open'> #changeRoomName </a></li> <li><a href='#plugapichangeroomchatlevel' class='regular pre-open'> #changeRoomChatLevel </a></li> <li><a href='#plugapichangeroomdescription' class='regular pre-open'> #changeRoomDescription </a></li> <li><a href='#plugapichangeroomwelcome' class='regular pre-open'> #changeRoomWelcome </a></li> <li><a href='#plugapichangedjcycle' class='regular pre-open'> #changeDJCycle </a></li> <li><a href='#plugapigetjar' class='regular pre-open'> #getJar </a></li> <li><a href='#plugapisetbadge' class='regular pre-open'> #setBadge </a></li> <li><a href='#plugapigetbadge' class='regular pre-open'> #getBadge </a></li> <li><a href='#plugapigetbadges' class='regular pre-open'> #getBadges </a></li> <li><a href='#plugapimoderatelockbooth' class='regular pre-open'> #moderateLockBooth </a></li> </ul> <ul class='list-reset py1-ul pl1'> <li class='h5'>Events</li> <li><a href='#plugapieventban' class='regular pre-open'> ⓔ BAN </a></li> <li><a href='#plugapieventmoderate_mute' class='regular pre-open'> ⓔ MODERATE_MUTE </a></li> <li><a href='#plugapieventroom_welcome_update' class='regular pre-open'> ⓔ ROOM_WELCOME_UPDATE </a></li> <li><a href='#plugapieventadvance' class='regular pre-open'> ⓔ ADVANCE </a></li> <li><a href='#plugapieventvote' class='regular pre-open'> ⓔ VOTE </a></li> <li><a href='#plugapieventkill_session' class='regular pre-open'> ⓔ KILL_SESSION </a></li> <li><a href='#plugapieventgrab' class='regular pre-open'> ⓔ GRAB </a></li> <li><a href='#plugapieventgifted' class='regular pre-open'> ⓔ GIFTED </a></li> <li><a href='#plugapieventearn' class='regular pre-open'> ⓔ EARN </a></li> <li><a href='#plugapieventdj_list_update' class='regular pre-open'> ⓔ DJ_LIST_UPDATE </a></li> <li><a href='#plugapieventdj_list_locked' class='regular pre-open'> ⓔ DJ_LIST_LOCKED </a></li> <li><a href='#plugapieventdj_list_cycle' class='regular pre-open'> ⓔ DJ_LIST_CYCLE </a></li> <li><a href='#plugapieventmoderate_wlban' class='regular pre-open'> ⓔ MODERATE_WLBAN </a></li> <li><a href='#plugapieventcommand' class='regular pre-open'> ⓔ COMMAND </a></li> <li><a href='#plugapieventchat_level_update' class='regular pre-open'> ⓔ CHAT_LEVEL_UPDATE </a></li> <li><a href='#plugapieventchat_emote' class='regular pre-open'> ⓔ CHAT_EMOTE </a></li> <li><a href='#plugapieventchat_delete' class='regular pre-open'> ⓔ CHAT_DELETE </a></li> <li><a href='#plugapieventchat_command' class='regular pre-open'> ⓔ CHAT_COMMAND </a></li> <li><a href='#plugapieventchat' class='regular pre-open'> ⓔ CHAT </a></li> <li><a href='#plugapieventmoderate_skip' class='regular pre-open'> ⓔ MODERATE_SKIP </a></li> <li><a href='#plugapieventroom_name_update' class='regular pre-open'> ⓔ ROOM_NAME_UPDATE </a></li> <li><a href='#plugapieventmoderate_staff' class='regular pre-open'> ⓔ MODERATE_STAFF </a></li> <li><a href='#plugapieventmoderate_ban' class='regular pre-open'> ⓔ MODERATE_BAN </a></li> </ul> </div> </li> <li><a href='#restcallback' class=""> RESTCallback </a> </li> <li><a href='#user' class=" toggle-sibling"> User <span class='icon'>▸</span> </a> <div class='toggle-target display-none'> <ul class='list-reset py1-ul pl1'> <li class='h5'><span>Static members</span></li> <li><a href='#useraddtowaitlist' class='regular pre-open'> .addToWaitList </a></li> <li><a href='#userremovefromwaitlist' class='regular pre-open'> .removeFromWaitList </a></li> <li><a href='#usermoveinwaitlist' class='regular pre-open'> .moveInWaitList </a></li> </ul> </div> </li> </ul> </div> <div class='mt1 h6 quiet'> <a href='http://documentation.js.org/reading-documentation.html'>Need help reading this?</a> </div> </div> </div> <div id='split-right' class='relative overflow-auto height-viewport-100'> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='clearfix'> <h3 class='fl m0' id='plugapi'> PlugAPI </h3> </div> <p>Create instance of PlugAPI.</p> <div class='pre p1 fill-light mt0'>new PlugAPI(authenticationData: any, callback: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>?)</div> <p> Extends EventEmitter3 </p> <div class='py1 quiet mt1 prose-big'>Parameters</div> <div class='prose'> <div class='space-bottom0'> <div> <span class='code bold'>authenticationData</span> <code class='quiet'>(any)</code> </div> </div> <div class='space-bottom0'> <div> <span class='code bold'>callback</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function">Function</a>?)</code> An optional callback utilized in async mode </div> </div> </div> <div class='py1 quiet mt1 prose-big'>Example</div> <p><p>There are multiple ways to create a bot. Sync vs Async, FB vs guest or email. Please choose only one of the examples to use.</p> </p> <pre class='p1 overflow-auto round fill-light'><span class="hljs-comment">// Sync</span> <span class="hljs-comment">// Password</span> <span class="hljs-keyword">const</span> bot = <span class="hljs-keyword">new</span> PlugAPI({<span class="hljs-attr">email</span>: <span class="hljs-string">'something@something.com'</span>, <span class="hljs-attr">password</span>: <span class="hljs-string">'hunter2'</span>}); <span class="hljs-comment">// Facebook</span> <span class="hljs-comment">// To login with fb will require logging in via plug and viewing the data sent in to /_/auth/facebook via the network tab of dev tools.</span> <span class="hljs-keyword">const</span> bot = <span class="hljs-keyword">new</span> PlugAPI({ <span class="hljs-attr">facebook</span>: { <span class="hljs-attr">userID</span>: <span class="hljs-string">'xxxxxxxx'</span>, <span class="hljs-attr">accessToken</span>: <span class="hljs-string">'xxxxxx'</span> } }); <span class="hljs-comment">// Guest</span> <span class="hljs-keyword">const</span> bot = <span class="hljs-keyword">new</span> PlugAPI(); <span class="hljs-comment">// OR</span> <span class="hljs-keyword">const</span> bot = <span class="hljs-keyword">new</span> PlugAPI({ <span class="hljs-attr">guest</span>: <span class="hljs-literal">true</span> }); <span class="hljs-comment">// Async</span> <span class="hljs-comment">// Password</span> <span class="hljs-keyword">new</span> PlugAPI({<span class="hljs-attr">email</span>: <span class="hljs-string">'something@something.com'</span>, <span class="hljs-attr">password</span>: <span class="hljs-string">'hunter2'</span>}, (err, bot) =&gt; { <span class="hljs-keyword">if</span> (err) <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(err); }); <span class="hljs-comment">// Facebook</span> <span class="hljs-keyword">new</span> PlugAPI({ <span class="hljs-attr">facebook</span>: { <span class="hljs-attr">userID</span>: <span class="hljs-string">'xxxxxxxx'</span>, <span class="hljs-attr">accessToken</span>: <span class="hljs-string">'xxxxxx'</span> } }, (err, bot) =&gt; { <span class="hljs-keyword">if</span> (err) <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(err); }); <span class="hljs-comment">// Guest</span> <span class="hljs-keyword">new</span> PlugAPI({ <span class="hljs-attr">guest</span>: <span class="hljs-literal">true</span> }, (err, data) =&gt; { <span class="hljs-keyword">if</span> (err) <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(err); ]});</pre> <div class='py1 quiet mt1 prose-big'>Static Members</div> <div class="clearfix"> <div class='border-bottom' id='plugapiroom_role'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>ROOM_ROLE</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>ROOM_ROLE</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>ROOM_ROLE</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Room ranks <ul> <li><code>ROOM_ROLE.NONE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Room role of 0. User has no role.</p> </li> <li><code>ROOM_ROLE.RESIDENTDJ</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Room role of 1000. User is a resident DJ.</p> </li> <li><code>ROOM_ROLE.BOUNCER</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Room role of 2000. User is a bouncer.</p> </li> <li><code>ROOM_ROLE.MANAGER</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Room role of 3000. User is a manager.</p> </li> <li><code>ROOM_ROLE.COHOST</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Room role of 4000. User is a cohost.</p> </li> <li><code>ROOM_ROLE.HOST</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Room role of 5000. User is a host.</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapiglobal_roles'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>GLOBAL_ROLES</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>GLOBAL_ROLES</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>GLOBAL_ROLES</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Global Ranks <ul> <li><code>GLOBAL_ROLES.NONE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 0. No global role set.</p> </li> <li><code>GLOBAL_ROLES.PLOT</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 750. PLOT members.</p> </li> <li><code>GLOBAL_ROLES.VOLUNTEER</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 2000. Currently none are set as this.</p> </li> <li><code>GLOBAL_ROLES.MODERATOR</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 25000. Site Moderators.</p> </li> <li><code>GLOBAL_ROLES.AMBASSADOR</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 3000. Brand Ambassador role.</p> </li> <li><code>GLOBAL_ROLES.LEADER</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 4000. Currently none are set as this.</p> </li> <li><code>GLOBAL_ROLES.ADMIN</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Global role of 5000. Admin global role.</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapistatus'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>STATUS</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>STATUS</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>STATUS</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Statuses <ul> <li><code>STATUS.OFFLINE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Status of 0. User is offline.</p> </li> <li><code>STATUS.ONLINE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Status of 1. User is online.</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapiban'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>BAN</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>BAN</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>BAN</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Ban lengths <ul> <li><code>BAN.HOUR</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a> <p>Bans user for an hour</p> </li> <li><code>BAN.DAY</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a> <p>Bans user for a day</p> </li> <li><code>BAN.PERMA</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a> <p>Bans user permanently</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapiban_reason'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>BAN_REASON</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>BAN_REASON</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>BAN_REASON</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Ban Reasons <ul> <li><code>BAN_REASON.SPAMMING_TROLLING</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 1. Reason is "Spamming or Trolling".</p> </li> <li><code>BAN_REASON.VERBAL_ABUSE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 2. Reason is "Verbal abuse or offensive language".</p> </li> <li><code>BAN_REASON.OFFENSIVE_MEDIA</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 3. Reason is "Playing offensive videos/songs".</p> </li> <li><code>BAN_REASON.INAPPROPRIATE_GENRE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 4. Reason is "Repeatedly playing inappropriate genre(s)".</p> </li> <li><code>BAN_REASON.NEGATAIVE_ATTITUDE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 5. Reason is "Negative Attitude".</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapimute'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>MUTE</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>MUTE</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>MUTE</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Mute Lengths <ul> <li><code>MUTE.SHORT</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a> <p>Mutes user for 15 minutes</p> </li> <li><code>MUTE.MEDIUM</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a> <p>Mutes user for 30 minutes</p> </li> <li><code>MUTE.LONG</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a> <p>Mutes user for 45 minutes</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapimute_reason'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong truncate'>MUTE_REASON</span> </div> </div> <div class="clearfix display-none toggle-target"> <section class='p2 mb2 clearfix bg-white minishadow'> <div class='pre p1 fill-light mt0'>MUTE_REASON</div> <div class='py1 quiet mt1 prose-big'>Properties</div> <div> <div class='space-bottom0'> <span class='code bold'>MUTE_REASON</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code> : Mute Reasons <ul> <li><code>MUTE_REASON.VIOLATING_COMMUNITY_RULES</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 1. Reason is "Violating community rules".</p> </li> <li><code>MUTE_REASON.VERBAL_ABUSE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 2. Reason is "Verbal abuse or harassment".</p> </li> <li><code>MUTE_REASON.SPAMMING_TROLLING</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 3. Reason is "Spamming or trolling".</p> </li> <li><code>MUTE_REASON.OFFENSIVE_LANGUAGE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 4. Reason is "Offensive Language".</p> </li> <li><code>MUTE_REASON.NEGATIVE_ATTITUDE</code> <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a> <p>Reason 5. Reason is "Negative attitude"</p> </li> </ul> </div> </div> </section> </div> </div> <div class='border-bottom' id='plugapiwlban'> <div class="clearfix small pointer toggle-sibling"> <div class="py1 contain"> <a class='icon pin-right py1 dark-link caret-right'>▸</a> <span class='code strong strong trunc