</div> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('chatmod warningcountresettime', 'Warning Count Reset Time', '[seconds]', array_key_exists('warningcountresettime', $botSettings) ? $botSettings['warningcountresettime'] : ''); ?> </div> </div> </div> <hr/> <h4 class="collapsible-master">Links</h4> <div class="collapsible-content"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Allow Links', $templates->_wrapInJsToggledDoQuickCommand('chatmod linksallowed', array_key_exists('linksallowed', $botSettings) && $botSettings['linksallowed'] == '0' ? 'true' : 'false', 'true', 'false'), null, null, array_key_exists('linksallowed', $botSettings) && $botSettings['linksallowed'] == 1); ?> <?php echo $templates->switchToggle('Allow Youtube Links', $templates->_wrapInJsToggledDoQuickCommand('chatmod youtubeallowed', array_key_exists('youtubeallowed', $botSettings) && $botSettings['youtubeallowed'] == '0' ? 'true' : 'false', 'true', 'false'), null, null, array_key_exists('youtubeallowed', $botSettings) && $botSettings['youtubeallowed'] == 1); ?> </div> <div class="spacer"></div> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Allow Links From Regulars', $templates->_wrapInJsToggledDoQuickCommand('chatmod regsallowed', array_key_exists('regsallowed', $botSettings) && $botSettings['regsallowed'] == '0' ? 'true' : 'false', 'true', 'false'), null, null, array_key_exists('linksallowed', $botSettings) && $botSettings['linksallowed'] == 1); ?> <?php echo $templates->switchToggle('Allow Links From Subscribers', $templates->_wrapInJsToggledDoQuickCommand('chatmod subsallowed', array_key_exists('subsallowed', $botSettings) && $botSettings['subsallowed'] == '0' ? 'true' : 'false', 'true', 'false'), null, null, array_key_exists('youtubeallowed', $botSettings) && $botSettings['youtubeallowed'] == 1); ?> </div> <div class="spacer"></div>
<div class="panel-heading"> <h3 class="panel-title"> Time System <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('timeSystem.js')); ?> </h3> </div> <div class="panel-body"> <div class="row"> <div class="col-sm-4"> <?php echo $templates->switchToggle('Toggle Time Command Permissions For Mods', 'doQuickCommand', '[\'time toggle\']', null, array_key_exists('permToggleTime', $botSettings) && filter_var($botSettings['permToggleTime'], FILTER_VALIDATE_BOOLEAN)); ?> </div> <div class="col-sm-4 col-sm-offset-4"> <?php echo $templates->informationPanel('Toggle permissions for time changing commands for Mods.<br/><b>Red means Admin-only!</b>'); ?> </div> </div> <hr/> <h4 class="collapsible-master">Time Control</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-4"> <?php
<?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('noticeHandler.js')); ?> </h3> </div> <div class="panel-body"> <h4>Channel Notices</h4> <div class="form-group"> <div class="btn-toolbar"> <div class="btn-group"> <?php echo $templates->switchToggle('Toggle Notices', 'doQuickCommand', '[\'notice toggle\']', null, array_key_exists('notices_toggle', $noticeSettings) ? filter_var($noticeSettings['notices_toggle'], FILTER_VALIDATE_BOOLEAN) : true); ?> </div> </div> </div> <div class="row"> <div class="col-sm-8"> <?php echo $templates->botCommandForm('addnotice', 'Add notice', '[message]'); ?> </div> </div> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('delnotice', 'Delete notice', '[#id]');
<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> Youtube Player Settings <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('./addonscripts/youtubePlayer.js')); ?> </h3> </div> <div class="panel-body"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Toggle Messages', 'doQuickCommand(\'musicplayer toggle\')', '[]', '', array_key_exists('song_toggle', $botSettings) && $botSettings['song_toggle'] == '1'); ?> <?php echo $templates->botCommandButton('stealsong', 'Steal Song'); ?> <?php echo $templates->botCommandButton('reloadplaylist', 'Reload "playlist.txt"'); ?> </div> <hr/> <h4 class="collapsible-master">Player Settings</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-4"> <?php
<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> Subscriber Events <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('subscribeHandler.js')); ?> </h3> </div> <div class="panel-body"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Toggle Subscriber Notices', 'doQuickCommand', '[\'subsilentmode\']', null, array_key_exists('sub_silentmode', $botSettings) && $botSettings['sub_silentmode'] == 1); ?> <div class="btn-group"> <?php echo $templates->botCommandButton('subscribecount', 'Current Subscriber Count'); ?> <?php echo $templates->botCommandButton('subscribemode', 'Subscribe Mode'); ?> </div> </div> <hr/> <h4 class="collapsible-master">Subscriber Settings</h4> <div class="collapsible-content"> <div class="row">
?> </div> <div class="col-sm-4"> <?php echo $templates->botCommandForm('points set', 'set viewer points to amount', '[username] [amount]'); ?> </div> </div> </div> <hr/> <h4 class="collapsible-master">Currency Control</h4> <div class="collapsible-content"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Toggle Command permissions for Moderators', 'doQuickCommand', '[\'points toggle\']', null, array_key_exists('permTogglePoints', $botSettings) ? filter_var($botSettings['permTogglePoints'], FILTER_VALIDATE_BOOLEAN) : false); ?> </div> <div class="spacer"></div> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('points name single', 'Set points name (singular)', 'name', array_key_exists('pointNameSingle', $botSettings) ? $botSettings['pointNameSingle'] : 'point'); ?> </div> <div class="col-sm-4"> <?php echo $templates->botCommandForm('points name multiple', 'Set points name (plural)', 'name', array_key_exists('pointNameMultiple', $botSettings) ? $botSettings['pointNameMultiple'] : 'points'); ?> </div> </div>
<div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> Command Timer <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('commandTimer.js')); ?> </h3> </div> <div class="panel-body"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Toggle Command Timer', 'doQuickCommand', '[\'commandtimer toggle\']', null, array_key_exists('active', $commandTimerSettings) ? filter_var($commandTimerSettings['active'], FILTER_VALIDATE_BOOLEAN) : true); ?> <?php echo $templates->switchToggle('Toggle Randomizing', 'doQuickCommand', '[\'commandtimer togglerandom\']', null, array_key_exists('randomize', $commandTimerSettings) ? filter_var($commandTimerSettings['randomize'], FILTER_VALIDATE_BOOLEAN) : true); ?> </div> <hr/> <h4>Add Commands</h4> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandFormV2('addcommandtimer', 'Add command to command timer', ['placeholder' => '[command]', 'autoComplete' => 'command']); ?> </div> </div>
<div class="app-part"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> PhantomBot Panel Preferences <?php echo $templates->toggleFavoriteButton(); ?> </h3> </div> <div class="panel-body"> <h4>General</h4> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Show Information Panels', 'toggleInformationPanels', '[false]', 'toggle-information-button'); ?> <?php echo $templates->switchToggle('Show Tooltips', 'toggleTooltips', '[false]', 'toggle-tooltips-button'); ?> <?php echo $templates->switchToggle('Show Chat By Default', 'toggleChatDefaultState', '[false]', 'toggle-chat-default-button'); ?> </div> <div class="spacer"></div> <div class="row"> <div class="col-xs-4"> <form id="theme-selector"> <span>UI Theme</span> <div class="input-group">
echo $templates->botCommandButton('game', 'Announce Current Game', 'default btn-sm'); ?> <?php echo $templates->botCommandButton('pausecommands', 'Pause Commands', 'default btn-sm'); ?> </div> <div class="spacer"></div> <div class="btn-toolbar"> <?php echo $templates->botCommandButton('unhost', 'Unhost', 'default btn-sm'); ?> <?php echo $templates->botCommandButton('clear', 'Clear Chat', 'default btn-sm'); ?> <?php echo $templates->switchToggle('Mute bot', 'doQuickCommand', '[\'mute\']', null, array_key_exists('response_@chat', $botSettings) && $botSettings['response_@chat'] == 'false', true); ?> <?php echo $templates->botCommandButton('d !exit', 'Shutdown ' . $dataStore->getVar('connector', 'botName'), 'danger btn-sm'); ?> </div> <hr/> <h4 class="collapsible-master">Edit Stream Title & Game</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-8"> <?php echo $templates->botCommandForm('title', 'Title', 'title', array_key_exists('title', $botStreamInfo) ? $botStreamInfo['title'] : ''); ?> </div>
<h3 class="panel-title"> Donations <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('./handlers/donationHandler.js')); ?> </h3> </div> <div class="panel-body"> <h4>Donation Event Settings</h4> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Enable Donation Alerts', 'doQuickCommand', '[\'donationalert toggle\']', '', array_key_exists('donation_toggle', $botSettings) && $botSettings['donation_toggle'] == '1'); ?> </div> <div class="spacer"></div> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('donationalert filepath', 'Donations File', '[filepath]', array_key_exists('checker_storepath', $botSettings) ? $botSettings['checker_storepath'] : ''); ?> </div> <div class="col-sm-4"> </div> <div class="col-sm-4"> <?php echo $templates->informationPanel('Set a new file path for the donation text file.<br />This is useful when you have another program that produces an output file, you can point the bot towards it and have it send a message to the chat when there are changes.'); ?> </div>
Roll Command <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('rollCommand.js')); ?> </h3> </div> <div class="panel-body"> <div class="btn-toolbar"> <?php echo $templates->botCommandButton('roll', 'Make A Roll'); ?> <?php echo $templates->switchToggle('Toggle Cool Down', 'doQuickCommand', '[\'roll wait\']', null, array_key_exists('roll_wait', $rollSettings) && filter_var($rollSettings['roll_wait'], FILTER_VALIDATE_BOOLEAN)); ?> <?php echo $templates->switchToggle('Toggle Stream-Online-Only', 'doQuickCommand', '[\'roll stream\']', null, array_key_exists('roll_stream', $rollSettings) && filter_var($rollSettings['roll_stream'], FILTER_VALIDATE_BOOLEAN)); ?> </div> <hr/> <h4 class="collapsible-master">Roll Settings</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('roll time', 'Set Roll Cool Down', '[seconds]', array_key_exists('roll_timer', $rollSettings) ? $rollSettings['roll_timer'] : '30'); ?> </div>
<h3 class="panel-title"> Greeting System <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('greetingSystem.js')); ?> </h3> </div> <div class="panel-body"> <h4 class="collapsible-master">Default Greeting Settings</h4> <div class="collapsible-content"> <?php echo $templates->switchToggle('Toggle Auto-Greeting', 'doQuickCommand', '[\'greeting toggledefault\']', null, array_key_exists('autoGreetEnabled', $greetingSettings) && $greetingSettings['autoGreetEnabled'] == 'true'); ?> <div class="row"> <div class="col-sm-6"> <?php echo $templates->botCommandForm('greeting setdefault', 'Set global greeting message', '[message]', array_key_exists('defaultJoin', $greetingSettings) ? $greetingSettings['defaultJoin'] : ''); ?> </div> <div class="col-sm-4"> <?php echo $templates->informationPanel('Users can set their own greeting using "!greeting enable <message>".<br /><br />To disable a personal message use "!greeting disable".'); ?> </div> </div> </div> <hr/>
echo $templates->botCommandButton('uptime', 'Announce Current Up-time'); ?> <?php echo $templates->botCommandButton('botuptime', 'Announce Current Bot-up-time'); ?> </div> </div> <div class="btn-toolbar"> <?php echo $noticeCount > 0 ? $templates->botCommandButton('notice get ' . rand(0, $noticeCount - 1), 'Random Notice', 'default btn-sm') : ''; ?> <?php echo $templates->botCommandButton('clear', 'Clear Chat', 'default btn-sm'); ?> <?php echo $templates->switchToggle('Mute Bot', $templates->_wrapInJsToggledDoQuickCommand('response', array_key_exists('response_@all', $botSettings) && $botSettings['response_@all'] == 0 ? 'true' : 'false', 'enable', 'disable'), '[]', '', array_key_exists('response_@all', $botSettings) && $botSettings['response_@all'] == 0, true); ?> <?php echo $templates->botCommandButton('d !exit', 'Shutdown ' . $dataStore->getVar('connector', 'botName'), 'danger btn-sm'); ?> </div> <hr/> <h4 class="collapsible-master">Edit Stream Title & Game</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-8"> <?php echo $templates->botCommandForm('title', 'Title', 'title', array_key_exists('title', $botStreamInfo) ? $botStreamInfo['title'] : ''); ?> </div>
$functions = new \PBPanel\Util\FunctionLibrary($dataStore, $connection); $templates = new \PBPanel\Util\ComponentTemplates(); $botModules = $functions->getDbTableArray('modules'); $modulesTableRows = ''; $NOModules = 0; $NOModulesActive = 0; ksort($botModules); foreach ($botModules as $modulePath => $status) { if (strpos($modulePath, './lang') > -1) { continue; } $NOModules++; if ($functions->strToBool($status)) { $NOModulesActive++; } $toggle = $templates->switchToggle('', $templates->_wrapInJsToggledDoQuickCommand('module', $functions->strToBool($status) ? 'true' : 'false', 'disable ' . $modulePath, 'enable ' . $modulePath), null, null, $functions->strToBool($status), false, true, false, strpos($modulePath, './core') > -1); $modulesTableRows .= '<tr><td>' . $modulePath . '</td><td>' . $toggle . '</td></tr>'; } ?> <div class="app-part"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> Module Manager <?php echo $templates->toggleFavoriteButton(); ?> <span class="text-info pull-right"><span class="fa fa-info-circle"></span> <?php echo $NOModules; ?> Known Module's, <?php
$moduleNameReplacements = ['./', '_enabled']; $NOModulesActive = 0; uksort($moduleSettingsIni, function ($a, $b) use($moduleNameReplacements) { return strcasecmp(str_replace($moduleNameReplacements, '', $a), str_replace($moduleNameReplacements, '', $b)); }); foreach ($moduleSettingsIni as $fullPath => $active) { if (strpos($fullPath, 'lang-') > -1) { continue; } $moduleName = ucfirst(str_replace($moduleNameReplacements, '', $fullPath)); $moduleFullPath = str_replace('_enabled', '', $fullPath); $active = $active == 1 || strpos($moduleFullPath, 'util') > -1; if ($active) { $NOModulesActive++; } $toggleButton = $templates->switchToggle('', $templates->_wrapInJsToggledDoQuickCommand('module', $active ? 'true' : 'false', 'disable ' . $moduleFullPath, 'enable ' . $moduleFullPath), null, null, $active, false, true, false, strpos($moduleFullPath, 'util') > -1 || strpos($moduleFullPath, 'lang') > -1); $modulesTableRows .= '<tr><td>' . $templates->switchToggleText($moduleName, false, true) . '</td><td>' . $toggleButton . '</td></tr>'; } ?> <div class="app-part"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> Module Manager <?php echo $templates->toggleFavoriteButton(); ?> <span class="text-info pull-right"><span class="fa fa-info-circle"></span> <?php echo count($moduleSettingsIni); ?> Known Module's, <?php
<div class="app-part"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> PhantomBot Panel Preferences <?php echo $templates->toggleFavoriteButton(); ?> </h3> </div> <div class="panel-body"> <h4>General</h4> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Show Information Panels', 'toggleInformationPanels', '[false]', 'toggle-information-button'); ?> <?php echo $templates->switchToggle('Show Tooltips', 'toggleTooltips', '[false]', 'toggle-tooltips-button'); ?> <?php echo $templates->switchToggle('Show Chat By Default', 'toggleChatDefaultState', '[false]', 'toggle-chat-default-button'); ?> </div> <div class="spacer"></div> <div class="row"> <div class="col-xs-4"> <form id="theme-selector"> <span>UI Theme</span> <div class="input-group">
echo $templates->moduleActiveIndicator($functions->getModuleStatus('slotMachineCommand.js')); ?> </h3> </div> <div class="panel-body"> <div class="row"> <div class="col-sm-8"> <div class="btn-toolbar"> <?php echo $templates->botCommandButton('slot', 'Play The Slots'); ?> <?php echo $templates->botCommandButton('d !chat NEW!!! The Slot Machine! type !slot to try your luck!', 'Hype The Slots'); ?> <?php echo $templates->switchToggle('Toggle Cool Down Messages', 'doQuickCommand', '[\'slot CooldownMessages toggle\']', null, array_key_exists('slotCMessages', $slotMachineSettings) && $slotMachineSettings['slotCMessages'] == 1); ?> </div> </div> <div class="col-sm-4"> <?php echo $templates->informationPanel('<p>Win points by hitting 3 of the same emotes in a row!</p>Emote 1 is most likely to triple while emote 7 is least likely to!'); ?> </div> </div> <hr/> <h4 class="collapsible-master">General Settings</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-4">
<h3 class="panel-title"> Bank Heist <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('bankHeistSystem.js')); ?> </div> <div class="panel-body"> <div class="btn-toolbar"> <?php echo $templates->botCommandButton('bankheist start', 'Start Bank Heist'); ?> <?php echo $templates->switchToggle('Toggle Bankheist', 'doQuickCommand', '[\'bankheist toggle\']', '', array_key_exists('bankheistToggle', $botSettings) ? filter_var($botSettings['bankheistToggle'], FILTER_VALIDATE_BOOLEAN) : false); ?> </div> <hr/> <h4 class="collapsible-master">Session Settings</h4> <div class="collapsible-content"> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('bankheist signupminutes', 'Sign up time', '[minutes]', array_key_exists('signupMinutes', $bankHeistTimers) ? $bankHeistTimers['signupMinutes'] : '1'); ?> </div> <div class="col-sm-4"> <?php echo $templates->botCommandForm('bankheist heistminutes', 'Session Length', '[minutes]', array_key_exists('heistMinutes', $bankHeistTimers) ? $bankHeistTimers['heistMinutes'] : '30');
<div class="app-part"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"> Greeting System <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('greetingSystem.js')); ?> </h3> </div> <div class="panel-body"> <?php echo $templates->switchToggle('Toggle Auto-Greeting', 'doQuickCommand', '[\'greeting toggle\']', null, array_key_exists('autogreet', $greetingSettings) && filter_var($greetingSettings['autogreet'], FILTER_VALIDATE_BOOLEAN)); ?> <hr/> <h4>Greeting Message</h4> <div class="row"> <div class="col-sm-6"> <?php echo $templates->botCommandForm('greeting set default', 'Set global greeting message', '[message]', array_key_exists('_default', $greetingSettings) ? $greetingSettings['_default'] : ''); ?> </div> <div class="col-sm-4 col-sm-offset-2"> <?php echo $templates->informationPanel('Users can set their own greeting using "!greeting set <message>". Then enable/disable the greeting by using "!greeting <enable/disable>".'); ?> </div>
Youtube Player <?php echo $templates->toggleFavoriteButton(); ?> <?php echo $templates->moduleActiveIndicator($functions->getModuleStatus('youtubePlayer.js')); ?> </h3> </div> <div class="panel-body"> <h4 class="collapsible-master">Other Settings</h4> <div class="collapsible-content"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Toggle Song Requests', 'doQuickCommand', '[\'togglerequests\']', '', array_key_exists('requestsEnabled', $youtubePlayerSettings) && $youtubePlayerSettings['requestsEnabled'] == 'true'); ?> <?php echo $templates->switchToggle('Toggle Chat Notifications', 'doQuickCommand', '[\'musicplayer togglenotify\']', '', array_key_exists('updatesInChat', $youtubePlayerSettings) && $youtubePlayerSettings['updatesInChat'] == 'true'); ?> <?php echo $templates->botCommandButton('musicplayer reload', 'Reload Default Playlist'); ?> </div> <div class="spacer"></div> <div class="row"> <div class="col-sm-4"> <?php echo $templates->botCommandForm('musicplayer limit', 'Set Song Request Limit Per User', '[amount]', array_key_exists('requestLimit', $youtubePlayerSettings) ? $youtubePlayerSettings['requestLimit'] : 3); ?> </div>
<h4>Moderate</h4> <div class="row"> <div class="col-sm-6"> <?php echo $templates->combinedBotCommandForm('', ['permit' => 'Permit Link', 'purge' => 'Purge', 'timeout' => 'Timeout', 'ban' => 'Ban', 'unban' => 'Unban'], 'Moderate', '[username]'); ?> </div> </div> <hr/> <h4 class="collapsible-master">Auto Moderator Settings</h4> <div class="collapsible-content"> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Allow Links', 'doQuickCommand', '[\'chatmod linksallowed\']', '', array_key_exists('linksAllowed', $chatModSettings) && $chatModSettings['linksAllowed'] == 'true'); ?> <?php echo $templates->switchToggle('Allow Youtube Links', 'doQuickCommand', '[\'chatmod youtubelinksallowed\']', '', array_key_exists('youtubeLinksAllowed', $chatModSettings) && $chatModSettings['youtubeLinksAllowed'] == 'true'); ?> <?php echo $templates->switchToggle('Allow Regulars Links', 'doQuickCommand', '[\'chatmod regslinksallowed\']', '', array_key_exists('regsLinksAllowed', $chatModSettings) && $chatModSettings['regsLinksAllowed'] == 'true'); ?> </div> <div class="spacer"></div> <div class="btn-toolbar"> <?php echo $templates->switchToggle('Aggressive Link Scanner', 'doQuickCommand', '[\'chatmod linksagressive\']', '', array_key_exists('linksAgressive', $chatModSettings) && $chatModSettings['linksAgressive'] == 'true'); ?> <?php echo $templates->switchToggle('Allow Caps Spam', 'doQuickCommand', '[\'chatmod capsallowed\']', '', array_key_exists('capsAllowed', $chatModSettings) && $chatModSettings['capsAllowed'] == 'true');