plugapi
Version:
Generic API for building plug.dj bots
1,523 lines (984 loc) • 256 kB
HTML
<!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) => {
<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) => {
<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) => {
<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