mirror of
https://github.com/chatty/chatty.github.io.git
synced 2024-11-08 12:02:28 +01:00
v0.14 files
This commit is contained in:
parent
3e4fb5055b
commit
bdcefef978
@ -25,6 +25,7 @@
|
|||||||
<a href="#replacements">Replacements</a>
|
<a href="#replacements">Replacements</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#simple-replacements">Simple Replacements</a></li>
|
<li><a href="#simple-replacements">Simple Replacements</a></li>
|
||||||
|
<li><a href="#escaping">Escaping / Literal Text</a></li>
|
||||||
<li><a href="#parameters-context">Pre-defined Parameters</a></li>
|
<li><a href="#parameters-context">Pre-defined Parameters</a></li>
|
||||||
<li><a href="#functions">Functions</a></li>
|
<li><a href="#functions">Functions</a></li>
|
||||||
<li><a href="#custom-replacements">Custom Replacements</a></li>
|
<li><a href="#custom-replacements">Custom Replacements</a></li>
|
||||||
@ -90,7 +91,7 @@
|
|||||||
defined, for example when adding <a href="#inline-commands">Inline-Commands</a>
|
defined, for example when adding <a href="#inline-commands">Inline-Commands</a>
|
||||||
to the User Dialog or Context Menus.</p>
|
to the User Dialog or Context Menus.</p>
|
||||||
|
|
||||||
<p>You can also execute Anynomous Custom Commands directly from the
|
<p>You can also execute Anonymous Custom Commands directly from the
|
||||||
inputbox, by prepending <code>//</code>, which allows you to use
|
inputbox, by prepending <code>//</code>, which allows you to use
|
||||||
Replacements:</p>
|
Replacements:</p>
|
||||||
|
|
||||||
@ -112,6 +113,7 @@
|
|||||||
<h2><a name="replacements">Replacements</a></h2>
|
<h2><a name="replacements">Replacements</a></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#simple-replacements">Simple Replacements</a></li>
|
<li><a href="#simple-replacements">Simple Replacements</a></li>
|
||||||
|
<li><a href="#escaping">Escaping / Literal Text</a></li>
|
||||||
<li><a href="#parameters-context">Pre-defined Parameters</a></li>
|
<li><a href="#parameters-context">Pre-defined Parameters</a></li>
|
||||||
<li><a href="#functions">Functions</a></li>
|
<li><a href="#functions">Functions</a></li>
|
||||||
<li><a href="#custom-replacements">Custom Replacements</a></li>
|
<li><a href="#custom-replacements">Custom Replacements</a></li>
|
||||||
@ -141,10 +143,34 @@
|
|||||||
parameter that is necessary for the command to make sense is actually
|
parameter that is necessary for the command to make sense is actually
|
||||||
being supplied.</p>
|
being supplied.</p>
|
||||||
|
|
||||||
<p class="note"><em>Note:</em> If you want to use a dollar sign
|
<h3><a name="escaping">Escaping / Literal Text</a></h3>
|
||||||
<code>$</code> without it having a special meaning, you can escape it
|
<p>If you want to use a dollar sign <code>$</code> literally, without it
|
||||||
with a backslash: <code>\$</code> . To use a backslash literally instead
|
beginning a replacement, you can escape it with a backslash:
|
||||||
of as an escaping character, it must be escaped as well: <code>\\</code> .</p>
|
<code>\$</code>. A backslash will always interpret the following
|
||||||
|
character as a regular character without a special meaning, while
|
||||||
|
the backslash itself will not show up in the result.</p>
|
||||||
|
|
||||||
|
<p>Example: <code>$replace($1-,(\\w+),(\$1\),regRef)</code></p>
|
||||||
|
<p>This <a href="#functions">function</a> (surrounds all
|
||||||
|
consecutive word characters with brackets) contains some escaping:</p>
|
||||||
|
<ul>
|
||||||
|
<li>The <code>(\\w+)</code> turns into the plain text <code>(\w+)</code>. The backslash needs to be escaped so
|
||||||
|
it actually shows up for the regex.</li>
|
||||||
|
<li>The <code>(\$1\)</code> turns into the plain text <code>($1)</code>. The dollar sign is used for the regex,
|
||||||
|
not an actual Custom Command replacement and the closing bracket
|
||||||
|
needs to be escaped here because the following function parameter is
|
||||||
|
optional, so the bracket would close the function.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Alternatively you can use <code>$"<literal text>"</code> which
|
||||||
|
interprets everything inside the quotes as literal text without any
|
||||||
|
special meaning. To use a quote inside the literal text, it can be
|
||||||
|
doubled: <code>$"This is a dollar sign: ""$"""</code> turns into the
|
||||||
|
plain text <code>This is a dollar sign: "$"</code>. Instead of <code>"</code>
|
||||||
|
you can also use <code>`</code> (backquote) or <code>'</code> (single quote):
|
||||||
|
<code>$`This is a dollar sign: "$"`</code> is equivalent to the above.</p>
|
||||||
|
|
||||||
|
<p>The previous example could also be written like this: <code>$replace($1-,$"(\w+)",$"($1)",regRef)</code></p>
|
||||||
|
|
||||||
<h3><a name="simple-replacements">Simple Replacements</a></h3>
|
<h3><a name="simple-replacements">Simple Replacements</a></h3>
|
||||||
<p>A basic use of replacements is using the <strong>short notation</strong>
|
<p>A basic use of replacements is using the <strong>short notation</strong>
|
||||||
@ -239,18 +265,13 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<!-- User Context Menu -->
|
<!-- User Context Menu -->
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="7">User Context Menu</th>
|
<th rowspan="5">User Context Menu</th>
|
||||||
<td><code>1</code>, <code>nick</code></td>
|
<td><code>1</code></td>
|
||||||
<td>Name of the user</td>
|
<td>Name of the user</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>display-nick</code>, <code>custom-nick</code>,
|
<td>Various</td>
|
||||||
<code>full-nick</code></td>
|
<td><a href="#user-identifiers">Various user-related identifiers</a></td>
|
||||||
<td>Variations of the name of the user. <code>display-nick</code>
|
|
||||||
may contain spaces for some users. <code>custom-nick</code> may
|
|
||||||
also be the <a href="help.html#customNames">Custom Name</a> you
|
|
||||||
set, <code>full-nick</code> is what is displayed in the userlist
|
|
||||||
(includes status symbols)</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>msg</code></td>
|
<td><code>msg</code></td>
|
||||||
@ -270,14 +291,6 @@
|
|||||||
approving or denying the message (when opened by clicking on
|
approving or denying the message (when opened by clicking on
|
||||||
an appropriate message in chat)</td>
|
an appropriate message in chat)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td><code>user-id</code></td>
|
|
||||||
<td>The Twitch ID of the user</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><code>twitch-badge-info</code></td>
|
|
||||||
<td>Textual info of the user's Twitch badges (may change)</td>
|
|
||||||
</tr>
|
|
||||||
<!-- User Dialog -->
|
<!-- User Dialog -->
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="7">User Dialog</th>
|
<th rowspan="7">User Dialog</th>
|
||||||
@ -361,7 +374,24 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p>Example with pre-defined parameters:</p>
|
<h3><a name="user-identifiers">User-related Identifiers</a></h3>
|
||||||
|
<p>These are available where a user is involved, such as the User Dialog and
|
||||||
|
User Context Menu. In some contexts they may also be available with the
|
||||||
|
<code>my-</code> prefix for your own user info (e.g. <code>my-full-nick</code>).</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>nick</code> - Name of the user, maybe capitalized</li>
|
||||||
|
<li><code>display-nick</code> - Same as <code>nick</code>, but may not match the regular username (spaces, completely different)</li>
|
||||||
|
<li><code>display-nick2</code> - Same as <code>display-nick</code>, but contains the regular username in parentheses if necessary</li>
|
||||||
|
<li><code>custom-nick</code> - Same as <code>display-nick</code>, but may also be the <a href="help.html#customNames">Custom Name</a> you set</li>
|
||||||
|
<li><code>full-nick</code> - The same name that is displayed in the userlist (includes status symbols)</li>
|
||||||
|
<li><code>full-nick2</code> - Same as <code>full-nick</code>, but contains the regular username in parentheses if necessary</li>
|
||||||
|
<li><code>special-nick</code> - Returns <code>true</code> if the user has a display name not matching the regular username</li>
|
||||||
|
<li><code>user-id</code> - The Twitch ID of the user (if available)</li>
|
||||||
|
<li><code>twitch-badges</code> - A textual representation of the Twitch badges (if available)</li>
|
||||||
|
<li><code>twitch-badge-info</code> - Another textual representation of the Twitch badges (if available)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Pre-defined Parameters Example</h3>
|
||||||
<dl class="defList">
|
<dl class="defList">
|
||||||
<dt><code>/streaminfo /echo [Stream Status] $(streamstatus) [Uptime] $(streamuptime)</code></dt>
|
<dt><code>/streaminfo /echo [Stream Status] $(streamstatus) [Uptime] $(streamuptime)</code></dt>
|
||||||
<dd>Entering <code>/streaminfo</code> outputs an info message (only for
|
<dd>Entering <code>/streaminfo</code> outputs an info message (only for
|
||||||
@ -425,19 +455,32 @@
|
|||||||
referring to <code>Fremily</code> turns into <code>FREMILY</code>.</dd>
|
referring to <code>Fremily</code> turns into <code>FREMILY</code>.</dd>
|
||||||
|
|
||||||
<dt><code>$replace(<input>,<search>,<replace>,[method])</code>
|
<dt><code>$replace(<input>,<search>,<replace>,[method])</code>
|
||||||
<dd>Search and replace in text. Especially when using Regex, remember
|
<dd>Search and replace in text.</dd>
|
||||||
escaping of <code>\</code> (<code>\\</code>) and <code>$</code> (<code>\$</code>).</dd>
|
<dd>Especially when using Regex, remember
|
||||||
|
escaping <code>\</code> (<code>\\</code>) and <code>$</code> (<code>\$</code>)
|
||||||
|
when they should e.g. be used in regex rather than interpreted as special Custom Command characters.
|
||||||
|
Instead of escaping each special character individually, you can also
|
||||||
|
use <a href="#escaping">Literal Text</a>.</dd>
|
||||||
<dd>Methods are:
|
<dd>Methods are:
|
||||||
<ul style="margin-top:0">
|
<ul style="margin-top:0">
|
||||||
<li><em>Not specified</em> - Literal case-insensitive search</li>
|
<li><em>Not specified</em> - Literal case-insensitive search</li>
|
||||||
<li><code>cs</code> - Literal case-sensitive search</li>
|
<li><code>cs</code> - Literal case-sensitive search</li>
|
||||||
<li><code>reg</code> - Regular Expression search</li>
|
<li><code>reg</code> - Regular Expression search</li>
|
||||||
<li><code>regRef</code> - Regular Expression search, with references to groups (<code>\$1</code>) in the replacement</li>
|
<li><code>regRef</code> - Regular Expression search, with references to groups via <code>\$1</code><br />
|
||||||
|
Note: The "replace" text basicially gets fed to the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#replaceAll-java.lang.String-java.lang.String-">String.replaceAll()</a> method as "replacement". The <code>$1</code> in this case does not refer to a Custom Command replacement, but something that the replaceAll() method uses, so it needs to be escaped in the Custom Command function, either by using <code>\$1</code> or using <a href="#escaping">Literal Text</a>. In addition, if <code>$</code> or <code>\</code> should show up literally instead of being interpreted by the replaceAll() method then they need to be escaped again (e.g. <code>$replace(..,..,Dollar: \\\$1 Ref: \$1,regRef)</code>, whereas <code>Dollar: \$1 Ref: $1</code> would be given to the replaceAll() method).</li>
|
||||||
<li><code>regFirst</code>, <code>refFirstRef</code> - Same as above, but only replace first occurence</li>
|
<li><code>regFirst</code>, <code>refFirstRef</code> - Same as above, but only replace first occurence</li>
|
||||||
|
<li><code>regCustom</code> - Regular Expression search, the replace parameter has access to match values and is
|
||||||
|
executed for each match (<code>$1-</code> full match, <code>$(g1)</code> first group in the search regex
|
||||||
|
if available, <code>$(g2)</code> second group, ..).</li>
|
||||||
|
<li><code>regFunc</code> - Regular Expression search, the replace must be the name
|
||||||
|
of a Custom Replacement which is called with the same values as <code>regCustom</code>
|
||||||
|
(doesn't always work in Custom Commands, can use <code>regCustom</code>
|
||||||
|
with e.g. <code>$(_<name>,$1-)</code> instead).</li>
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
<dd><em>Example:</em> <code>$replace(A b and another B,b,bee)</code> turns into <code>A bee and another bee</code></dd>
|
<dd><em>Example:</em> <code>$replace(A b and another B,b,bee)</code> turns into <code>A bee and another bee</code></dd>
|
||||||
<dd><em>Example:</em> <code>$replace(Was timed out for 30 seconds,.*?(\\d+) seconds,Number of seconds: \$1,regRef)</code> turns into <code>Number of seconds: 30</code></dd>
|
<dd><em>Example:</em> <code>$replace(Was timed out for 30 seconds,.*?(\\d+) seconds,Number of seconds: \$1,regRef)</code> turns into <code>Number of seconds: 30</code></dd>
|
||||||
|
<dd><em>Example:</em> <code>$replace($1-,$"~([a-z]+)~",<span style="text-decoration: underline">$replace($(g1),$"(\w)",$"$1+",regRef)</span>,regCustom)</code> adds <code>+</code> behind every character surrounded by <code>~</code> (the inner <code>$replace()</code> is in the <code>replace</code> parameter and executed for each match)</dd>
|
||||||
|
|
||||||
<dt><code>$rand([output1],[output2],[output3],..)</code></dt>
|
<dt><code>$rand([output1],[output2],[output3],..)</code></dt>
|
||||||
<dd>Randomly chooses one of the outputs.</dd>
|
<dd>Randomly chooses one of the outputs.</dd>
|
||||||
@ -567,6 +610,23 @@
|
|||||||
name you are logged into Chatty with.</dd>
|
name you are logged into Chatty with.</dd>
|
||||||
<dd><em>Example:</em> <code>$if($get(ontop),ONTOP)</code> will return
|
<dd><em>Example:</em> <code>$if($get(ontop),ONTOP)</code> will return
|
||||||
<code>ONTOP</code> only if "View - Always on top" is enabled.</dd>
|
<code>ONTOP</code> only if "View - Always on top" is enabled.</dd>
|
||||||
|
|
||||||
|
<dt><code>$request(<url>,[options])</code></dt>
|
||||||
|
<dd>Performs a GET request on the given http/https URL and returns the
|
||||||
|
body of the reponse interpreted as UTF-8 encoded text. If an error
|
||||||
|
occurs the response will be empty.</dd>
|
||||||
|
<dd>Options:
|
||||||
|
<ul>
|
||||||
|
<li><code>error</code> - A request error will return an error
|
||||||
|
message instead of an empty response.</li>
|
||||||
|
</ul></dd>
|
||||||
|
<dd><em>Note:</em> Normally Custom Commands are performed instantaneously, however the
|
||||||
|
replacements for any Custom Command that contains the <code>$request()</code>
|
||||||
|
function will be performed asynchronously so that it can complete
|
||||||
|
the request without freezing the GUI. This means the result of the
|
||||||
|
Custom Command may be run seconds or more later.</dd>
|
||||||
|
<dd><em>Tip:</em> Open "Extra - Debug window" to view debug output of
|
||||||
|
the requests being performed.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<p class="note"><em>Tip:</em> Enter e.g. <code>//echo $datetime()</code>
|
<p class="note"><em>Tip:</em> Enter e.g. <code>//echo $datetime()</code>
|
||||||
@ -611,9 +671,23 @@
|
|||||||
creates a mention if the first parameter isn't equal to the current
|
creates a mention if the first parameter isn't equal to the current
|
||||||
channel.</p>
|
channel.</p>
|
||||||
|
|
||||||
<p class="note"><em>Note:</em> Custom identifiers always start with an
|
<p>The data that can be accessed via replacements is the same as in the
|
||||||
underscore and can themselves not contain replacements with custom
|
command it is used in, so in this example the text provided after the
|
||||||
identifiers (well they technicially can, but they won't get replaced).</p>
|
<code>/faq</code> is available via the <code>$1-</code> replacement.</p>
|
||||||
|
|
||||||
|
<p>Optionally you can also provide a second parameter in a Custom Replacement
|
||||||
|
that overwrites the default value of the <code>$1-</code> replacement:</p>
|
||||||
|
|
||||||
|
<p><code>/faq $(_m,$(custom-nick))FAQ: https://pastebin.com/KySx3KDu</code></p>
|
||||||
|
|
||||||
|
<p>This will make whatever value is contained in <code>$(custom-nick)</code>
|
||||||
|
available in <code>$1-</code> instead of the default.</p>
|
||||||
|
|
||||||
|
<p class="note"><em>Note:</em> Custom Replacement identifiers always start
|
||||||
|
with an underscore.</p>
|
||||||
|
<p class="note"><em>Note:</em> Custom Replacements don't work when placed
|
||||||
|
inside eachother. So for example in <code>_abc Abc: $(_m)</code> the <code>$(_m)</code> will
|
||||||
|
always be empty (whether it's defined in the Custom Commands list or not).</p>
|
||||||
|
|
||||||
|
|
||||||
<h2><a name="menus">Custom Context Menus / User Dialog Buttons</a></h2>
|
<h2><a name="menus">Custom Context Menus / User Dialog Buttons</a></h2>
|
||||||
|
@ -118,7 +118,7 @@
|
|||||||
<p>To join channels directly out of the <code>Live Channels</code>-dialog
|
<p>To join channels directly out of the <code>Live Channels</code>-dialog
|
||||||
right-click on a stream to open the context menu and then select <code>Join channel</code>
|
right-click on a stream to open the context menu and then select <code>Join channel</code>
|
||||||
to join the channel for that stream and if you want also open the stream in
|
to join the channel for that stream and if you want also open the stream in
|
||||||
your browser or <a href="help-livestreamer.html">Livestreamer</a>.</p>
|
your browser or <a href="help-livestreamer.html">Streamlink</a>.</p>
|
||||||
|
|
||||||
<h2>More stuff you might want to try out..</h2>
|
<h2>More stuff you might want to try out..</h2>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -19,59 +19,11 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>If you can't fix this problem and there are no other error messages that
|
<p>If you can't fix this problem and there are no other error messages that
|
||||||
may indicate what is going wrong, then you can manually open the necessary
|
may indicate what is going wrong, then you can still proceed with opening the
|
||||||
page:</p>
|
link by clicking on "Open URL" in the dialog (or <a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=user_read+channel_commercial+user_subscriptions+chat_login+user_follows_edit+channel:read:redemptions+channel_editor+user:edit:broadcast+channel_subscriptions+channel:moderate">this link</a>, which has all permissions Chatty needs). Chatty won't be able to
|
||||||
|
receive the token automatically (your browser will tell you that it can't
|
||||||
<table class="loginlinks">
|
load the page when you get to <code>http://127.0.0.1:61324</code>), so you have to
|
||||||
<tr>
|
<strong>read on in the next section</strong>, especially
|
||||||
<th></th>
|
|
||||||
<th>Chat</th>
|
|
||||||
<th>User read</th>
|
|
||||||
<th>Editor</th>
|
|
||||||
<th>Commercials</th>
|
|
||||||
<th>Subscribers</th>
|
|
||||||
<th>Follow</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=chat_login+channel_editor+channel_commercial+user_read+channel_subscriptions+user_follows_edit">Request new login</a></td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=chat_login+channel_editor+channel_commercial+user_read+channel_subscriptions">Request new login</a></td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=chat_login+user_read">Request new login</a></td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=chat_login">Request new login</a></td>
|
|
||||||
<td>✓</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p>Since the webserver in Chatty won't run if you got any of the aforementioned
|
|
||||||
errors, your browser will tell you it can't load the page when you get to
|
|
||||||
<code>http://127.0.0.1:61324</code>. <strong>Read on in the next section</strong>, especially
|
|
||||||
<a href="#addtokenmanually">Manually add the login into Chatty</a>.</p>
|
<a href="#addtokenmanually">Manually add the login into Chatty</a>.</p>
|
||||||
|
|
||||||
<h2>The browser says it can't open the page after you authorized Chatty</h2>
|
<h2>The browser says it can't open the page after you authorized Chatty</h2>
|
||||||
|
@ -1,41 +1,41 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<title>Chatty - Livestreamer / Streamlink</title>
|
<title>Chatty - Streamlink</title>
|
||||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||||
<body>
|
<body>
|
||||||
<div id="backlink"><a href="help.html">To main help page</a></div>
|
<div id="backlink"><a href="help.html">To main help page</a></div>
|
||||||
<h1><a name="top">Livestreamer / Streamlink</a></h1>
|
<h1><a name="top">Streamlink</a></h1>
|
||||||
<p>
|
<p>
|
||||||
<a href="#usage">Usage</a> |
|
<a href="#usage">Usage</a> |
|
||||||
<a href="#settings">Settings</a> |
|
<a href="#settings">Settings</a> |
|
||||||
<a href="#troubleshooting">Troubleshooting</a>
|
<a href="#troubleshooting">Troubleshooting</a>
|
||||||
</p>
|
</p>
|
||||||
<p><a href="https://github.com/chrippa/livestreamer">Livestreamer</a>
|
<p><a href="https://streamlink.github.io/">Streamlink</a>
|
||||||
is a commandline program that can be used to watch streams in a player like
|
is a commandline program that can be used to watch streams in a player like
|
||||||
VLC Player. It has to be downloaded and installed separately from Chatty.</p>
|
VLC Player. It has to be downloaded and installed separately from Chatty.</p>
|
||||||
|
|
||||||
<p><strong>Note:</strong> Since Livestreamer doesn't appear to be developed anymore, there is an
|
<p><strong>Note:</strong> Streamlink is a fork of <a href="https://github.com/chrippa/livestreamer">Livestreamer</a>
|
||||||
updated fork called <a href="https://streamlink.github.io/">Streamlink</a>, which works the same way. If you want to
|
and more up-to-date, but mostly works the same way. If you want to use
|
||||||
use Streamlink with Chatty, simply change the <code>Base command</code>
|
Streamlink with Chatty you may have to change the <code>Base command</code>
|
||||||
to <code>streamlink</code> (or, as with Livestreamer, put the whole path to the program
|
to <code>streamlink</code> (or, as with Livestreamer, put the whole path
|
||||||
if that is required in your case). Currently Streamlink appears to be using the
|
to the program if that is required in your case). Currently Streamlink
|
||||||
same commandline interface, so everything should work as usual (after
|
appears to be using the same commandline interface, so everything should
|
||||||
changing the <code>Base command</code>). If they do change the
|
work as usual (after changing the <code>Base command</code>). If they do
|
||||||
interface, changes in Chatty may be required.</p>
|
change the interface, changes in Chatty may be required.</p>
|
||||||
|
|
||||||
<h2><a name="usage">Usage</a></h2>
|
<h2><a name="usage">Usage</a></h2>
|
||||||
<p>You can open the Livestreamer dialog that Chatty provides via
|
<p>You can open the Streamlink dialog that Chatty provides via
|
||||||
<code>Extra - Livestreamer</code>, where you can directly run Livestreamer
|
<code>Extra - Streamlink</code>, where you can directly run Streamlink
|
||||||
and change some settings.</p>
|
and change some settings.</p>
|
||||||
|
|
||||||
<p>Each time you open a stream via the dialog or a context menu, a tab is
|
<p>Each time you open a stream via the dialog or a context menu, a tab is
|
||||||
added to the dialog where the output of the Livestreamer process is
|
added to the dialog where the output of the Streamlink process is
|
||||||
redirected to. If you open a stream with the same stream name and quality you already
|
redirected to. If you open a stream with the same stream name and quality you already
|
||||||
have open in a tab whose process isn't currently running, then that tab will
|
have open in a tab whose process isn't currently running, then that tab will
|
||||||
be reused.</p>
|
be reused.</p>
|
||||||
|
|
||||||
<p>The tab of a stream is automatically closed when you close the Video
|
<p>The tab of a stream is automatically closed when you close the Video
|
||||||
Player opened by Livestreamer, if the dialog isn't currently open. Otherwise
|
Player opened by Streamlink, if the dialog isn't currently open. Otherwise
|
||||||
you have to close it yourself by using the <code>Close</code>-button on the
|
you have to close it yourself by using the <code>Close</code>-button on the
|
||||||
top right, which turns into an <code>End process</code>-button as long as
|
top right, which turns into an <code>End process</code>-button as long as
|
||||||
the process is still running. The <code>Retry</code>-button can be used to
|
the process is still running. The <code>Retry</code>-button can be used to
|
||||||
@ -43,25 +43,25 @@
|
|||||||
stream, but you want to retry now because you know it's come online).</p>
|
stream, but you want to retry now because you know it's come online).</p>
|
||||||
|
|
||||||
<h2><a name="settings">Settings</a></h2>
|
<h2><a name="settings">Settings</a></h2>
|
||||||
<p>The settings can be changed in the Livestreamer dialog.</p>
|
<p>The settings can be changed in the Streamlink dialog.</p>
|
||||||
<dl class="dl-settings">
|
<dl class="dl-settings">
|
||||||
<dt>Enable context menu entry</dt>
|
<dt>Enable context menu entry</dt>
|
||||||
<dd>Adds a Livestreamer submenu to all context menus that can be used to
|
<dd>Adds a Streamlink submenu to all context menus that can be used to
|
||||||
open streams (for example right-click on channel, username or Live
|
open streams (for example right-click on channel, username or Live
|
||||||
Streams dialog).</dd>
|
Streams dialog).</dd>
|
||||||
|
|
||||||
<dt>Show dialog when opening stream</dt>
|
<dt>Show dialog when opening stream</dt>
|
||||||
<dd>Auto-opens the Livestreamer Dialog when you open a stream out of a
|
<dd>Auto-opens the Streamlink Dialog when you open a stream out of a
|
||||||
context menu.</dd>
|
context menu.</dd>
|
||||||
|
|
||||||
<dt>Auto close dialog when starting player</dt>
|
<dt>Auto close dialog when starting player</dt>
|
||||||
<dd>Auto-closes the Livestreamer Dialog when the text <code>Starting player</code>
|
<dd>Auto-closes the Streamlink Dialog when the text <code>Starting player</code>
|
||||||
comes up in the log.</dd>
|
comes up in the log.</dd>
|
||||||
|
|
||||||
<dt>Context menu qualities</dt>
|
<dt>Context menu qualities</dt>
|
||||||
<dd>You can customize which quality options appear in the context menu.
|
<dd>You can customize which quality options appear in the context menu.
|
||||||
The options you enter here are directly given as a parameter to
|
The options you enter here are directly given as a parameter to
|
||||||
Livestreamer, except <code>Select</code> which tells Chatty you want
|
Streamlink, except <code>Select</code> which tells Chatty you want
|
||||||
to select a quality in the dialog.</dd>
|
to select a quality in the dialog.</dd>
|
||||||
<dd>Separate qualities by space or comma, add a <code>|</code> (vertical
|
<dd>Separate qualities by space or comma, add a <code>|</code> (vertical
|
||||||
bar) to add a separator to the menu.</dd>
|
bar) to add a separator to the menu.</dd>
|
||||||
@ -78,70 +78,53 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<dt>Base command (Livestreamer path and parameters)</dt>
|
<dt>Base command (Streamlink path and parameters)</dt>
|
||||||
<dd>This must contain the Livestreamer executable, including any
|
<dd>This must contain the Streamlink executable, including any
|
||||||
commandline options that you always want to be included when running
|
commandline options that you always want to be included when running
|
||||||
Livestreamer out of Chatty.</dd>
|
Streamlink out of Chatty.</dd>
|
||||||
<dd>The URL and quality are automatically appended to this when running
|
<dd>The URL and quality are automatically appended to this when running
|
||||||
Livestreamer, so the overall command that is executed is build like
|
Streamlink, so the overall command that is executed is build like
|
||||||
this:
|
this:
|
||||||
<code><Base command> <url> <quality></code>.</dd>
|
<code><Base command> <url> <quality></code>.</dd>
|
||||||
<dd>You can use the variables <code>$stream</code>, <code>$url</code>
|
<dd>You can use the variables <code>$stream</code>, <code>$url</code>
|
||||||
and <code>$quality</code> in this setting (see Examples).</dd>
|
and <code>$quality</code> in this setting (see Examples).</dd>
|
||||||
<dd>The default is just <code>livestreamer</code>, which is sufficient
|
<dd>The default is just <code>streamlink</code>, which is sufficient
|
||||||
if Livestreamer is correctly included in the systems PATH variable,
|
if Streamlink is correctly included in the systems PATH variable,
|
||||||
but you may also specify the full path.</dd>
|
but you may also specify the full path.</dd>
|
||||||
<dd>Remember to surround the path or any parameters with quotes if they
|
<dd>Remember to surround the path or any parameters with quotes if they
|
||||||
contain spaces, so the commandline knows they belong together.</dd>
|
contain spaces, so the commandline knows they belong together.</dd>
|
||||||
<dd><em>Examples:</em>
|
<dd><em>Examples:</em>
|
||||||
<ul class="example-list">
|
<ul class="example-list">
|
||||||
<li><code>"C:\My Programs\Livestreamer\livestreamer.exe"</code><br />
|
<li><code>"C:\My Programs\Streamlink\streamlink.exe"</code><br />
|
||||||
(specify full path to the Livestreamer executable)</li>
|
(specify full path to the Streamlink executable)</li>
|
||||||
<li><code>"C:\My Programs\Livestreamer\livestreamer.exe" --player "C:\Program Files\MPC-HC\mpc-hc64.exe"</code><br />
|
<li><code>"C:\My Programs\Streamlink\streamlink.exe" --player "C:\Program Files\MPC-HC\mpc-hc64.exe"</code><br />
|
||||||
(specify full path to Livestreamer and use a different player)</li>
|
(specify full path to Streamlink and use a different player)</li>
|
||||||
<li><code>/usr/local/bin/livestreamer</code><br />
|
<li><code>/usr/local/bin/streamlink</code><br />
|
||||||
(this might work on Linux/Mac if it can't find Livestreamer
|
(this might work on Linux/Mac if it can't find Streamlink
|
||||||
without the full path)</li>
|
without the full path)</li>
|
||||||
<li><code>livestreamer -p "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe --meta-title $stream/$quality"</code><br />
|
<li><code>streamlink -p "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe --meta-title $stream/$quality"</code><br />
|
||||||
(change VLC Player window title to something more descriptive)</li>
|
(change VLC Player window title to something more descriptive)</li>
|
||||||
</ul>
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<dt>Use Authorization (Twitch Oauth Token)</dt>
|
<dt><span class="del">Use Authorization (Twitch Oauth Token)</span></dt>
|
||||||
<dd>Tell Livestreamer to authenticate at Twitch with your Chatty access
|
<dd>Tell Streamlink to authenticate at Twitch with your Chatty access
|
||||||
token.</dd>
|
token.</dd>
|
||||||
<dd>Enabling this may help if you get an error when running Livestreamer
|
<dd>This option has been <a href="https://streamlink.github.io/changelog.html#streamlink-2-0-0-2020-12-22">removed</a>
|
||||||
(Bad Request).</dd>
|
from Streamlink and thus also from Chatty.</dd>
|
||||||
<dd>This is necessary for sub-only streams.</dd>
|
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
<h2><a name="troubleshooting">Troubleshooting</a></h2>
|
<h2><a name="troubleshooting">Troubleshooting</a></h2>
|
||||||
<h3>Bad Request</h3>
|
<h3>Can't run Streamlink</h3>
|
||||||
<p>Recently Twitch changed their API to require a Client ID being supplied,
|
|
||||||
which Livestreamer doesn't do by default, so you may get a Bad Request
|
|
||||||
error. You can fix this either by:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Enabling the <code>Use Authorization</code> setting to authenticate
|
|
||||||
with Twitch, which makes the Twitch API derive the Client ID from
|
|
||||||
the access token.</li>
|
|
||||||
<li>Adding a Client ID to the <code>Base command</code>, for eaxmple to
|
|
||||||
add Livestreamer's Client ID:<br />
|
|
||||||
<code>livestreamer --http-header Client-ID=ewvlchtxgqq88ru9gmfp1gmyt6h2b93</code>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>If you're using Streamlink this shouldn't be an issue for you since it
|
|
||||||
has been updated accordingly.</p>
|
|
||||||
|
|
||||||
<h3>Can't run Livestreamer</h3>
|
|
||||||
<p>If you get an error like <code>Error: java.io.IOException: Cannot run
|
<p>If you get an error like <code>Error: java.io.IOException: Cannot run
|
||||||
program "<...>": CreateProcess error=2 [..]</code>, then
|
program "<...>": CreateProcess error=2 [..]</code>, then
|
||||||
Chatty probably can't find Livestreamer on your system.</p>
|
Chatty probably can't find Streamlink on your system.</p>
|
||||||
|
|
||||||
<p>To solve this, first make sure that
|
<p>To solve this, first make sure that
|
||||||
you actually have Livestreamer installed. You need to install it on you own, it does
|
you actually have Streamlink installed. You need to install it on you own, it does
|
||||||
not come bundled with Chatty. If you are sure it is installed (and you maybe can
|
not come bundled with Chatty. If you are sure it is installed (and you maybe can
|
||||||
run it from the commandline just fine), you may have to tell Chatty the full
|
run it from the commandline just fine), you may have to tell Chatty the full
|
||||||
path to the Livestreamer executable for it to work by entering it in the
|
path to the Streamlink executable for it to work by entering it in the
|
||||||
<code>Base command</code> field. See the <a href="#settings">Settings section</a> above for examples
|
<code>Base command</code> field. See the <a href="#settings">Settings section</a> above for examples
|
||||||
and help on that.</p>
|
and help on that.</p>
|
||||||
</body>
|
</body>
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
<h1><a name="top">Release Information</a></h1>
|
<h1><a name="top">Release Information</a></h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
<a href="#0.14">0.14</a> |
|
||||||
<a href="#0.13.1">0.13.1</a> |
|
<a href="#0.13.1">0.13.1</a> |
|
||||||
<a href="#0.13">0.13</a> |
|
<a href="#0.13">0.13</a> |
|
||||||
<a href="#0.12">0.12</a> |
|
<a href="#0.12">0.12</a> |
|
||||||
@ -62,7 +63,85 @@
|
|||||||
full list of changes.</p>
|
full list of changes.</p>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<a name="0.13.1">Version 0.13.1</a> <a name="latest">(This one!)</a> (2020-11-17)
|
<a name="0.14">Version 0.14</a> <a name="latest">(This one!) (2021-03-04)</a>
|
||||||
|
<a href="#top" class="top">[back to top]</a>
|
||||||
|
</h2>
|
||||||
|
<p>This version features (among other things) a more advanced drag&drop
|
||||||
|
functionality:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Tabs can be dragged to the edges of a chat to create a split view
|
||||||
|
with two tab panes side by side.</li>
|
||||||
|
<li>Tabs can be dragged from one tab pane to another.</li>
|
||||||
|
<li>Popouts also contain a tab pane now (if more than one tab is dragged
|
||||||
|
into it).</li>
|
||||||
|
<li>A popout can be opened through the tab context menu (as before) or
|
||||||
|
by dragging a tab outside of the window. Popouts can be opened
|
||||||
|
either as a dialog or separate window.</li>
|
||||||
|
<li>More customization of how information on tabs is displayed.</li>
|
||||||
|
<li>The Highlighted and Ignored Messages dialogs can be docked as a tab
|
||||||
|
through their context menus.</li>
|
||||||
|
<li>Find relevant settings under "Tabs" and "Window".</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
### Custom Commands / Commands
|
||||||
|
- Added `$"<text>"` to Custom Commands syntax, where everything inside the
|
||||||
|
quotes is interpreted as literal text (e.g. `$"This costs $30 dollars"`)
|
||||||
|
- Added optional args parameter to Custom Replacements: `$(_m,[args])`, where
|
||||||
|
"args" is available in the "_m" replacement via `$1-` (like a function)
|
||||||
|
- Changes to the /chain command:
|
||||||
|
- Automatically escape seperator character "|" in top-level replacements
|
||||||
|
- Fixed bug where the wrong parameters would be sometimes set
|
||||||
|
- Added /say command
|
||||||
|
- Added $request() method to perform GET requests
|
||||||
|
- Improved $replace() function with more advanced replace options
|
||||||
|
- Added identifiers to retrieve info about the local user
|
||||||
|
- Prevent endless recursion that could happen in some cases
|
||||||
|
- Added warning when Custom Commands have the same name as built-in commands
|
||||||
|
|
||||||
|
### Matching (Highlight, Ignore etc.)
|
||||||
|
- Added Presets that can be used in individual Matching items (various prefixes)
|
||||||
|
- Improved Highlight editor
|
||||||
|
- Added "n:" prefix for notes that are ignored for matching
|
||||||
|
- Added "startw:" prefix
|
||||||
|
- Added Highlight-style user-related matching to custom Usercolors/Badges
|
||||||
|
- Added Ignore blacklist (to prevent message from being ignored)
|
||||||
|
- Various blacklist improvements
|
||||||
|
- Added "Message Info" context menu entry for chat messages showing which
|
||||||
|
Highlights or Custom Message Color item they were affected by (if any)
|
||||||
|
- Improved Highlighted/Ignored messages dialogs (e.g. show bans/timeouts)
|
||||||
|
|
||||||
|
### Users
|
||||||
|
- Added date separator in User Dialog message history
|
||||||
|
- Added setting for User Dialog message limit
|
||||||
|
- Added user notes (via User Dialogs)
|
||||||
|
- Added support for showing pronouns (disabled by default)
|
||||||
|
- Added colored names in userlist (disabled by default, limited to users that
|
||||||
|
already talked)
|
||||||
|
|
||||||
|
### Other Changes
|
||||||
|
- Improved tab/popout handling (see description above)
|
||||||
|
- Updated JTattoo Look&Feels to fix some small tabs issues
|
||||||
|
- Added "Join"-link for hosted channels
|
||||||
|
- Keep message in input box after cancelling mention dialog
|
||||||
|
- Account: Allow opening connect URL on error to make manual process easier
|
||||||
|
- Always show whisper related info messages in active channel
|
||||||
|
- Added setting for link color in info messages
|
||||||
|
- Added FFZ per-channel bot recognition
|
||||||
|
- Increased the maximum amount of followed streams that can be requested
|
||||||
|
- Updated translations/texts
|
||||||
|
- Updated help
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- Fixed error in Highlight editor due to missing icon on some platforms
|
||||||
|
- Fixed sub months in badge tooltips
|
||||||
|
- Fixed token verified dialog showing when it shouldn't
|
||||||
|
- Fixed website approved automod message showing as points reward
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<h2>
|
||||||
|
<a name="0.13.1">Version 0.13.1</a> (2020-11-17)
|
||||||
<a href="#top" class="top">[back to top]</a>
|
<a href="#top" class="top">[back to top]</a>
|
||||||
</h2>
|
</h2>
|
||||||
<pre>
|
<pre>
|
||||||
|
@ -153,6 +153,8 @@
|
|||||||
as hardcoded into Chatty, may be different from other programs), e.g. <code>$color:Blue</code> for blue,
|
as hardcoded into Chatty, may be different from other programs), e.g. <code>$color:Blue</code> for blue,
|
||||||
which can be used to replace colors</li>
|
which can be used to replace colors</li>
|
||||||
<li><code>$defaultColor</code> - Users that don't have a color set and have the default assigned color (somewhat random)</li>
|
<li><code>$defaultColor</code> - Users that don't have a color set and have the default assigned color (somewhat random)</li>
|
||||||
|
<li><code>$m:<item></code> - Specify user-related <a href="#Highlight_Meta_Matching">Highlight Matching</a> prefixes, such as
|
||||||
|
<code>$m:config:b|partner</code> to match users with a partner badge</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>The order of the
|
<p>The order of the
|
||||||
@ -230,11 +232,16 @@
|
|||||||
<dt>Restriction</dt>
|
<dt>Restriction</dt>
|
||||||
<dd>This is similiar to the <a href="#Usercolors">Usercolors</a> settings,
|
<dd>This is similiar to the <a href="#Usercolors">Usercolors</a> settings,
|
||||||
where you can enter special restrictions the user has to match in order
|
where you can enter special restrictions the user has to match in order
|
||||||
for the icon to be displayed. What makes the most sense in this case is
|
for the icon to be displayed. If you keep this empty, then no restriction
|
||||||
probably just entering a username (e.g. <code>serenity</code>) or an
|
|
||||||
addressbook category (e.g. <code>$cat:vip</code>, which would refer to
|
|
||||||
the category <code>vip</code>). If you keep this empty, then no restriction
|
|
||||||
is applied.</dd>
|
is applied.</dd>
|
||||||
|
<dd>The most common restrictions would be:
|
||||||
|
<ul>
|
||||||
|
<li>Just the username (e.g. <code>serenity</code>)</li>
|
||||||
|
<li>An addressbook category (e.g. <code>$cat:vip</code>, which would refer to
|
||||||
|
the category <code>vip</code>)</li>
|
||||||
|
<li>Most other <a href="#Usercolors">Usercolors</a> restrictions</li>
|
||||||
|
</ul>
|
||||||
|
</dd>
|
||||||
<dd>Specifying a <em>Type</em> other than <code>Addon</code> carries an
|
<dd>Specifying a <em>Type</em> other than <code>Addon</code> carries an
|
||||||
implicit restriction, since e.g. the default moderator icons are only
|
implicit restriction, since e.g. the default moderator icons are only
|
||||||
displayed if the user is a moderator.</dd>
|
displayed if the user is a moderator.</dd>
|
||||||
@ -752,6 +759,13 @@
|
|||||||
<li><a href="#Highlight_Matching">Text Matching Prefixes</a></li>
|
<li><a href="#Highlight_Matching">Text Matching Prefixes</a></li>
|
||||||
<li><a href="#Highlight_Meta_Matching">Meta Prefixes (Matching)</a> (e.g. matching by channel, user or message type)</li>
|
<li><a href="#Highlight_Meta_Matching">Meta Prefixes (Matching)</a> (e.g. matching by channel, user or message type)</li>
|
||||||
<li><a href="#Highlight_Meta_Behaviour">Meta Prefixes (Behaviour)</a> (e.g. changing resulting text color)</li>
|
<li><a href="#Highlight_Meta_Behaviour">Meta Prefixes (Behaviour)</a> (e.g. changing resulting text color)</li>
|
||||||
|
<li><a href="#Matching_Presets">Presets</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Also see:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#Highlight_Order">Order of Highlight Items</a></li>
|
||||||
|
<li><a href="#Highlight_Examples">Examples</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>By default only regular chat messages are matched, however with the
|
<p>By default only regular chat messages are matched, however with the
|
||||||
@ -777,6 +791,7 @@
|
|||||||
<li><code>wcs:</code> is the same as <code>w:</code>, but case-sensitive.</li>
|
<li><code>wcs:</code> is the same as <code>w:</code>, but case-sensitive.</li>
|
||||||
<li><code>start:</code> to match at the start, so <code>start:!bet</code> will
|
<li><code>start:</code> to match at the start, so <code>start:!bet</code> will
|
||||||
match messages starting with <code>!bet</code>.</li>
|
match messages starting with <code>!bet</code>.</li>
|
||||||
|
<li><code>startw:</code> is a combination of <code>start:</code> and <code>w:</code>.</li>
|
||||||
<li><code>reg:</code> (and variations) to use a
|
<li><code>reg:</code> (and variations) to use a
|
||||||
<a href="https://en.wikipedia.org/wiki/Regular_expression">Regular Expression</a> (Regex), which are case-sensitive by default:
|
<a href="https://en.wikipedia.org/wiki/Regular_expression">Regular Expression</a> (Regex), which are case-sensitive by default:
|
||||||
<ul>
|
<ul>
|
||||||
@ -835,7 +850,7 @@
|
|||||||
prefixes), however you can enclose the prefix value (or part of it)
|
prefixes), however you can enclose the prefix value (or part of it)
|
||||||
in quotes. Two quotes can be used to add a literal quote. Example:
|
in quotes. Two quotes can be used to add a literal quote. Example:
|
||||||
<code>replacement:"text with ""space"""</code> (meaning
|
<code>replacement:"text with ""space"""</code> (meaning
|
||||||
the value is <code>text with "space"</code>)</li>
|
the value of <code>replacement:</code> is <code>text with "space"</code>)</li>
|
||||||
<li>When a prefix can have several values, they must be comma-separated
|
<li>When a prefix can have several values, they must be comma-separated
|
||||||
(without spaces). Example: <code>cat:category1,category2</code>.
|
(without spaces). Example: <code>cat:category1,category2</code>.
|
||||||
Commas in list values can be quoted as well for them to be used
|
Commas in list values can be quoted as well for them to be used
|
||||||
@ -967,7 +982,13 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><code>config:silent</code> - Disable sounds for this item</li>
|
<li><code>config:silent</code> - Disable sounds for this item</li>
|
||||||
<li><code>config:!notify</code> - Disable notifications for this item</li>
|
<li><code>config:!notify</code> - Disable notifications for this item</li>
|
||||||
</ul></li>
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><code>n:</code> to provide a note that is ignored for matching.
|
||||||
|
Example: In <code>n:"Explains this entry" config:info startw:!quote</code>
|
||||||
|
only <code>config:info startw:!quote</code> will have an effect
|
||||||
|
(see <a href="#Highlight_Meta_Matching">Meta Prefixes (Matching)</a>
|
||||||
|
on how quoting works).</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><em>Note:</em> If you're using the <code>color:</code> or <code>bgcolor:</code>
|
<p><em>Note:</em> If you're using the <code>color:</code> or <code>bgcolor:</code>
|
||||||
@ -976,7 +997,108 @@
|
|||||||
message to the Highlighted Messages window - then consider using Custom
|
message to the Highlighted Messages window - then consider using Custom
|
||||||
Message Colors instead.</p>
|
Message Colors instead.</p>
|
||||||
|
|
||||||
<h3>Order of items</h3>
|
<h3><a name="Matching_Presets">Presets</a></h3>
|
||||||
|
<p>There are different ways that allow you to build Highlight items (or
|
||||||
|
settings using the same format) from pre-defined parts or apply
|
||||||
|
functions instead of writing it all manually:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>The <code>preset:</code> prefix inserts a "Presets" list entry at
|
||||||
|
it's position (good for often used meta prefixes).</li>
|
||||||
|
<li>The <code>cc:/cc2:</code> prefixes modify all of the text after it
|
||||||
|
by allowing Custom Command syntax to be used (which allows you to
|
||||||
|
include entries from the "Presets" list or use functions).</li>
|
||||||
|
<li>The <code>ccf:</code> prefix modifies all of the text after it by
|
||||||
|
applying a function from the "Presets" list to it.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>The "Presets" list can be accessed through the Highlights settings page.
|
||||||
|
Presets can be used from any setting that uses the Highlights format,
|
||||||
|
even though in this help it only refers to the Highlights list.</p>
|
||||||
|
|
||||||
|
<p>The <strong>"preset:" prefix</strong> inserts an entry from
|
||||||
|
the "Presets" list. It could for example contain an entry with the name "m" that contains some meta prefixes:</p>
|
||||||
|
<p class="codeblock-compact"><code>m chanChat:mod config:!notify</code> ("Presets" list)</p>
|
||||||
|
|
||||||
|
<p>This could then be inserted into a Highlight list entry like this:</p>
|
||||||
|
<p class="codeblock-compact"><code>preset:m reg:<some regex></code></p>
|
||||||
|
|
||||||
|
<p>Prior to further parsing this would be expanded to:</p>
|
||||||
|
<p class="codeblock-compact"><code>chanCat:mod config:!notify reg:<some regex></code></p>
|
||||||
|
|
||||||
|
<p>You can also add an optional parameter, for example <code>preset:m|",silent"</code>,
|
||||||
|
which will be appended directly to the end if the inserted text:
|
||||||
|
<code>chanCat:mod config:!notify,silent reg:<some regex></code>.
|
||||||
|
If the name of the preset begins with an underscore the parameter
|
||||||
|
will instead be provided to the preset in the <code>$1-</code>
|
||||||
|
replacement.</p>
|
||||||
|
|
||||||
|
<p>The <strong>"cc:" prefix</strong> (short for "Custom Command") causes all following text to be
|
||||||
|
interpreted in the <a href="help-custom_commands.html#replacements">Custom Command</a> syntax, which means:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>You can use replacements such as <code>$(m)</code> or <code>$(_m,<text>)</code>, whereas "m" or "_m" are
|
||||||
|
entries on the "Presets" list. Presets beginning with <code>_</code>
|
||||||
|
can contain Custom Commands replacements like <code>$1-</code>, which
|
||||||
|
allows working with the given <code><text></code> (so they act like functions).</li>
|
||||||
|
<li>Special characters such as <code>$</code> and <code>\</code> have to
|
||||||
|
be escaped with a backslash (<code>\$</code> and <code>\\</code>)
|
||||||
|
when intended to be used literally.</li>
|
||||||
|
<li>Presets are applied when the Highlight item is compiled,
|
||||||
|
which usually happens when it was changed, but also sometimes
|
||||||
|
automatically. While some Custom Command functions such as <code>$datetime()</code>
|
||||||
|
may be available, it is inadvisable to use them
|
||||||
|
since it would cause inconsistent results.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>For example there could be a preset with the name "_t", that replaces
|
||||||
|
spaces in all of the given text <code>$1-</code> with underscores:</p>
|
||||||
|
<p class="codeblock-compact"><code>_t $replace($1-, ,_)</code> ("Presets" list)</p>
|
||||||
|
|
||||||
|
<p>This could then be used in a Highlight item:</p>
|
||||||
|
<p class="codeblock-compact"><code>cc:reg:\\w $(_t,abc test)</code> (note the escaped <code>\</code> and the <code>abc test</code> parameter)</p>
|
||||||
|
|
||||||
|
<p>Prior to further parsing this would be modified to (due to being handled
|
||||||
|
like a Custom Command):</p>
|
||||||
|
<p class="codeblock-compact"><code>reg:\w abc_test</code></p>
|
||||||
|
|
||||||
|
<p>The <strong>"cc2:" prefix</strong> does the same, except that you
|
||||||
|
must also specify a custom escaping (and optionally a replacement) character.
|
||||||
|
For example the following sets <code>~</code> as escape character (instead of <code>\</code>)
|
||||||
|
and <code>§</code> as replacement character (instead of <code>$</code>).
|
||||||
|
Anything after <code>|</code> is then interpreted in Custom Command syntax as above:</p>
|
||||||
|
<p class="codeblock-compact"><code>cc2:~§|reg:\w §(_t,abc test)</code></p>
|
||||||
|
|
||||||
|
<p>The result is the same as the <code>cc:</code> example, but the <code>\w</code>
|
||||||
|
does not need the additional <code>\</code> in front, since <code>\</code>
|
||||||
|
is not a special Custom Command character anymore.</p>
|
||||||
|
|
||||||
|
<p>The <strong><a name="Matching_ccf">"ccf:" prefix</a></strong> (short for
|
||||||
|
"Custom Command Function") applies a "Presets" list entry (whose name
|
||||||
|
should begin with <code>_</code> to be able to use Custom Command
|
||||||
|
replacements) to the entire following text, as if you wrapped the entire
|
||||||
|
text in a replacement. Example:</p>
|
||||||
|
<p class="codeblock-compact"><code>ccf:_t|reg:\w abc test</code></p>
|
||||||
|
|
||||||
|
<p>This is equivalent to:</p>
|
||||||
|
<p class="codeblock-compact"><code>cc:$(_t,reg:\\w abc test)</code></p>
|
||||||
|
|
||||||
|
<p>Both of these would give the entire text to <code>_t</code> (which is <code>$replace($1-, ,_)</code> as seen above) and then use the return value, so it changes to:</p>
|
||||||
|
<p class="codeblock-compact"><code>reg:\w_abc_test</code></p>
|
||||||
|
|
||||||
|
<p>Using <code>ccf:</code> has the advantage that you don't have to
|
||||||
|
worry about potentially having to escape special characters,
|
||||||
|
since simply everything after the <code>|</code> is provided to <code>_t</code>
|
||||||
|
as a parameter without being interpreted in any special way.</p>
|
||||||
|
|
||||||
|
<p>You can <strong>chain several prefixes</strong>, for example:</p>
|
||||||
|
<p class="codeblock-compact"><code>ccf:_test|preset:m reg:<some regex></code></p>
|
||||||
|
<p>This would first apply the <code>_test</code> function to everything after
|
||||||
|
it, then insert the <code>m</code> preset (assuming the <code>_test</code>
|
||||||
|
function did not change the <code>preset:m</code>), then continue parsing the
|
||||||
|
result as a Highlight item.</p>
|
||||||
|
|
||||||
|
<h3><a name="Highlight_Order">Order of Highlight items</a></h3>
|
||||||
<p>When using prefixes that change the behaviour (like setting a color) the
|
<p>When using prefixes that change the behaviour (like setting a color) the
|
||||||
order of Highlight items may be important, since the settings of the
|
order of Highlight items may be important, since the settings of the
|
||||||
first matching item (from the top of the list) will be used. Contrary to
|
first matching item (from the top of the list) will be used. Contrary to
|
||||||
@ -1737,7 +1859,7 @@
|
|||||||
the <code>-token</code> parameter sets the login token used in
|
the <code>-token</code> parameter sets the login token used in
|
||||||
Chatty. If a token is already saved in Chatty, then the <code>-token</code>
|
Chatty. If a token is already saved in Chatty, then the <code>-token</code>
|
||||||
parameter will have no effect, unless this setting is enabled.</dd>
|
parameter will have no effect, unless this setting is enabled.</dd>
|
||||||
<dd>Overriding the token can be any issue if external programs like the
|
<dd>Overriding the token can be an issue if external programs like the
|
||||||
Livestreamer GUI provide a token that has less access than the one
|
Livestreamer GUI provide a token that has less access than the one
|
||||||
already saved in Chatty (e.g. doesn't allow you to change your
|
already saved in Chatty (e.g. doesn't allow you to change your
|
||||||
stream title).</dd>
|
stream title).</dd>
|
||||||
|
@ -32,7 +32,6 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li><a href="#known">Known Issues</a></li>
|
<li><a href="#known">Known Issues</a></li>
|
||||||
<li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
|
<li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
|
||||||
<li><a href="#livestreamer">Livestreamer won't run properly</a></li>
|
|
||||||
<li><a href="#log">Debug log</a></li>
|
<li><a href="#log">Debug log</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@ -98,12 +97,6 @@
|
|||||||
issue.</li>
|
issue.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h2>
|
|
||||||
<a name="livestreamer">Livestreamer won't run properly</a>
|
|
||||||
<a href="#top" class="top">[back to menu]</a>
|
|
||||||
</h2>
|
|
||||||
<p>See the <a href="help-livestreamer.html">Chatty Livestreamer Help</a>.</p>
|
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<a name="settings_lost">Settings lost</a>
|
<a name="settings_lost">Settings lost</a>
|
||||||
<a href="#top" class="top">[back to menu]</a>
|
<a href="#top" class="top">[back to menu]</a>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1><a name="top">Chatty (Version: 0.13.1)</a></h1>
|
<h1><a name="top">Chatty (Version: 0.14)</a></h1>
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
@ -50,7 +50,7 @@
|
|||||||
<li><a href="#channelinfo">Channel Info / History</a></li>
|
<li><a href="#channelinfo">Channel Info / History</a></li>
|
||||||
<li><a href="#notifications">Live Streams / Notifications</a></li>
|
<li><a href="#notifications">Live Streams / Notifications</a></li>
|
||||||
<li><a href="help-admin.html">Admin Dialog</a></li>
|
<li><a href="help-admin.html">Admin Dialog</a></li>
|
||||||
<li><a href="help-livestreamer.html">Livestreamer / Streamlink</a>
|
<li><a href="help-livestreamer.html">Streamlink</a>
|
||||||
<li><a href="help-srl.html">SpeedrunsLive (SRL)</a></li>
|
<li><a href="help-srl.html">SpeedrunsLive (SRL)</a></li>
|
||||||
<li><a href="#followers">Followers/Subscribers List</a></li>
|
<li><a href="#followers">Followers/Subscribers List</a></li>
|
||||||
<li><a href="#streamhighlights">Stream Highlights / Markers</a></li>
|
<li><a href="#streamhighlights">Stream Highlights / Markers</a></li>
|
||||||
@ -121,6 +121,8 @@
|
|||||||
<li><code>R9k</code> for R9Kbeta Mode</li>
|
<li><code>R9k</code> for R9Kbeta Mode</li>
|
||||||
<li><code>EmoteOnly</code> for Emote-Only Mode</li>
|
<li><code>EmoteOnly</code> for Emote-Only Mode</li>
|
||||||
<li>A language code if Broadcaster Language Mode is enabled</li>
|
<li>A language code if Broadcaster Language Mode is enabled</li>
|
||||||
|
<li><code>[FM]</code> indicates a websocket connection (<code>F</code>
|
||||||
|
for FrankerFaceZ, <code>M</code> for PubSub/Modlogs)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>You can toggle showing some information under <code>View - Options - Titlebar</code>.</p>
|
<p>You can toggle showing some information under <code>View - Options - Titlebar</code>.</p>
|
||||||
|
|
||||||
@ -174,7 +176,8 @@
|
|||||||
|
|
||||||
<h3><a name="commands-chat">Chat commands:</a></h3>
|
<h3><a name="commands-chat">Chat commands:</a></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><code>/me <message></code> - Send an action message (* nickname says something) to the channel</li>
|
<li><code>/say <message></code> - Send a regular chat message, alternative to just entering the text (it being a command can be useful in some cases, e.g. if you want to ensure that a message starting with a replacement can't trigger another command or to use an <a href="help-custom_commands.html#anonymous-custom-commands">Anonymous Custom Command</a> using <code>//say</code>)</li>
|
||||||
|
<li><code>/me <message></code> - Send an action message (* nickname says something)</li>
|
||||||
<li><code>/msgreply <message></code> - Send a reply to a specific message, only works when added to the User Context Menu or User Dialog
|
<li><code>/msgreply <message></code> - Send a reply to a specific message, only works when added to the User Context Menu or User Dialog
|
||||||
in the Commands settings (e.g. <code>Reply=/msgreply $$input(Reply to $(nick))</code>)</li>
|
in the Commands settings (e.g. <code>Reply=/msgreply $$input(Reply to $(nick))</code>)</li>
|
||||||
<li><code>/to <nick> [time] [reason]</code> - Timeout the user with the given nickname for "time" seconds (time is optional)</li>
|
<li><code>/to <nick> [time] [reason]</code> - Timeout the user with the given nickname for "time" seconds (time is optional)</li>
|
||||||
@ -309,6 +312,40 @@
|
|||||||
<dd>Outputs <code>a</code> and <code>|b|</code></dd>
|
<dd>Outputs <code>a</code> and <code>|b|</code></dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
<p>When using <code>/chain</code> with <a href="help-custom_commands.html">Custom Command</a>
|
||||||
|
replacements, consider the following:</p>
|
||||||
|
|
||||||
|
<dl class="defList">
|
||||||
|
<dt><code>/chain /echo $(msg) | /echo abc</code></dt>
|
||||||
|
<dd>All replacements are performed before the <code>/chain</code>
|
||||||
|
command is executed, so anything in <code>$(msg)</code> is put in
|
||||||
|
first. If <code>$(msg)</code> contained <code>Hello World!</code>:<br />
|
||||||
|
<code>/chain /echo Hello World! | /echo abc</code></dd>
|
||||||
|
<dd>This means that if a replacement contains a <code>|</code> character
|
||||||
|
it would add an additional command. If <code>$(msg)</code> contained <code>Hello | World!</code>, then <code>World!</code> would be
|
||||||
|
separately entered into the inputbox (so it would output two <code>/echo</code>
|
||||||
|
info messages and send <code>World!</code> to chat):<br />
|
||||||
|
<code>/chain /echo Hello | World! | /echo abc</code></dd>
|
||||||
|
<dd>Since this could cause issues, any top-level replacement will escape
|
||||||
|
the <code>|</code> character automatically if the Custom Command
|
||||||
|
begins with the <code>/chain</code> command (so it would output
|
||||||
|
<code>Hello | World!</code> and <code>abc</code>):<br />
|
||||||
|
<code>/chain /echo Hello || World! | /echo abc</code></dd>
|
||||||
|
<dd>You can prevent this automatic escaping (if you are absolutely sure that
|
||||||
|
you want replacements to be able to insert any command) by adding
|
||||||
|
a backslash in front (this doesn't work when you enter the <code>/chain</code>
|
||||||
|
command directly into the inputbox):<br />
|
||||||
|
<code>\/chain /echo Hello | World! | /echo abc</code></dd>
|
||||||
|
|
||||||
|
<dt><code>/chain /echo abc $(chain-test)</code></dt>
|
||||||
|
<dd>You can test this by using the <code>$(chain-test)</code> replacement.
|
||||||
|
This should (if e.g. added in the body of a Custom Command) output the following info message:<br />
|
||||||
|
<code>abc | /echo Test || Message</code></dd>
|
||||||
|
<dd>If you add a backslash in front, it will output two info messages:<br />
|
||||||
|
<code>abc</code><br />
|
||||||
|
<code>Test | Message</code></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<a name="login">Twitch Login</a>
|
<a name="login">Twitch Login</a>
|
||||||
<a href="#top" class="top">[back to menu]</a>
|
<a href="#top" class="top">[back to menu]</a>
|
||||||
@ -1429,7 +1466,7 @@ MiniK http://static-cdn.jtvnw.net/emoticons/v1/25/1.0 set:793 id:3287</pre
|
|||||||
</h2>
|
</h2>
|
||||||
<p>Using the <code>/proc</code> command you can start processes directly out
|
<p>Using the <code>/proc</code> command you can start processes directly out
|
||||||
of Chatty. An example of where this is already integrated into Chatty is
|
of Chatty. An example of where this is already integrated into Chatty is
|
||||||
starting Livestreamer, however this is a more basic implementation.
|
starting Streamlink, however this is a more basic implementation.
|
||||||
<em>This is probably only interesting for advanced users.</em></p>
|
<em>This is probably only interesting for advanced users.</em></p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -55,6 +55,15 @@ code {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.codeblock-compact {
|
||||||
|
display: block;
|
||||||
|
margin-left: 4px;
|
||||||
|
margin-right: 4px;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: -4px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
cite {
|
cite {
|
||||||
background-color: #EEEEEE;
|
background-color: #EEEEEE;
|
||||||
}
|
}
|
||||||
|
16
index.html
16
index.html
@ -16,9 +16,9 @@ function loaded() {
|
|||||||
{ ceiling: null, text: "$years years ago" }
|
{ ceiling: null, text: "$years years ago" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
document.getElementById("ago").innerHTML = "Version 0.13.1 released "+humanized_time_span("2020/11/17", Date(), custom_date_formats)+"";
|
document.getElementById("ago").innerHTML = "Version 0.14 released "+humanized_time_span("2021/03/04", Date(), custom_date_formats)+"";
|
||||||
|
|
||||||
getDownloads("v0.13.1");
|
getDownloads("v0.14");
|
||||||
|
|
||||||
slideshow_init("slideshow");
|
slideshow_init("slideshow");
|
||||||
}
|
}
|
||||||
@ -158,7 +158,7 @@ function getDownloads(tag) {
|
|||||||
|
|
||||||
|
|
||||||
<h2 id="download">Download</h2>
|
<h2 id="download">Download</h2>
|
||||||
<p>Choose one of the following downloads of <strong>Chatty Version 0.13.1</strong><span id="dlCount" style="margin-bottom:7px;"></span>. For older versions or betas go to the <a href="https://github.com/chatty/chatty/releases">GitHub Releases</a>. Checksums for release files are available as <a href="https://tduva.com/chatty/checksums/v0.13.1/">SHA-256 hashes</a>.</p>
|
<p>Choose one of the following downloads of <strong>Chatty Version 0.14</strong><span id="dlCount" style="margin-bottom:7px;"></span>. For older versions or betas go to the <a href="https://github.com/chatty/chatty/releases">GitHub Releases</a>. Checksums for release files are available as <a href="https://tduva.com/chatty/checksums/v0.14/">SHA-256 hashes</a>.</p>
|
||||||
<p>If this is your first time using Chatty check out the <a href="help/help-getting-started.html"><strong>Getting Started Guide</strong></a>.</p>
|
<p>If this is your first time using Chatty check out the <a href="help/help-getting-started.html"><strong>Getting Started Guide</strong></a>.</p>
|
||||||
|
|
||||||
<h3>Windows</h3>
|
<h3>Windows</h3>
|
||||||
@ -170,11 +170,11 @@ function getDownloads(tag) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.13.1/Chatty_0.13.1_win_standalone_setup.exe"><strong>Download Windows Standalone (Installer)</strong></a> <span class="recommended"><sup>Recommended</sup></span></dt>
|
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.14/Chatty_0.14_win_standalone_setup.exe"><strong>Download Windows Standalone (Installer)</strong></a> <span class="recommended"><sup>Recommended</sup></span></dt>
|
||||||
<dd>Install into a folder of your choice and start <code>Chatty.exe</code> (or optionally created shortcuts).</dd>
|
<dd>Install into a folder of your choice and start <code>Chatty.exe</code> (or optionally created shortcuts).</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.13.1/Chatty_0.13.1_win_standalone.zip">Download Windows Standalone (.zip)</a></dt>
|
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.14/Chatty_0.14_win_standalone.zip">Download Windows Standalone (.zip)</a></dt>
|
||||||
<dd>Extract the .zip into a folder of your choice and start <code>Chatty.exe</code>.</dd>
|
<dd>Extract the .zip into a folder of your choice and start <code>Chatty.exe</code>.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@ -182,11 +182,11 @@ function getDownloads(tag) {
|
|||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.13.1/Chatty_0.13.1_win_setup.exe">Download JAR-Version (Installer)</a></dt>
|
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.14/Chatty_0.14_win_setup.exe">Download JAR-Version (Installer)</a></dt>
|
||||||
<dd>Install into a folder of your choice and start <code>Chatty.jar</code> (or optionally created shortcuts).</dd>
|
<dd>Install into a folder of your choice and start <code>Chatty.jar</code> (or optionally created shortcuts).</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.13.1/Chatty_0.13.1.zip">Download JAR-Version (.zip)</a></dt>
|
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.14/Chatty_0.14.zip">Download JAR-Version (.zip)</a></dt>
|
||||||
<dd>Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</dd>
|
<dd>Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</td>
|
</td>
|
||||||
@ -194,7 +194,7 @@ function getDownloads(tag) {
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h3>Non-Windows</h3>
|
<h3>Non-Windows</h3>
|
||||||
<p>For OS other than Windows (e.g. Linux or MacOS) you will need to download the <a href="https://github.com/chatty/chatty/releases/download/v0.13.1/Chatty_0.13.1.zip">JAR-Version (.zip)</a> and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</p>
|
<p>For OS other than Windows (e.g. Linux or MacOS) you will need to download the <a href="https://github.com/chatty/chatty/releases/download/v0.14/Chatty_0.14.zip">JAR-Version (.zip)</a> and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</p>
|
||||||
|
|
||||||
<h2 id="feedback">Contact</h2>
|
<h2 id="feedback">Contact</h2>
|
||||||
<p>If you have any feedback or questions feel free to contact me. You can <a href="https://discord.gg/WTuqGeJ">join the Chatty Discord</a> <sup>preferred</sup>, write me an <a href="mailto:chattyclient@gmail.com">E-Mail</a> or use <a href="https://twitter.com/chattyclient">Twitter</a>.</p>
|
<p>If you have any feedback or questions feel free to contact me. You can <a href="https://discord.gg/WTuqGeJ">join the Chatty Discord</a> <sup>preferred</sup>, write me an <a href="mailto:chattyclient@gmail.com">E-Mail</a> or use <a href="https://twitter.com/chattyclient">Twitter</a>.</p>
|
||||||
|
Loading…
Reference in New Issue
Block a user