twitch-commando
Version:
Twitch Bot Commando Client
2,115 lines (930 loc) • 81 kB
HTML
<!doctype html>
<html>
<head>
<meta charset='utf-8' />
<title>twitch-commando 2.0.1 | 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'>twitch-commando</h3>
<div class='mb1'><code>2.0.1</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='#twitchchatchannel'
class="">
TwitchChatChannel
</a>
</li>
<li><a
href='#name'
class="">
name
</a>
</li>
<li><a
href='#id'
class="">
id
</a>
</li>
<li><a
href='#say'
class="">
say
</a>
</li>
<li><a
href='#commandoconstants'
class="">
CommandoConstants
</a>
</li>
<li><a
href='#clientoptions'
class="">
ClientOptions
</a>
</li>
<li><a
href='#twitchcommandoclient'
class=" toggle-sibling">
TwitchCommandoClient
<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='#twitchcommandoclientenableverboselogging'
class='regular pre-open'>
.enableVerboseLogging
</a></li>
<li><a
href='#twitchcommandoclientconnect'
class='regular pre-open'>
.connect
</a></li>
<li><a
href='#twitchcommandoclientsay'
class='regular pre-open'>
.say
</a></li>
<li><a
href='#twitchcommandoclientaction'
class='regular pre-open'>
.action
</a></li>
<li><a
href='#twitchcommandoclientwhisper'
class='regular pre-open'>
.whisper
</a></li>
<li><a
href='#twitchcommandoclientregistercommandsin'
class='regular pre-open'>
.registerCommandsIn
</a></li>
<li><a
href='#twitchcommandoclientregisterdetaultcommands'
class='regular pre-open'>
.registerDetaultCommands
</a></li>
<li><a
href='#twitchcommandoclientsetprovider'
class='regular pre-open'>
.setProvider
</a></li>
<li><a
href='#twitchcommandoclientjoin'
class='regular pre-open'>
.join
</a></li>
<li><a
href='#twitchcommandoclientpart'
class='regular pre-open'>
.part
</a></li>
<li><a
href='#twitchcommandoclientgetusername'
class='regular pre-open'>
.getUsername
</a></li>
<li><a
href='#twitchcommandoclientgetchannels'
class='regular pre-open'>
.getChannels
</a></li>
<li><a
href='#twitchcommandoclientisowner'
class='regular pre-open'>
.isOwner
</a></li>
</ul>
<ul class='list-reset py1-ul pl1'>
<li class='h5'>Events</li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientconnected'
class='regular pre-open'>
ⓔ TwitchCommandoClient#connected
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientjoin'
class='regular pre-open'>
ⓔ TwitchCommandoClient#join
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientdisconnected'
class='regular pre-open'>
ⓔ TwitchCommandoClient#disconnected
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientmessage'
class='regular pre-open'>
ⓔ TwitchCommandoClient#message
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientcommandexecuted'
class='regular pre-open'>
ⓔ TwitchCommandoClient#commandExecuted
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientcommanderror'
class='regular pre-open'>
ⓔ TwitchCommandoClient#commandError
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclienttimeout'
class='regular pre-open'>
ⓔ TwitchCommandoClient#timeout
</a></li>
<li><a
href='#twitchcommandoclienteventtwitchcommandoclientreconnect'
class='regular pre-open'>
ⓔ TwitchCommandoClient#reconnect
</a></li>
</ul>
</div>
</li>
<li><a
href='#commandargument'
class="">
CommandArgument
</a>
</li>
<li><a
href='#commandoptions'
class="">
CommandOptions
</a>
</li>
<li><a
href='#twichchatcommand'
class=" toggle-sibling">
TwichChatCommand
<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='#twichchatcommandrun'
class='regular pre-open'>
.run
</a></li>
</ul>
</div>
</li>
<li><a
href='#twitchchatmessage'
class=" toggle-sibling">
TwitchChatMessage
<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='#twitchchatmessagetext'
class='regular pre-open'>
.text
</a></li>
<li><a
href='#twitchchatmessageauthor'
class='regular pre-open'>
.author
</a></li>
<li><a
href='#twitchchatmessageid'
class='regular pre-open'>
.id
</a></li>
<li><a
href='#twitchchatmessagechannel'
class='regular pre-open'>
.channel
</a></li>
<li><a
href='#twitchchatmessagecolor'
class='regular pre-open'>
.color
</a></li>
<li><a
href='#twitchchatmessageemotes'
class='regular pre-open'>
.emotes
</a></li>
<li><a
href='#twitchchatmessagetimestamp'
class='regular pre-open'>
.timestamp
</a></li>
<li><a
href='#twitchchatmessagemessagetype'
class='regular pre-open'>
.messageType
</a></li>
<li><a
href='#twitchchatmessagereply'
class='regular pre-open'>
.reply
</a></li>
<li><a
href='#twitchchatmessageactionreply'
class='regular pre-open'>
.actionReply
</a></li>
</ul>
</div>
</li>
<li><a
href='#twitchchatuser'
class=" toggle-sibling">
TwitchChatUser
<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='#twitchchatusername'
class='regular pre-open'>
.name
</a></li>
<li><a
href='#twitchchatuserusername'
class='regular pre-open'>
.username
</a></li>
<li><a
href='#twitchchatusermod'
class='regular pre-open'>
.mod
</a></li>
<li><a
href='#twitchchatuserbadges'
class='regular pre-open'>
.badges
</a></li>
<li><a
href='#twitchchatusersubscriber'
class='regular pre-open'>
.subscriber
</a></li>
<li><a
href='#twitchchatuserid'
class='regular pre-open'>
.id
</a></li>
<li><a
href='#twitchchatuserusertype'
class='regular pre-open'>
.userType
</a></li>
<li><a
href='#twitchchatuserturbo'
class='regular pre-open'>
.turbo
</a></li>
<li><a
href='#twitchchatuserwhisper'
class='regular pre-open'>
.whisper
</a></li>
<li><a
href='#twitchchatuserchannel'
class='regular pre-open'>
.channel
</a></li>
<li><a
href='#twitchchatuserisbroadcaster'
class='regular pre-open'>
.isBroadcaster
</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='twitchchatchannel'>
TwitchChatChannel
</h3>
</div>
<p>Twitch Channel object</p>
<div class='pre p1 fill-light mt0'>new TwitchChatChannel(originalMessage: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>, client: <a href="#twitchcommandoclient">TwitchCommandoClient</a>)</div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>originalMessage</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code>
</div>
</div>
<div class='space-bottom0'>
<div>
<span class='code bold'>client</span> <code class='quiet'>(<a href="#twitchcommandoclient">TwitchCommandoClient</a>)</code>
</div>
</div>
</div>
</section>
<section class='p2 mb2 clearfix bg-white minishadow'>
<div class='clearfix'>
<h3 class='fl m0' id='name'>
name
</h3>
</div>
<p>Channel name</p>
<div class='pre p1 fill-light mt0'>name</div>
</section>
<section class='p2 mb2 clearfix bg-white minishadow'>
<div class='clearfix'>
<h3 class='fl m0' id='id'>
id
</h3>
</div>
<p>Channel ID</p>
<div class='pre p1 fill-light mt0'>id</div>
</section>
<section class='p2 mb2 clearfix bg-white minishadow'>
<div class='clearfix'>
<h3 class='fl m0' id='say'>
say
</h3>
</div>
<p>Send text message in the channel</p>
<div class='pre p1 fill-light mt0'>say(text: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>text</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
Message text
</div>
</div>
</div>
</section>
<section class='p2 mb2 clearfix bg-white minishadow'>
<div class='clearfix'>
<h3 class='fl m0' id='commandoconstants'>
CommandoConstants
</h3>
</div>
<div class='pre p1 fill-light mt0'>CommandoConstants</div>
<p>
Type:
<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>
</p>
<div class='py1 quiet mt1 prose-big'>Properties</div>
<div>
<div class='space-bottom0'>
<span class='code bold'>GLOBAL_SETTINGS_KEY</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Global settings key to save global bot preferences
</div>
<div class='space-bottom0'>
<span class='code bold'>GLOBAL_EMOTES_URL</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Service url for Emotes service
</div>
<div class='space-bottom0'>
<span class='code bold'>BOT_TYPE_NORMAL</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Normal bot type (user, not mod)
</div>
<div class='space-bottom0'>
<span class='code bold'>BOT_TYPE_NORMAL_MODDED</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Normal bot type with mod (user, channel mod)
</div>
<div class='space-bottom0'>
<span class='code bold'>BOT_TYPE_KNOWN</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Known bot
</div>
<div class='space-bottom0'>
<span class='code bold'>BOT_TYPE_VERIFIED</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Verified bot
</div>
<div class='space-bottom0'>
<span class='code bold'>MESSAGE_LIMITS</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>?)</code>
: Enumeration for message limits configuration
</div>
</div>
</section>
<section class='p2 mb2 clearfix bg-white minishadow'>
<div class='clearfix'>
<h3 class='fl m0' id='clientoptions'>
ClientOptions
</h3>
</div>
<p>Client configuration options</p>
<div class='pre p1 fill-light mt0'>ClientOptions</div>
<p>
Type:
<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>
</p>
<div class='py1 quiet mt1 prose-big'>Properties</div>
<div>
<div class='space-bottom0'>
<span class='code bold'>verboseLogging</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Enable verbose logging (default: false)
</div>
<div class='space-bottom0'>
<span class='code bold'>username</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
: Bot username
</div>
<div class='space-bottom0'>
<span class='code bold'>oauth</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
: Bot oauth password (without oauth:)
</div>
<div class='space-bottom0'>
<span class='code bold'>botOwners</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>>)</code>
: List of bot owners username (default: empty array)
</div>
<div class='space-bottom0'>
<span class='code bold'>prefix</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
: Default command prefix (default: !)
</div>
<div class='space-bottom0'>
<span class='code bold'>greetOnJoin</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Denotes if the bot must send a message when join a channel (default: false)
</div>
<div class='space-bottom0'>
<span class='code bold'>channels</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>>)</code>
: Initials channels to join (default: empty array)
</div>
<div class='space-bottom0'>
<span class='code bold'>onJoinMessage</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
: On Join message (sent if greetOnJoin = true)
</div>
<div class='space-bottom0'>
<span class='code bold'>autoJoinBotChannel</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Denotes if the bot must autojoin its own channel (default: true)
</div>
<div class='space-bottom0'>
<span class='code bold'>enableJoinCommand</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Denotes if enable the !join and !part command in bot channel (default: true)
</div>
<div class='space-bottom0'>
<span class='code bold'>botType</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
: Define the bot type, will be used for message limits control. See CommandoConstants for available bot type values (default: BOT_TYPE_NORMAL)
</div>
<div class='space-bottom0'>
<span class='code bold'>enableRateLimitingControl</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Enable Rate Limiting control (default: true)
</div>
<div class='space-bottom0'>
<span class='code bold'>skipMembership</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Skip PART\JOIN events (default: true)
</div>
<div class='space-bottom0'>
<span class='code bold'>enableVerboseLogging</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</code>
: Enable Verbose Logging up to debug level (default: false)
</div>
<div class='space-bottom0'>
<span class='code bold'>joinInterval</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a>)</code>
: TMI Join Interval in milliseconds (default: 350ms instead of default tmi 2000ms)
</div>
</div>
</section>
<section class='p2 mb2 clearfix bg-white minishadow'>
<div class='clearfix'>
<h3 class='fl m0' id='twitchcommandoclient'>
TwitchCommandoClient
</h3>
</div>
<p>The Commando Client class</p>
<div class='pre p1 fill-light mt0'>new TwitchCommandoClient(options: <a href="#clientoptions">ClientOptions</a>)</div>
<p>
Extends
EventEmitter
</p>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>options</span> <code class='quiet'>(<a href="#clientoptions">ClientOptions</a>)</code>
Client configuration options
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Static Members</div>
<div class="clearfix">
<div class='border-bottom' id='twitchcommandoclientenableverboselogging'>
<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'>enableVerboseLogging()</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Enable verbose logging</p>
<div class='pre p1 fill-light mt0'>enableVerboseLogging()</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientconnect'>
<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'>connect()</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Connect the bot to Twitch Chat</p>
<div class='pre p1 fill-light mt0'>connect()</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientsay'>
<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'>say(channel, message, addRandomEmote)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Send a text message in the channel</p>
<div class='pre p1 fill-light mt0'>say(channel: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>, message: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>, addRandomEmote: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>)</div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>channel</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
Channel destination
</div>
</div>
<div class='space-bottom0'>
<div>
<span class='code bold'>message</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
Message text
</div>
</div>
<div class='space-bottom0'>
<div>
<span class='code bold'>addRandomEmote</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>
= <code>false</code>)</code>
Add random emote to avoid message duplication
</div>
</div>
</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientaction'>
<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'>action(channel, message, addRandomEmote)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Send an action message in the channel</p>
<div class='pre p1 fill-light mt0'>action(channel: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>, message: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>, addRandomEmote: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>channel</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
</div>
</div>
<div class='space-bottom0'>
<div>
<span class='code bold'>message</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
</div>
</div>
<div class='space-bottom0'>
<div>
<span class='code bold'>addRandomEmote</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a>
= <code>false</code>)</code>
Add random emote to avoid message duplication
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code>:
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientwhisper'>
<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'>whisper(username, message)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Send a private message to the user with given text</p>
<div class='pre p1 fill-light mt0'>whisper(username: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>, message: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>): any</div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>username</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
</div>
</div>
<div class='space-bottom0'>
<div>
<span class='code bold'>message</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code>any</code>:
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientregistercommandsin'>
<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'>registerCommandsIn(path)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Register commands in given path (recursive)</p>
<div class='pre p1 fill-light mt0'>registerCommandsIn(path: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>path</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
</div>
</div>
</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientregisterdetaultcommands'>
<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'>registerDetaultCommands()</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Register default commands, like !help</p>
<div class='pre p1 fill-light mt0'>registerDetaultCommands()</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientsetprovider'>
<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'>setProvider(provider)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Set Settings Provider class</p>
<div class='pre p1 fill-light mt0'>setProvider(provider: any)</div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>provider</span> <code class='quiet'>(any)</code>
</div>
</div>
</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientjoin'>
<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'>join(channel)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Request the bot to join a channel</p>
<div class='pre p1 fill-light mt0'>join(channel: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>></div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>channel</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
Channel to join
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>></code>:
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientpart'>
<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'>part(channel)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Request the bot to leave a channel</p>
<div class='pre p1 fill-light mt0'>part(channel: <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>></div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>channel</span> <code class='quiet'>(<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>)</code>
Channel to leave
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>></code>:
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientgetusername'>
<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'>getUsername()</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Gets the bot username</p>
<div class='pre p1 fill-light mt0'>getUsername(): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></code>:
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientgetchannels'>
<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'>getChannels()</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Gets the bot channels</p>
<div class='pre p1 fill-light mt0'>getChannels(): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>></div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</a><<a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</a>></code>:
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclientisowner'>
<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'>isOwner(author)</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Checks if the message author is one of bot owners</p>
<div class='pre p1 fill-light mt0'>isOwner(author: <a href="#twitchchatuser">TwitchChatUser</a>): <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></div>
<div class='py1 quiet mt1 prose-big'>Parameters</div>
<div class='prose'>
<div class='space-bottom0'>
<div>
<span class='code bold'>author</span> <code class='quiet'>(<a href="#twitchchatuser">TwitchChatUser</a>)</code>
Message author
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Returns</div>
<code><a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></code>:
</section>
</div>
</div>
</div>
<div class='py1 quiet mt1 prose-big'>Events</div>
<div class="clearfix">
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclientconnected'>
<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'>TwitchCommandoClient#connected</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Bot connected</p>
<div class='pre p1 fill-light mt0'>TwitchCommandoClient#connected</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclientjoin'>
<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'>TwitchCommandoClient#join</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Channel joined or someone join the channel</p>
<div class='pre p1 fill-light mt0'>TwitchCommandoClient#join</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclientdisconnected'>
<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'>TwitchCommandoClient#disconnected</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Bot disonnects</p>
<div class='pre p1 fill-light mt0'>TwitchCommandoClient#disconnected</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclientmessage'>
<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'>TwitchCommandoClient#message</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Message received</p>
<div class='pre p1 fill-light mt0'>TwitchCommandoClient#message</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclientcommandexecuted'>
<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'>TwitchCommandoClient#commandExecuted</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Command executed</p>
<div class='pre p1 fill-light mt0'>TwitchCommandoClient#commandExecuted</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclientcommanderror'>
<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'>TwitchCommandoClient#commandError</span>
</div>
</div>
<div class="clearfix display-none toggle-target">
<section class='p2 mb2 clearfix bg-white minishadow'>
<p>Command error</p>
<div class='pre p1 fill-light mt0'>TwitchCommandoClient#commandError</div>
</section>
</div>
</div>
<div class='border-bottom' id='twitchcommandoclienteventtwitchcommandoclienttimeout'>
<div class="clearfix small pointer toggle-sibling">
<div class="py1 contain">