Update help

This commit is contained in:
tduva 2019-08-05 18:08:32 +02:00
parent 9f6c526d4f
commit 312b7aada8
7 changed files with 187 additions and 138 deletions

View File

@ -55,9 +55,10 @@ along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</pre
<li>Robot Icon by <a href="http://p.yusukekamiyamane.com">Yusuke Kamiyamane</a> under <a href="http://creativecommons.org/licenses/by/3.0/">CC-BY 3.0</a>.</li>
<li>Emoji:
<ul>
<li>Emoji info (description, category) based on <a href="https://github.com/Ranks/emojione/blob/master/emoji.json">emoji.json by EmojiOne</a>
<li>Metadata (shortcodes, category, unicode version) based on <a href="https://github.com/github/gemoji/blob/master/db/emoji.json">Gemoji</a>
and <a href="https://github.com/joypixels/emojione/blob/master/emoji.json">Emoji One</a>, both
under the <a href="https://opensource.org/licenses/MIT">MIT License</a></li>
<li><a href="http://emojione.com/">EmojiOne</a> images licensed under
<li><a href="http://emojione.com/">EmojiOne</a> images (old version, newer versions are not under a free license) licensed under
<a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International</a></li>
<li><a href="https://github.com/twitter/twemoji">Twitter Emoji (Twemoji)</a> images licensed under
<a href="https://creativecommons.org/licenses/by/4.0/">CC-BY 4.0</a></li>

View File

@ -227,14 +227,21 @@
</tr>
<!-- User Context Menu -->
<tr>
<td rowspan="3">User Context Menu</td>
<td><code>1</code></td>
<td rowspan="4">User Context Menu</td>
<td><code>1</code>, <code>nick</code></td>
<td>Name of the user</td>
</tr>
<tr>
<td><code>msg</code></td>
<td>Message text of the selected message (depending on the line in
chat you opened the User Contex Menu from, not available for
your own messages)</td>
</tr>
<tr>
<td><code>msg-id</code></td>
<td>Message id of the selected message (depending on the line in
chat you opened the User Contex Menu from)</td>
chat you opened the User Contex Menu from, not available for
your own messages)</td>
</tr>
<tr>
<td><code>automod-msg-id</code></td>
@ -244,18 +251,25 @@
</tr>
<!-- User Dialog -->
<tr>
<td rowspan="7">User Dialog</td>
<td><code>1</code></td>
<td rowspan="8">User Dialog</td>
<td><code>1</code>, <code>nick</code></td>
<td>Name of the user</td>
</tr>
<tr>
<td><code>2-</code></td>
<td><code>2-</code>, <code>reason</code></td>
<td>Ban reason (if selected)</td>
</tr>
<tr>
<td><code>msg</code></td>
<td>Message text of the selected message (<code>&gt;</code> in front
of message, depending on the line in chat you opened it from,
not available for your own messages)</td>
</tr>
<tr>
<td><code>msg-id</code></td>
<td>Message id of the selected message (<code>&gt;</code> in front
of message, depending on the line in chat you opened it from)</td>
of message, depending on the line in chat you opened it from,
not available for your own messages)</td>
</tr>
<tr>
<td><code>automod-msg-id</code></td>
@ -314,6 +328,12 @@
<p><code>$&lt;functionName&gt;(&lt;identifier&gt;,&lt;some parameters&gt;,[optional parameters])</code></p>
<p class="note"><em>Note:</em> The <code>&lt;identifier&gt;</code> parameter
means anything not starting with <code>$</code> is interpreted as the
identifier only. You can think of it as an extension to the regular
replacement:
<code>$(1-) -> $<u>join</u>(1-<u>,/</u>)</code></p>
<p>The following functions are available:</p>
<dl class="defList">
<dt><code>$if(&lt;identifier&gt;,&lt;output if exists&gt;,[output if not])</code></dt>
@ -343,7 +363,12 @@
<dd><em>Example:</em> <code>$lower(1)</code> with <code>1</code>
referring to <code>Fremily</code> turns into <code>fremily</code>.</dd>
<dt><code>$rand(&lt;output1&gt;,&lt;output2&gt;,&lt;output3&gt,..)</code></dt>
<dt><code>$upper(&lt;identifier&gt;)</code></dt>
<dd>Makes the given input uppercase.</dd>
<dd><em>Example:</em> <code>$upper(1)</code> with <code>1</code>
referring to <code>Fremily</code> turns into <code>FREMILY</code>.</dd>
<dt><code>$rand([output1],[output2],[output3],..)</code></dt>
<dd>Randomly chooses one of the outputs.</dd>
<dd><em>Example:</em> <code>$rand(cheesecake,strawberry cake,$1-)</code>
with <code>1-</code> referring to <code>apple pie</code> turns into
@ -360,6 +385,20 @@
<dd><em>Example:</em> <code>$randum($$1)</code> chooses a random number
between 0 and what is the first parameter.</dd>
<dt><code>$urlencode(&lt;input&gt;)</code></dt>
<dd>Uses <a href="https://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html#encode-java.lang.String-java.lang.String-">UrlEncoder.encode()</a>
to prepare the input to be used in a URL query parameter.</dd>
<dd><em>Example:</em> <code>$urlencode($(msg))</code> in User Dialog
encodes the currently selected message.</dd>
<dt><code>$sort(&lt;input&gt;,[type],[separator]</code></dt>
<dd>Sorts the given input alphabetically. The sort type can be "abc"
(default) for case-insensitive sorting or "Abc" for case-sensitive
sorting. The separator is what separates the parts that are sorted,
by default a space.</dd>
<dd><em>Example:</em> <code>$sort(B c a)</code> turns into <code>a B c</code></dd>
<dd><em>Example:</em> <code>$sort(B c a,Abc)</code> turns into <code>B a c</code></dd>
<dt><code>$datetime([format],[timezone],[locale])</code></dt>
<dd>Outputs the current date/time. You can optionally give a format
pattern (based on <a href="https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#patterns">DateTimeFormatter</a>),
@ -418,17 +457,7 @@
into the chat inputbox to test a function directly, use arrow up/down
keys to cycle through previous inputs. Of course you won't be able to
use some context dependant parameters this way.</p>
<p class="note"><em>Note:</em> The <code>&lt;identifier&gt;</code> parameter means <em>only</em>
the identifier, without any <code>$</code>, while the other parameters
may contain replacements (including functions). You can think of this
function syntax as an extension to the regular replacement:
<code>$(1-) -> $<u>join</u>(1-<u>,/</u>)</code></p>
<p class="note"><em>Addendum:</em> As of v0.8.7 the <code>&lt;identifier&gt;</code>
parameter will also accept replacements as input (anything starting with
<code>$</code>).</p>
<p>Examples of Custom Commands with these functions:</p>
<dl class="defList">
<dt><code>/slap /me slaps $$1 around a bit with a large $if(2,$2,trout)</code></dt>

View File

@ -83,7 +83,7 @@
</li>
<li>Click <code>Change Icon..</code> and then <code>Browse..</code> to
select an item to use for the Shortcut from your harddrive.
(<a href="http://chatty.github.io/Chatty.ico">Download Chatty icon
(<a href="https://chatty.github.io/Chatty.ico">Download Chatty icon
as <code>.ico</code> file</a>, right-click and
<code>Save target as..</code>)</li>
</ul>

View File

@ -17,6 +17,7 @@
<h1><a name="top">Release Information</a></h1>
<p>
<a href="#0.9.7">0.9.7</a> |
<a href="#0.9.6">0.9.6</a> |
<a href="#0.9.5">0.9.5</a> |
<a href="#0.9.4">0.9.4</a> |
@ -56,7 +57,63 @@
full list of changes.</p>
<h2>
<a name="0.9.6">Version 0.9.6</a> <a name="latest">(This one!)</a> (2019-03-27)
<a name="0.9.7">Version 0.9.7</a> <a name="latest">(This one!)</a> (2019-07-15)
<a href="#top" class="top">[back to top]</a>
</h2>
<p>The updated TAB Completion now shows emote images and allows scrolling
and inserting results with the mouse. It is also easier accessible since
it automatically shows up in some cases and includes some simple usage
tooltips. As always, several settings allow customization.</p>
<p>Also included in this update are several Moderation and Chat related
improvements, updated Emoji, Bugfixes, and more.</p>
<pre>
### TAB Completion
- Show emote images in TAB Completion popup (not just Emoji)
- Automatically start TAB Completion in some cases
- Allow scrolling and selection of emotes with the mouse (Shift-Click to insert
several emotes)
- Improved Emoji search (expanding search if few results, aliases)
- Added new settings to Settings Dialog
### Custom Commands
- Added new function `$upper()` (make text uppercase)
- Added new function `$sort()` (sort token separated items alphabetically)
- Added new function `$urlencode()` (prepare text for including it in a URL)
- Added new identifiers `nick`, `reason` and `msg` in some contexts
- Improved "User Dialog Buttons" setting Test-button to show a User Dialog
- Improved error output
### Chat / Moderation
- Added clickable mentions to Info Messages
- Added Highlight matches marking in AutoMod messages
- Added AutoMod reason/category (e.g. "aggressive") to User Dialog
- Added info to User Dialog when a user is unbanned (from Moderation Log)
- Added setting to add background to unreadable nicknames in chat
- Added Msg. Colors setting to prefer Custom Msg. Colors over Highlight Colors
### Emoticons
- Sort Subemote channels in Emotes Dialog alphabetically
- Added previously missing Cheeremotes
- Updated Twemoji Emoji to Unicode 12 (and improved metadata)
### Other
- Disabled rotating tab rows for dark Look&amp;Feels
- Added scrollbars (if necessary) to Settings Dialog
- Added `/popoutchannel` command (same as right-click on TAB - Popout)
### Bugfixes
- Fixed Custom Command $rand() function error
- Fixed duped emotes occuring when an emote causes a highlight and "Mark all
occurences" is enabled
- Fixed own subemotes missing if subscribed to a lot(!) of different channels
- Fixed channel context for context menu in non-focused popout
- Fixed PubSub reconnect delay
</pre>
<h2>
<a name="0.9.6">Version 0.9.6</a> (2019-03-27)
<a href="#top" class="top">[back to top]</a>
</h2>
<p>The new clickable mentions feature allows you to open the User Dialog by

View File

@ -1696,41 +1696,10 @@
<ul>
<li>Prefixing <code>@</code> always completes usernames</li>
<li>Prefixing <code>/</code> always completes command names</li>
<li>Prefixing <code>:</code> always completes Emoji codes (not Twitch Emotes!)</li>
<li>Prefixing <code>:</code> always completes Emoji codes, and by default also Twitch Emotes</li>
<li>Prefixing <code>.</code> always performs Custom Completion</li>
<li>Certain commands such as <code>/ban</code> always complete usernames</li>
</ul>
<h3>Localized Names</h3>
<dl class="dl-settings">
<dt>Prefer Regular name for username-based commmands</dt>
<dd>If you complete a username after a command like <code>/ban</code>
which needs a regular username as parameter, then always prefer the
regular name.</dd>
<dt>Include all name types in result</dt>
<dd>If a user has a Localized name, or you have a
<a href="help.html#customNames">Custom name</a> set, then not only
the name that matched, but also the other types of names are added
to the result.</dd>
<dd><em>Example:</em> If a user is called <code>test</code> and has the
Localized Name <code>名前</code>, then entering
<code>tes</code> and <kbd>TAB</kbd> will show in the results both
<code>test (名前)</code> and
<code>名前 (test)</code>, so you can select either name by cycling
through the results via <kbd>TAB</kbd> as usual.</dd>
<dd>
<dl class="dl-settings-sub">
<dt>Only when no more than two matches</dt>
<dd>Only include all name types when no more than two names
match, so that you don't have to cycle through all the
different name types when you have a larger list.</dd>
<dd><em>Tip:</em> Once you found the right name, you can move the cursor
to leave completion, and then press <kbd>TAB</kbd> again to
complete the name again to get the other name types again.</dd>
</dl>
</dd>
</dl>
<h3>Apperance / Behaviour</h3>
<dl class="dl-settings">
@ -1777,6 +1746,37 @@
</dl>
<h3>Localized Names</h3>
<dl class="dl-settings">
<dt>Prefer Regular name for username-based commmands</dt>
<dd>If you complete a username after a command like <code>/ban</code>
which needs a regular username as parameter, then always prefer the
regular name.</dd>
<dt>Include all name types in result</dt>
<dd>If a user has a Localized name, or you have a
<a href="help.html#customNames">Custom name</a> set, then not only
the name that matched, but also the other types of names are added
to the result.</dd>
<dd><em>Example:</em> If a user is called <code>test</code> and has the
Localized Name <code>名前</code>, then entering
<code>tes</code> and <kbd>TAB</kbd> will show in the results both
<code>test (名前)</code> and
<code>名前 (test)</code>, so you can select either name by cycling
through the results via <kbd>TAB</kbd> as usual.</dd>
<dd>
<dl class="dl-settings-sub">
<dt>Only when no more than two matches</dt>
<dd>Only include all name types when no more than two names
match, so that you don't have to cycle through all the
different name types when you have a larger list.</dd>
<dd><em>Tip:</em> Once you found the right name, you can move the cursor
to leave completion, and then press <kbd>TAB</kbd> again to
complete the name again to get the other name types again.</dd>
</dl>
</dd>
</dl>
<h3><a name="TAB_Completion-custom">Custom Completion Items</a><a name="Completion-custom"></a></h3>
@ -1788,7 +1788,7 @@
case no prefix is required.</p>
<p><em>Example:</em> Add <code>chatty</code> as <em>Key</em> and
<code>http://chatty.github.io</code> as <em>Value</em> and then in the
<code>https://chatty.github.io</code> as <em>Value</em> and then in the
inputbox type <code>.chatty</code> (notice the dot in front) and press
<kbd>TAB</kbd> to complete it to the URL.</p>

View File

@ -10,7 +10,7 @@
<li>Startup / Folders / Settings
<ul>
<li><a href="#start">Chatty won't start</a></li>
<li><a href="#jintellitype">Could not load JIntellitype.dll</a></li>
<li><a href="#jintellitype">Global Hotkeys / JIntellitype.dll error</a></li>
<li><a href="#settings_lost">Settings lost</a></li>
<li><a href="#wrong_folders">Wrong image/sounds folder</a></li>
</ul>
@ -73,53 +73,34 @@
be disabled by default, but can lower performance if checked.</p>
<h2>
<a name="jintellitype">Global hotkeys don't work</a>
<a name="jintellitype">Global Hotkeys / JIntellitype.dll error</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>First of all, you only need Global Hotkey support when you want to use
global hotkeys (which you can define in the settings). If you don't, you
can just ignore any related messages or download the version of Chatty
without Hotkey support. Global hotkeys currently only work on Windows.</p>
<p><em>Note:</em> If you don't use global hotkeys you don't have to worry
about this. Global hotkeys are currently only available on Windows.</p>
<p>If you want to use global hotkeys and you get a message related to them
not working, check the following sections. If you don't get a message,
but the global hotkeys you defined just don't work, make sure you
actually have global hotkeys enabled in the settings.</p>
<p>If global hotkeys don't work, but there is no error message about it,
make sure that you actually have global hotkeys enabled in the Hotkeys
settings or in the menu "Extra - Options".</p>
<h3>Wrong version of Chatty</h3>
<p>If you try to add a global hotkey and it tells you that you have the
wrong version of Chatty, you probably don't have the version supporting
global hotkeys. Download the version that contains <code>hotkey</code>
in the <code>.zip</code> filename and try that instead.</p>
<h3>Could not load library (jintellitype-1.3.8.jar)</h3>
<p>Chatty requires the <code>jintellitype-1.3.8.jar</code> to be in the
<code>lib</code> subfolder of where the <code>Chatty.jar</code> is
located.</p>
<h3>Could not load JIntellitype.dll</h3>
<p>If you get this error, you started Chatty with Hotkey support, but it
couldn't load the library (.dll) necessary to register hotkeys. This can
mean that:
<h3>Error message</h3>
<p>If you get an error message related to JIntellitype or global hotkeys:</p>
<ul>
<li>You have the wrong version for your version
of Java (32bit or 64bit Java need different versions of the <code>.dll</code>)</li>
<li>The <code>JIntellitype.dll</code> isn't stored where the program can
find it</li>
<li>Make sure that you are using a version that had <code>hotkey</code>
in the download name, or the Windows standalone version.</li>
<li>When you're not using the Windows standalone, make sure that you're
using the correct <code>hotkey</code> version for the version of
Java you have installed: <code>hotkey_32bit</code> for 32bit Java
and <code>hotkey_64bit</code> for 64bit Java. For example if Java is
installed in <code>C:\Program Files (x86)</code>, then it should be
a 32bit version. You can find out where the JRE that Chatty is using
is located by entering <code>/appinfo</code> in Chatty.</li>
<li>Make sure the <code>JIntellitype.dll</code> is located in the folder
that opens when you enter <code>/openWdir</code> in Chatty.</li>
<li>Try restarting your computer, sometimes it is only a temporary
issue.</li>
</ul>
<p>
Find out if you have the 64bit or 32bit version of Java (e.g. by
entering <code>java -version</code> on the commandline to check if there
is 64bit in the response), then check if you downloaded the matching
version of Chatty.</p>
<p>Enter <code>/wdir</code> in Chatty to find out what your working directory
is and make sure the <code>JIntellitype.dll</code> is in there. If you
are starting Chatty via a shortcut, remember that the directory
specified in the <code>Run in</code> field determines your working
directory (on Windows at least, but global hotkeys are currently Windows only
anyway).</p>
<div class="moreInfo">Related information: <a href="help-guide_folders.html">Chatty directories and files</a></div>

View File

@ -5,7 +5,7 @@
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1><a name="top">Chatty (Version: 0.9.6)</a></h1>
<h1><a name="top">Chatty (Version: 0.9.7)</a></h1>
<table>
<tr>
<td valign="top">
@ -101,6 +101,10 @@
</tr>
</table>
<div style="padding-top:5px;font-size:1.1em;font-weight:bold;">Thanks to current Top <a href="https://patreon.com/tduva">Patreon</a> Supporters:</div>
<div style="padding-top:5px;font-size:1.1em;">OdinDerEchte, Sven Christian Hiller, ROMaster2, Louis6321, Yoremeofga</div>
<div style="padding-top:5px;">And also thanks to all <a href="https://chatty.github.io/#donate">other Patrons</a>!</div>
<h2>
<a name="title">Title and Tabs</a>
<a href="#top" class="top">[back to menu]</a>
@ -570,15 +574,15 @@
<li><kbd>Shift-TAB</kbd> to complete Emoticons</li>
</ul>
<p>Once a completion is initiated, <kbd>TAB</kbd> and <kbd>Shift-TAB</kbd>
cycle forwards and backward through the results.</p>
cycle forwards and backward through the results, or use the mouse.</p>
<p>Some prefixes always force a certain completion type
no matter if you use <kbd>TAB</kbd> or <kbd>Shift-TAB</kbd>:</p>
<p>Some prefixes always force a certain completion type (whether you use
<kbd>TAB</kbd> or <kbd>Shift-TAB</kbd>):</p>
<ul>
<li>Prefixing <code>@</code> completes usernames</li>
<li>Prefixing <code>@</code> completes usernames (e.g. <code>@jo</code>)</li>
<li>Prefixing <code>/</code> completes command names</li>
<li>Prefixing <code>:</code> completes Emoji codes (not Twitch Emotes!)</li>
<li>Prefixing <code>:</code> completes Emoji codes, and by default also Twitch Emotes (can be changed in the settings)</li>
<li>Prefixing <code>.</code> performs <a href="help-settings.html#TAB_Completion-custom">Custom completion</a></li>
<li>Certain commands such as <code>/ban</code> complete usernames for
their first parameter</li>
@ -586,41 +590,18 @@
for their first parameter</li>
</ul>
<h3>How it works</h3>
<p>How the TAB Completion process works:</p>
<ol>
<li>Enter the beginning of an item (name, setting, emote).</li>
<li>Press <kbd>TAB</kbd> or <kbd>Shift-TAB</kbd> (see above)
to enter the completion mode, which will:
<ul>
<li>Complete to the full item (e.g. full name) if there is only
one item matching what you entered</li>
<li>For more than one match, depending on the <em>Complete to common prefix</em> setting:
<ul>
<li>Complete to the common prefix of all found items that match
what you entered, allowing you to enter more characters
to refine the search and then press <kbd>TAB</kbd> or
<kbd>Shift-TAB</kbd> again to enter a new completion</li>
<li>Complete to the full item of the first match</li>
<li>If enabled, it will also show a popup with information
about the completion, which doesn't show if there is only
one match</li>
</ul>
</li>
</ul>
</li>
<li>You can then either:
<ul>
<li>Press <kbd>TAB</kbd> repeatedly to cycle forwards through the found
matches or <kbd>Shift-TAB</kbd> to cycle backwards</li>
<li>Press <kbd>ESC</kbd> to cancel the completion mode and go
back to the text when you started the completion</li>
<li>Continue typing/editing the text to exit the completion
while keeping what you already completed</li>
</ul>
</li>
</ol>
<p>Additionally, some prefixes will automatically initiate completion (this
too can be changed in the settings).</p>
<h3>Further usage</h3>
<ul>
<li>Use <kbd>TAB</kbd> to cycle <em>forward</em> through results and
<kbd>Shift-TAB</kbd> to cycle <em>backwards</em> through results</li>
<li>Continue typing, send the message or move the cursor to end completion</li>
<li>Click on a result to choose it, or <kbd>Shift</kbd>-Click to insert
several results</li>
<li>Press ESC to go back to before completion</li>
</ul>
<p>The found matches are all ordered alphabetically, except for nickcompletion
for which you can choose different types of sorting. By default nicknames use