CyTube/www/help.html
calzoneman 5350fa2e93 Add poll editor
Implements the suggestion from Issue #34
2013-04-18 11:42:07 -05:00

289 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Sync</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Calvin 'calzoneman' Montgomery">
<link href="./assets/css/bootstrap.css" rel="stylesheet">
<link href="./assets/css/ytsync.css" rel="stylesheet">
<style>
body {
padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
}
</style>
<link href="./assets/css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="brand" href="#">Sync</a>
<div class="nav-collapse collapse">
<ul class="nav">
<li><a href="index.html">Home</a></li>
<li class="active"><a href="#">Help</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="span8">
<a name="chatcommands"></a>
<a href="#chatcommands"><h1>Chat Commands</h1></a>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Command</th>
<th>Rank</th>
<th>Result</th>
</tr>
</thead>
<tr>
<td><pre>/sp Spoiler Alert!</pre></td>
<td>Anyone</td>
<td><span class="spoiler">Spoiler Alert!</span></td>
</tr>
<tr>
<td><pre>/me does something</pre></td>
<td>Anyone</td>
<td><span class="action">username does something</span></td>
</tr>
<tr>
<td><pre>/say This is important!</pre></td>
<td>Moderators</td>
<td><span class="shout">This is important!</span></td>
</tr>
<tr>
<td><pre>/kick username</pre></td>
<td>Moderators</td>
<td>(username is kicked from the room)</td>
</tr>
<tr>
<td><pre>/ban username</pre></td>
<td>Moderators</td>
<td>(username is IP banned from the room)</td>
</tr>
<tr>
<td><pre>/unban ip_address</pre></td>
<td>Moderators</td>
<td>(The IP address is unbanned from the room)</td>
</tr>
<tr>
<td><pre>/poll Title,Option 1,Option 2,etc</pre></td>
<td>Moderators</td>
<td>
<div class="well active">
<button class="close pull-right">&times;</button>
<button class="btn btn-danger pull-right">End Poll</button>
<h3>Title</h3>
<div class="option">
<button class="btn">0</button>
Option 1
</div>
<div class="option">
<button class="btn">0</button>
Option 2
</div>
<div class="option">
<button class="btn">0</button>
etc
</div>
</div>
</td>
</tr>
<tr>
<td><pre>/poll</pre> (no parameters)</td>
<td>Moderators</td>
<td>A poll editor is popped up allowing for easy creation of the poll, and allowing commas in the poll title and options</td>
</tr>
</table>
<p>There are also some other chat features. When your name appears in a message, <span class="nick-highlight">the message will be highlighted.</span> If you type the beginning of someone's name in chat, pressing tab will attempt to autocomplete the name.</p>
<a name="queuecontrols"></a>
<a href="#queuecontrols"><h1>Queue Controls</h1></a>
<p>Queue Controls are only visible to moderators by default. A moderator can unlock the queue to make the controls visible to everyone.<br> Below is an example of the queue controls. On your channel, simply paste a link of one of the following accepted formats and press "Queue Next" to add it after the current video, or "Queue @ End" to add it at the end of the playlist. If Voteskip is enabled in <a href="#channeloptions">Channel Options</a>, then pressing voteskip indicates you would like to skip the current video. If a majority of connected users does this, the video will be skipped.</br>
</p>
<strong>Acceptable URLs</strong>
<ul>
<li>http://www.youtube.com/watch?v=(videoid)</li>
<li>http://www.youtube.com/playlist?list=(playlistid)</li>
<li>http://www.vimeo.com/(videoid)</li>
<li>http://www.soundcloud.com/(songid)</li>
<li>http://www.dailymotion.com/video/(videoid)</li>
<li>http://www.twitch.tv/(channel)</li>
<li>http://www.livestream.com/(channel)</li>
</ul>
You can also queue multiple items at once by separating the URLs with commas.
<div>
<input type="text" id="mediaurl" style="margin:auto;">
<div class="btn-group">
<button class="btn">Queue Next</button>
<button class="btn">Queue @ End</button>
</div>
<button class="btn btn-danger">Voteskip</button>
</div>
<p>Below is an example of an entry in the playlist. Please note the control buttons only appear if you are a moderator or if the queue is unlocked. The button with vertical arrows is for moving videos in the playlist. Click and hold the button and drag the mouse up and down to move the video in the playlist. The red "X" button will remove the video from the playlist. The green play button will jump the playlist to that video. The "Next" button will move the video so that it plays after the current video.
</p>
<ul class="videolist">
<li class="well">
<div class="btn-group qe_buttons">
<button class="btn qe_btn"><i class="icon-resize-vertical"></i></button>
<button class="btn btn-danger qe_btn"><i class="icon-remove"></i></button>
<button class="btn btn-success qe_btn"><i class="icon-play"></i></button>
<button class="btn qe_btn">Next</button>
</div>
<div class="qe_title">Title</div>
<div class="qe_time">00:00</div>
<div class="qe_clear"></div>
</li>
</ul>
<p>Moderators will also see the "(Un)Lock Queue" button. This button can be used to toggle whether anyone can add videos, or just moderators.
</p>
<button class="btn btn-danger" style="width: 100%">Unlock Queue</button>
<button class="btn btn-success" style="width: 100%">Lock Queue</button>
<a name="userlistcontrols"></a>
<a href="#userlistcontrols"><h1>Userlist Controls</h1></a>
<div class="dropdown">
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu" style="display: block;">
<li><a tabindex="-1" href="javascript:void(0);">Ignore User</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="javascript:void(0);">Make Leader</a></li>
<li><a tabindex="-1" href="javascript:void(0);">Take Leader</a></li>
<li><a tabindex="-1" href="javascript:void(0);">Kick</a></li>
<li><a tabindex="-1" href="javascript:void(0);">IP Ban</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="javascript:void(0);">Promote</a></li>
<li><a tabindex="-1" href="javascript:void(0);">Demote</a></li>
</ul>
</div>
<table class="table table-bordered table-striped" style="margin-top: 280px">
<thead>
<tr>
<th>Function</th>
<th>Description</th>
</tr>
</thead>
<tr>
<td>Ignore User</td>
<td>Ignores incoming chat messages from this user
</td>
</tr>
<tr>
<td>Make Leader</td>
<td>Assigns leadership of the media to this user. When someone is assigned leadership, the server follows their video/audio and syncs other clients to them. This allows for seeking within the video. By default, the server leads by itself.
</td>
</tr>
<tr>
<td>Take Leader</td>
<td>Revokes leadership from this user and the server takes over</td>
</tr>
<tr>
<td>Kick</td>
<td>Kicks this user from the room</td>
</tr>
<tr>
<td>IP Ban</td>
<td>IP bans this user from the room. This can be reversed using the /unban chat command or from the ban list interface</td>
</tr>
<tr>
<td>Promote</td>
<td>Increases this user's rank in this channel by 1. All users start with rank 0. Moderators have rank 2, channel owners have rank 3. When you register a channel, you are assigned rank 10.
</tr>
<tr>
<td>Demote</td>
<td>Decreases this user's rank in this channel by 1. All users start with rank 0. Moderators have rank 2, channel owners have rank 3. When you register a channel, you are assigned rank 10.
</tr>
</table>
<a name="synchronization"></a>
<a href="#synchronization"><h1>Synchronization and Leaders</h1></a>
<p>
Synchronization is handled a little bit differently from Synchtube. By default, media synchronization is managed by the server, which sends out synchronization updates every 5 seconds. This means if you attempt to seek your client manually, it will be jumped back to the server's position. If you need to seek the video, you can assign leader to someone (see <a href="#userlistcontrols">Userlist Controls</a>). Giving someone leader makes the video follow their client, so any seeking they do will be broadcast to everyone in the channel.<br>
When someone is leader, they also get partial moderator powers temporarily. Leaders can open polls, use <code>/say</code>, and manage the queue, but cannot kick/ban, change channel options, or change chat filters. This is useful if you want to leave someone in charge but not make them a full moderator. Leadership is revoked upon refresh, or you can revoke it manually.
</p>
<br>
<a name="channeloptions"></a>
<a href="#channeloptions"><h1>Channel Options</h1></a>
<p>
Moderators have access to a menu (at the bottom of the page) for toggling various channel options. This is pretty self explanatory. The "Channel Options" tab contains various channel settings, the "Ban List" tab allows you to view and lift IP Bans, and the "MOTD" tab allows you to edit the message of the day. The "Chat Filters" tab is explained below.
</p>
<br>
<a name="chatfilters"></a>
<a href="#chatfilters"><h1>Chat Filters</h1></a>
<p>
Moderators can apply various filters to chat messages using Regular Expressions. The first column contains a button to remove filters. The second is the regular expression to match in the message. The third is the replacement text, and the last is a checkbox for toggling the filter on/off. Regular Expressions are given in Javascript syntax, and by default have the "g" flag set. You can set custom flags by adding them at the end of the regex after a slash; for example <code>js/ig</code> matches "js", "JS", "jS", and "Js". The following example replaces money amounts of the form "$amount" to "amount dollars":</p><br>
<table class="table table-striped">
<thead>
<th></th>
<th>Regex</th>
<th>Replacement</th>
<th>Active</th>
</thead>
<tbody>
<tr>
<td>
<button class="btn btn-mini btn-danger">
<i class="icon-remove-circle"></i>
</button>
</td>
<td>
<code>\$([0-9\.]+)</code>
</td>
<td>
<code>$1 dollars</code>
</td>
<td>
<input type="checkbox" checked="checked">
</td>
</tr>
</tbody>
</table>
<a name="ranks"></a>
<a href="#ranks"><h1>Ranks</h1></a>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Rank Name</th>
<th>Numeric Rank</th>
</tr>
</thead>
<tr>
<td class="userlist_siteadmin">Website Administrator</td>
<td>255+</td>
</tr>
<tr>
<td class="userlist_owner">Channel Administrator</td>
<td>3-254</td>
</tr>
<tr>
<td class="userlist_op">Channel Moderator</td>
<td>2</td>
</tr>
<tr>
<td>User</td>
<td>0-1</td>
</tr>
</table>
</div>
</div>
</div> <!-- /container -->
<script src="./assets/js/jquery.js"></script>
</body>
</html>