Version 0.8.3 release

This commit is contained in:
tduva 2016-06-28 12:45:05 +02:00
parent 4ce0577d37
commit 1aba50874e
37 changed files with 7242 additions and 172 deletions

View File

@ -1,5 +1,46 @@
0.8.2 (2016-04-26) Latest Version
0.8.3 (2016-06-28) Latest Version
Improvements
============
- Added display of timeout duration/reason (can be configured in the settings)
- Updated commands /ban and /timeout (/to) to allow giving a reason
- Added intitial support for new re-subscription messages
- Added ability to follow/unfollow channels, either through the context menus
(under Miscellaneous) or the new commands /follow and /unfollow
- Added support for FFZ Featured Emotes, which are frequently available in
channels of Speedrunning events (not to confuse with FFZ Feature Friday)
- Added setting (under Ignore - Ignored Users) to hide users ignored on chat
from joins/parts and userlist as well
- Added state display for emote-only mode in titlebar
- Added simple search to tables in the Settings Dialog (click into a table
column and start typing, Backspace or wait to reset search)
- Extended Stream Status Writer to include number of Followers/Subscribers
(only updates correctly when the Follower/Subscribers dialog is open)
- Updated help
Login
=====
- Added info to login dialog when token was set through -token parameter
- Added setting to prevent token from being set through -token parameter when
login data is already available in Chatty
- Added "Follow channels" access (you need to re-request login data to get it)
System
======
- Restrict size of session debug log file
- Automatically exit application when too many errors occur (which should never
happen, but if it does, this should prevent affecting the rest of the system)
- Added some Mac specific shortcuts
- Improved debug logging
Bugfixes
========
- Fixed not being able to join (and perform some other actions) through context
menu, for channels that contain spaces in the display name
0.8.2 (2016-04-26)
Improvements
============

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
help/0.8.3/followers.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,223 @@
<!DOCTYPE html>
<html>
<title>Chatty - Addressbook</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">To main help page</a></div>
<h1><a name="top">Addressbook</a></h1>
<ul>
<li>
<a href="#editing">Editing Locally</a>
<ul>
<li><a href="#commands">Commands</a></li>
</ul>
</li>
<li>
<a href="#advanced">Advanced Usage</a>
<ul>
<li><a href="#modcommands">Mod Commands</a></li>
<li><a href="#file">Change via file</a></li>
<li><a href="#unique-cats">Unique Categories</a></li>
<li><a href="#subs-cats">Automatic Subscriber Categories</a></li>
</ul>
</li>
</ul>
<p>The addressbook allows you to add usernames and assign categories to
them, which can then be used in other places such as the <a href="help-settings.html#Usercolors">Usercolor settings</a>
or the <a href="help-settings.html#Highlight">Highlight settings</a>.
Categories cannot contain spaces and are all made lowercase when added/loaded from file.</p>
<h2><a name="editing">Editing Locally</a></h2>
<p>The addressbook can be edited in several ways:</p>
<ul>
<li>The addressbook dialog (<code>&lt;Main Menu&gt; - Channels - Addressbook</code>)
where all entries are listed and you can add/edit/remove entries.</li>
<li>From the user context menu (when you click on a user, then <code>Addressbook</code>)
where the entry for this user can be directly added/edited/removed. There
you can just select/unselect the categories this user should be in
(although only the categories that are already used in the addressbook
are listed, so if you want to add a completely
new category, you have to add it once by manually editing an entry).</li>
<li>The commands that are listed below.</li>
</ul>
<h3><a name="commands">Commands</a></h3>
<p>In addition to the addressbook dialog and user context menu, there are also some commands to
edit the addressbook. All commands are prefixed with <code>/ab</code>
(e.g. <code>/ab add &lt;name&gt;</code>) or alternatively <code>/users</code> (e.g. <code>/users add &lt;name&gt;</code>):</p>
<ul>
<li><code>add &lt;name&gt;</code> - Adds a name</li>
<li><code>add &lt;name&gt; &lt;categories&gt;</code> - Adds a name and directly assigns it the given categories, or adds the
categories to the name if it already exists (categories are comma-seperated, without spaces)</li>
<li><code>set &lt;name&gt; &lt;categories&gt;</code> - Sets the categories for this name, adding it if necessary, replacing
any present categories for this name</li>
<li><code>remove &lt;name&gt;</code> - Completely removes the given name</li>
<li><code>remove &lt;name&gt; &lt;categories&gt;</code> - Removes the given categories from this name, but leaves
the name</li>
<li><code>change &lt;name&gt; &lt;categoriesModification&gt;</code> - Prepend categories with <code>+</code>,
<code>-</code> or <code>!</code> to add, remove or toggle the categories respectively. You can specify more than
one set of categories, for example: <code>change test +a,b -c !d</code> adds a and b, removes c and toggles d</li>
<li><code>get &lt;name&gt;</code> - Shows the categories for this name</li>
<li><code>info</code> - Shows number of entries and used categories</li>
</ul>
<p>Categories are given as a comma-seperated list without spaces, e.g. <code>cat1,cat2,cat3</code>.</p>
<p>The following commands edit all entries at once, so they should be used with care:</p>
<ul>
<li><code>renameCategory &lt;currentName&gt; &lt;newName&gt;</code> - Renames a category, which means all occurences
of <code>currentName</code> are replaced with <code>newName</code> in all entries. This can also
be used to merge categories, if <code>newName</code> already exists.</li>
<li><code>removeCategory &lt;name&gt;</code> - Removes the category with the given name from all entries</li>
</ul>
<h3>Command Examples</h3>
<dl>
<dt><code>/ab add josh vip</code></dt>
<dd>Adds the category called <code>vip</code> to the user called <code>josh</code></dd>
<dd>(Also adds the user to the addressbook in the first place, if not already there)</dd>
<dd>(<code>josh</code>'s categories would now be: <code>vip</code>)</dd>
<dt><code>/ab set josh rainbow</code></dt>
<dd>Sets the categories of the user <code>josh</code> to <code>rainbow</code>, replacing
any previously associated categories</dd>
<dd>(<code>josh</code>'s categories would now be: <code>rainbow</code>)</dd>
<dd>(Also makes <code>josh</code> kind of colorful in chat, try it out with your own name Kappa)</dd>
<dt><code>/ab add josh vip</code></dt>
<dd>Adds the category called <code>vip</code> to the user <code>josh</code></dd>
<dd>(<code>josh</code>'s categories would now be: <code>rainbow,vip</code>)</dd>
<dt><code>/ab remove josh vip</code></dt>
<dd>Removes the category called <code>vip</code> from the user <code>josh</code>,
keeping the other categories untouched</dd>
<dd>(<code>josh</code>'s categories would now again be: <code>rainbow</code>)</dd>
</dl>
<h2><a name="advanced">Advanced Usage</a></h2>
<p>The following features are a bit more advanced and should only be used if
you somewhat know what you're doing.</p>
<h3><a name="modcommands">Moderator Commands</a></h3>
<p>You can use this to let the moderators of your channel edit your addressbook.
Depending on what commands you allow them to use, this can be a powerful tool,
so make sure you keep an eye on what your moderators do.</p>
<p>The following settings affect the this feature (you have to change them
via setting commands):</p>
<dl>
<dt><code>abCommandsChannel</code></dt>
<dd>Set this to the channel you want this enabled in. You can reset the
setting to empty using the <code>/clearSetting</code> command to
disable the mod commands again.</dd>
<dd><code>/set abCommandsChannel #yourchannel</code></dd>
<dt><code>abCommands</code></dt>
<dd>A comma-seperated list of commands you want the mods to be able to
use. Commands can be anything that is
listed in the <a href="#commands">Commands</a> section above. So for
example if you wanted to allow the <code>add</code> and <code>set</code>
commands, the setting value would be <code>add,set</code> (no spaces).</dd>
<dd><code>/set abCommands add,set</code></dd>
<dd><em>Default value for this is <code>add,set,remove</code>.</em></dd>
</dl>
<p>If you set the settings accordingly, then the mods will be able to use
e.g. <code>!add name category</code> to add <code>name</code> to your
Addressbook with the category <code>category</code>. Chatty will output
a message about the change, similiar to when you enter the command yourself.
It does not send a message to chat, so if you want your moderators to see an
actual response, you need to have Chatty on stream (which means the response
is also affected by stream delay of course).</p>
<h3><a name="file">Change Addressbook via file</a></h3>
<p><em>This is a rather experimental feature, so it might not work reliably.</em></p>
<p>You can write Addressbook commands (one per line) to the <code>addressbookImport.txt</code>
file in the settings directory (enter <code>/dir</code> to find out what
your settings directory is). You can use any commands specified in the Commands section above, without
the <code>/ab</code> or <code>/users</code> prefix (since it's already
implied that they are Addressbook commands). For example:</p>
<pre>add darthclide level1
change nightbot !vip
set testi ignore</pre>
<p>To perform an import, enter the <code>/abImport</code> command and Chatty
will read the file and execute each command as if you would have entered
it in the input box. Information about the
command results is output in the debug window (<code>Extra - Debug window</code>)
and the debug log file.</p>
<p>You can also set the <code>abAutoImport</code> setting (<code>/set abAutoImport on</code>)
and the file will be read automatically within a few seconds when it is
detected to have been changed. You have to restart Chatty after changing
the <code>abAutoImport</code> value for it to take effect.
To make sure no data is lost, you should not
write to the file too often, or else it may already be overwritten once
changes are detected and the file contents are read and the commands performed.</p>
<p>It will also not be read automatically when you on start of Chatty,
so you should only apply changes while Chatty is running or
use the <code>/abImport</code> command to manually read the file once after
start. If you only change the file while Chatty is running, manually reading
the file should not be necessary.</p>
<p>Example: <a href="http://pastebin.com/LDFpEUaC">mIRC script</a> to edit the Addressbook.</p>
<h3><a name="unique-cats">Somewhat unique categories</a></h3>
<p>You can add somewhat unique categories to a setting, which means that
only one user will have that category assigned, as long as you only use
Addressbook commands to apply that category (and not the context menu or
Addressbook dialog).</p>
<p>Use <code>/set abUniqueCats star</code> to set the category <code>star</code>
as unique category. That way, only one user can have that category.
What happens is that when using an Addressbook command like
<code>/ab add Jack star</code>, it will first remove the <code>star</code> category
from all other users and then add it to <code>Jack</code>.</p>
<p>If you want to have more than one unique category, you can separate
several categories by comma: <code>/set abUniqueCats star,gold</code></p>
<h3><a name="subs-cats">Automatic Subscriber Categories</a></h3>
<p>This is an experimental feature that adds Subscribers automatically to
an Addressbook category, depending on how many months they subscribed.
This works on Subscriber Notifications in chat, so you have to be in the
channel at the time of the subscription for it to work.</p>
<p>First you need to do some configuration:</p>
<ul>
<li><code>/set abSubMonthsChan #&lt;yourchannel&gt;</code> - Set the
channel you want the feature enabled for</li>
<li><code>/add abSubMonths &lt;number&gt;</code> - Add one or several
subscription lenghts in months (repeat the command with a different
number to add more than one)</li>
<li><code>/remove abSubMonths &lt;number&gt;</code> - Remove a number
from the list</li>
</ul>
<p>The months represent the categories that are automatically added. For
example if you configured the months as <code>[3, 6, 12]</code>:</p>
<ul>
<li><code>.. subscribed for 3 months in a row!</code> would add that
user to the <code>3months</code> category</li>
<li><code>.. subscribed for 4 months in a row!</code> would add that
user to the <code>3months</code> category</li>
<li><code>.. subscribed for 11 months in a row!</code> would add that
user to the <code>6months</code> category</li>
<li><code>.. subscribed for 20 months in a row!</code> would add that
user to the <code>12months</code> category</li>
<li><code>.. just subscribed!</code> won't do anything</li>
</ul>
<p>Remember that this relies on the notification message to be in a certain
format, so this may not be the most reliable thing, especially if Twitch
decides to change the message in some way.</p>
</body>
</html>

View File

@ -0,0 +1,98 @@
<!DOCTYPE html>
<html>
<title>Chatty - Admin Dialog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">To main help page</a></div>
<h1><a name="top">Admin Dialog</a></h1>
<p>
<a href="#status">Change game/title</a> |
<a href="#commercials">Run commercials</a>
</p>
<p><em>Open the Admin Dialog via <code>View - Channel Admin</code> or by
right-clicking on the channel to open the context menu and choose
<code>Channel Admin</code>.</em></p>
<p>In the Admin Dialog you can change the title/game of your channel and
run commercials, if you have allowed the necessary access when getting your
login data. You need <code>Editor access</code> for changing game/title and
<code>Commercial access</code> for running commercials. See <a href="help.html#access">allow more access</a>.</p>
<p>The Admin Dialog is always opened for the currently selected channel,
unless there is no channel open (which is the case just after you started Chatty),
in which case it will always be opened for your own channel, which is derived
from your configured account name.</p>
<h2><a name="status">Change game/title</a></h2>
<p>The Status-Tab lets you view and change the title and game of your channel.
The information is loaded when you open the dialog and when you press the
<code>reload</code>-Button. If others may have changed the info in the meantime,
you may want to reload before trying to change it.</p>
<h3>Select a game</h3>
<p>When you select a game, another dialog will open where you should enter
part of the name of the game in the search field and hit <kbd>Enter</kbd>
or click the <code>Search</code>-Button to find the correct name, which
you can then select. You can also just use the name you entered yourself,
but you should usually use the search to make sure your stream appears in
the correct category on Twitch.</p>
<h3>Use presets</h3>
<p>There are also status presets, which allow you to add a combination of
title and game, so you can select it later. By pressing <code>Fav</code>
on the Status-Tab, you can add the current status to the favorites.
The status is also automatically added to the history every time you
press the <code>Update</code> button.</p>
<p>Press the <code>Presets</code> button to open a table with the favorites
and status history. You can filter the table by only showing entries for
the game currently have selected or only showing favorites.</p>
<p>History entries (the ones that are not favorites) are automatically
removed after some time, you can change when they are removed and
whether they should be added in the first place in the settings.</p>
<p>The <code>Last Activity</code> columns shows when this status was last
set using the <code>Update</code> button (or when it was added to the
favorites for the first time). The <code>Usage</code> column shows how
often it was set using the <code>Update</code> button.</p>
<h2><a name="commercials">Run commercials</a></h2>
<p>If you are partnered with Twitch, you can run commercials on your channel
here (even if you are not partnered it may run a commercial). Click on the
appropriate button to try to run a commercial of the given length.</p>
<p>The <code>Last run</code> time shows when a commercial was last run
through Chatty (this session).</p>
<h3>Schedule commercials</h3>
<p>There are two different ways of scheduling a commercial, either running
a single commerical on a delay or repeating running a commercial on a delay.
Select either or both options and then press a <code>Run commercial</code>
button to schedule the commercial. Press the same button again to cancel the
scheduled commercial. Click a button of another length to change the length
of the commercial while keeping it on schedule. Scheduled commercials are
not completely exact, they may be run a few sceonds too late.</p>
<p>If you have <code>Use delay</code> selected, then the commercial will be
scheduled to run after the specified time. If you have <code>Repeat</code> selected,
then - after each commercial run through Chatty - another commercial will automatically be scheduled to run again with the same delay.
You don't need to have <code>Use delay</code> selected for <code>Repeat</code>
to work, they just both use the same time as delay.</p>
<p>The time for the delay will be interpreted as seconds by default, but you
can also specify minutes. Examples: <code>30</code> (30 seconds), <code>5m</code>
(5 minutes), <code>120s</code> (2 minutes).</p>
<h3>Run commercials via global hotkey</h3>
<p>If you have downloaded the appropriate version of Chatty (the one with
"hotkey" in the .zip filename, Windows only), you can define a global hotkey
to run 30s commercials on the channel you currently have open. The hotkey
can be defined on the <code>Commercials</code> tab in the Admin Dialog
(don't forget to press <code>Set</code> to actually set it).</p>
<p>If you have the Admin Dialog open on the <code>Commercials</code> tab,
then executing the hotkey will simulate a click on the 30s button, with all
the implications like being able to use a delay, running the commercial on
the channel that the Admin Dialog was opened on (instead of the currently
active channel) and so on.</p>
</body>
</html>

View File

@ -0,0 +1,87 @@
<!DOCTYPE html>
<html>
<title>Chatty - Using a Bouncer</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">To main help page</a></div>
<h1><a name="top">Using a Bouncer</a></h1>
<p>Chatty is tailored towards Twitch Chat and is not a general IRC client,
so using a Bouncer may not work correctly or may cause unexpected
behaviour. Nevertheless, if you want to try if it works for you, this
page should get you started.</p>
<h2>Connecting to the Bouncer</h2>
<p>By default Chatty will connect to the server/ports that are set in the
settings, using the store OAuth token. To connect to a Bouncer you need
to change both the server and port and tell Chatty to use the Bouncer
password instead.</p>
<p>You will need to start Chatty with some <a href="help.html#launch">launch options</a>.
You can create a <a href="help-guide_create_shortcut.html">shortcut</a>
or .bat file for that.</p>
<dl class="defList">
<dt><code>-server &lt;host/ip&gt;</code></dt>
<dd>This will overwrite the Server in the settings for this session (but
not change the setting). Set this to the IP/Host of your Bouncer.</dd>
<dt><code>-port &lt;port&gt;</code></dt>
<dd>Same as server, set this to the port of your Bouncer.</dd>
<dt><code>-password [password]</code></dt>
<dd>Set this to the password of your Bouncer. The password is not saved
in between sessions which is why you need this option.</dd>
</dl>
<p>If your bouncer uses special names starting with <code>*</code> like
<code>*status</code>, this will open an extra Tab in Chatty. You can
also use the <code>/msg</code> command to directly write to that name
(e.g. <code>/msg *perform list</code>).</p>
<p>If you want to connect via SSL to your Bouncer you will have to add the
port you use for connecting to the list of ports that Chatty will try to
connect to via SSL (<code>/add securedPorts &lt;port&gt;</code>). Note
that the Certificate has to be trusted by Java to work (otherwise you
have to add it to your local Java installation yourself). This can
especially be an issue with self-signed Certificates.</p>
<h2>Configuring the Bouncer</h2>
<p>You have to configure your Bouncer to connect to Twitch Chat. There are
probably guides out there how to configure your Bouncer. In regards to
connecting to Twitch Chat in particular you can use one of the guides
for regular IRC clients and apply it to the Bouncer.</p>
<p>In addition to that, the Bouncer will need to send the following raw
commands after connecting to Twitch Chat, which will make it send info
like usercolors, emotes, user status and much more:</p>
<pre>
CAP REQ :twitch.tv/tags
CAP REQ :twitch.tv/commands</pre>
<p>To receive a userlist at all, you also need to send the following (even
then Twitch Chat will only send the userlist on join and then update it
via JOINs/PARTs, and under some circumstances it may not send a userlist
at all):</p>
<pre>
CAP REQ :twitch.tv/membership</pre>
<p><em>Note:</em> Channel names on Twitch Chat must be all-lowercase (Chatty
will automatically change the case accordingly, but if you configure
channels to join through the Bouncer directly you have to be careful
with this).</p>
<p>See <a href="https://github.com/justintv/Twitch-API/blob/master/IRC.md">more information on Twitch Chat</a>.
<h2>Notes</h2>
<ul>
<li>The Channel State (Subonly, Slowmode, ..) won't always be correct
because the Bouncer won't send the state on join if the channel is
already joined on the Bouncer.</li>
<li>Receiving Whispers may not work, depending on whether the Bouncer
forwards the WHISPER command to Chatty.</li>
</ul>
</body>
</html>

View File

@ -0,0 +1,135 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Getting Started</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Getting Started</a></h1>
<p>This is a short guide to help you with installing Chatty and getting familiar with some of it's features.</p>
<h2>Download & Installation</h2>
<p>You can download Chatty from it's <a href="http://chatty.github.io/#download">Website</a>.
The download simply consists of a <code>.zip</code>-file which you should
extract wherever you want to have Chatty. The extracted files include a
<code>Chatty.jar</code> which you should usually be able to double-click to
start the program (if Java is installed properly). (See <a href="help-troubleshooting.html#start">the help</a>
if Chatty won't start.)</p>
<h3>Update Chatty</h3>
<p>If you already have an older version of Chatty and want to update, then
just replace all the files with the new ones in the <code>.zip</code>.
Basicially just unzip the <code>.zip</code> into the same folder and overwrite
all files if asked (unless you have some custom icons or sounds that have the same name).
You can also unzip it into a new folder (just make sure you don't use the old version anymore).</p>
<p>Your settings are saved seperately in the <a href="help-guide_folders.html">settings directory</a>
and are not lost when you upgrade to a new version. The new version should normally
automatically use the same settings without you needing to change anything.
If you are interested in what your settings directory is,
enter <code>/openDir</code> in Chatty. There is also a <code>backup</code>
folder in there with <a href="help-guide_folders.html#backup">backups</a> of the settings.</p>
<p>Please check out the <a href="help-releases.html">Release Information</a> for any changes in a new version that
may require your attention.</p>
<p><em>Note:</em> If you downgrade to an older version of Chatty, some settings (that the older
version didn't have yet) may be lost. So make sure you don't run old versions of Chatty
without knowing what you are doing, if you have changed settings unique to newer versions.</p>
<h2>Creating a login</h2>
<p>If you are starting Chatty for the first time, you will have to request
login data from Twitch so Chatty can connect to chat for you and do other
stuff like show live streams you follow.</p>
<p>In the <code>Connect</code>-dialog, click on <code>Create login..</code>
and then <code>Request login data</code> and simply follow the instructions.
Once you successfully created the login, close the dialog until you get back
to the <code>Connect</code>-dialog. (There is a <a href="help-guide2.html">Guide</a> on what to do
when getting login data fails.)</p>
<h2>Join channels (and leave channels)</h2>
<p>In the <code>Connect</code>-dialog enter the name of the channel you want
to join in the <code>Channel:</code> input box. The name of the channel
is the same as the name of the stream. You can enter more than one channel
name to join by seperating them with a comma. To connect simply press <kbd>Enter</kbd>
or click on <code>Connect</code>. After connecting, it will automatically join
the channels you specified.</p>
<p>Even after connecting you can join additional channels via <code>Channels - Join Channel</code>
or entering the command <code>/join &lt;channelname&gt;</code> in the inputbox
(e.g. <code>/join joshimuz</code>).</p>
<p>You can leave channels by right-clicking anywhere in the channel and
selecting <code>Close Channel</code> from the context menu or right-clicking
on the channel's tab (only available if there is more than one channel) and
selecting <code>Close</code> from the context menu.</p>
<h2>Chatting and Moderating</h2>
<p>Chatting is pretty straightfoward as you would expect from any chat program,
however the inputbox has a few useful features. Enter the beginning of a name
in chat and press <kbd>TAB</kbd> to <a href="help.html#nickCompletion">auto-complete</a> the name.
Press <kbd>Up-Arrow</kbd> key to go back to <a href="help.html#inputHistory">previous stuff you entered</a>.</p>
<p>To moderate a chat, you can of course use the regular moderations commands
like <code>/ban</code>, <code>/timeout</code> and so on, but a much more
convenient method is to click on the name of a user you want to ban/timeout,
which opens the <code>User</code>-dialog, containing several moderation
buttons as well as the recent messages of that user, so you can quickly check
if you are actually timing out the correct user.</p>
<p>Also check out the options to <a href="help.html#pausechat">pause chat</a>
and timing out users via <a href="help.html#userselection">shortcuts only</a>.</p>
<p><img src="userdialog.jpg" alt="User Dialog with moderation buttons" /></p>
<h2>Information about the current stream</h2>
<p>Chatty regulary requests information about the current stream, which is
displayed in the titlebar and the <code>Channel Info</code>-dialog.</p>
<p><img src="0_4_overview_top.png" alt="Chatty Title and Tabs" /></p>
<p>You can open the <code><a href="help.html#channelinfo">Channel Info</a></code> via the <code>View</code>-menu
or the channel context menu (right-click anywhere on the channel). The
<code>Channel Info</code> contains the current title/game but also a history
of the Viewercount and previous title/games (if you hover over points).</p>
<p><img src="viewerhistory_small.gif" alt="Chatty Channel Info Dialog" /></p>
<h2>Get notified about streams you follow that go live (and join them)</h2>
<p>Open the <code>Live Channels</code>-window via <code>Channels - Live Channels</code>
to open up a list of streams you follow that are currently live or streams
whose channel you have currently joined that are currently live.</p>
<p>(You need to have the <a href="help.html#login">required access</a> with your login data to see streams
you follow.)</p>
<p>You can enable/disable showing streams you follow in the <code>Settings - Notifications</code>.
There you can also configure what kind of Tray Notification you want to have
pop up for stream status changes or highlighted messages.</p>
<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>
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>
<h2>More stuff you might want to try out..</h2>
<ul>
<li><strong>Right-clicking</strong>, or whatever opens a context menu
in your OS. There are a lot of context menus in Chatty, e.g. for usernames
(as shown above), links, emoticons, anywhere else in the channel, tabs,
entries in favorites, the live streams dialog, the Channel Info dialog..</li>
<li><strong>Configure Chatty</strong> to your needs. Open the <code>Settings</code>
from the <code>Main</code>-menu to get all kinds of settings to adjust
Chatty to your preference. Please make use of the <code>Help</code> link
in the bottom left corner of the <code>Settings</code>-dialog to get
help on the current page of settings you have selected.</li>
<li><strong>Ask</strong> if you don't understand something. I tried to
make the help as comprehensive and easy to understand as possible, but
a lot of stuff is probably pretty confusing if you aren't as familiar with
the program as I am. So please ask about stuff and maybe also (if you can)
propose changes to the help that would make it easier to understand. There
are various ways to <a href="help.html#contact">contact</a> me.</li>
</ul>
</body>
</html>

View File

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html>
<title>Chatty Help</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Guide: Run more than one instance of Chatty</a></h1>
<p>If you want to run Chatty more than once at the same time, you may need
to know how it saves it's settings. By default the settings are saved
in your user-directory in the subfolder <code>.chatty</code> (where it is
exactly is system-dependant, enter <code>/dir</code> in Chatty to show it's location). When you run the program, it loads the settings
and when you exit the program, it saves them, overwriting the file with
no regard to possible changes (to the file) that may have occured in the meantime.</p>
<p>This means that when you run more than one instance on the same computer,
the last one you close always overwrites the settings.</p>
<h2>Seperate settings</h2>
<p>You can change the default settings directory by using the <code>-cd</code>
commandline paramter, which changes the settings directory to the current
working directory, meaning the settings are loaded and saved in the same
location you specified as working directory.</p>
<p>This means you can easily run more than one instance on the same computer
with completely different settings, just by using that commandline parameter
and specifying different working directories (e.g. in Windows in the shortcut
settings).</p>
<p>See also: <a href="help-guide_create_shortcut.html">Create Shortcut</a>.</p>
<h2>Sharing login data</h2>
<p>When you want to run several instances with different settings, but want
to use the same account, you run into problems.
<span style="text-decoration: line-through">Everytime you request login
data (token), the old login is invalidated, so you have to share the login data
you already have between different instances.</span>
<span style="text-decoration: underline">This may or may not be
the case anymore.</span></p>
<p>You can do this by simply copying the <code>login</code> settings file
which contains the login data. Make sure you closed the Chatty instance
you requested the login data with at least once, so it's actually saved
to the file.</p>
<p>You could also try to play around with <a href="https://en.wikipedia.org/wiki/Symbolic_link">symbolic links</a>
to point to a shared <code>login</code> file.</p>
<h2>Using Chatty on different computers</h2>
<p>If you want to run Chatty on different computers with the same account,
you run into the same problem as mentioned under <em>Sharing login data</em>:
You can't have more than one access token with the same account for the same
app at the same time.</p>
<p>To use Chatty on more than one computer with the same account, you'll
have to transfer the login data, either by copying the <code>login</code>
file or by entering the access token manually
(<code>/get token</code> displays the token,
<code>/changetoken &lt;token&gt;</code> changes it).</p>
</body>
</html>

109
help/0.8.3/help-guide2.html Normal file
View File

@ -0,0 +1,109 @@
<!DOCTYPE html>
<html>
<title>Chatty Help</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Guide: What to do when getting login fails</a></h1>
<p>Use this guide when the normal procedure of getting login data fails.</p>
<h2>Can't listen to port</h2>
<p>If you open the <code>Get login data</code> dialog and it says it can't
listen to the port, first check the following:</p>
<ul>
<li>Make sure no other instance of Chatty is running that may already
have taken the port.</li>
<li>Check if no other program may already be listening to that port.</li>
<li>If the problem persists, reboot your PC and then try again.</li>
</ul>
<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
page:</p>
<table class="loginlinks">
<tr>
<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://api.twitch.tv/kraken/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>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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>x</td>
<td>x</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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>x</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>. Read on in the next section, especially
<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>
<p>If you successfully opened the link, authorized Chatty on the Twitch.tv
page and got redirected, but the browser can't open the page, first check this:</p>
<ul>
<li>If you followed the regular process until now, check if the <code>
Get login data</code> dialog is still open and it says <code>Ready.</code>.
It needs to be open for this to work and will close automatically when it received
the necessary data.</li>
</ul>
<p>If you can't get the page to load, you can manually add the login data into Chatty.</p>
<h3><a name="addtokenmanually">Manually add the login into Chatty</a></h3>
<p>The information you need should be in the address bar of your browser (where you got the error that it couldn't connect to the page).
It should look something like this:</p>
<code>http://127.0.0.1:61324/token/#access_token=<strong>[longish mix of letters and numbers]</strong>&amp;scope=chat_login+channel_editor+channel_commercial+user_read</code>
<p>The <code>access_token</code> (longish mix of letters and numbers)
is sort of a revokable password that lets Chatty
use some of the Twitch services on behalf of your account. Copy that from
the address bar, go to Chatty (close all dialogs if necessary) and paste
it into the following command (that you type into the input bar):</p>
<code>/changetoken &lt;the access token&gt;</code>
<p>For example if the url looked like this:</p>
<code>http://127.0.0.1:61324/token/#access_token=<strong>abcdefghi12345abcdefg</strong>&amp;scope=chat_login+channel_editor+channel_commercial+user_read</code>
<p>Then you enter this in Chatty:</p>
<code>/changetoken abcdefghi12345abcdefg</code>
<p>After entering the command, Chatty will finish the process by checking
the token and getting the username associated with it. If everything is ok,
it should say that you are now ready to connect.</p>
<p>If you want, you can check in <code>Main - Login..</code>
whether the token you entered has the correct access associated with it.</p>
</body>
</html>

View File

@ -0,0 +1,77 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Create Shortcut and add Icon</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Create Shortcut and add Icon</a></h1>
<p>This applies to Windows 7, and probably other Windows versions. The info
can probably also be applied to other OS with some adjustments.</p>
<p>You can create a shortcut for Chatty, which has some potential advantages (depending on what you need):</p>
<ul>
<li>It may allow you to start Chatty even if you otherwise have issues
with that.</li>
<li>You can give Chatty
<a href="help.html#launch">launch options</a>, like
<code>-cd</code> to use a different
<a href="help-guide_folders.html">settings directory</a>.</li>
<li>You can attach Chatty to the taskbar.</li>
<li>You can give the shortcut the Chatty icon, to replace the Java icon
without changing it for all Java programs.</li>
</ul>
<h2>Create shortcut</h2>
<p>Create a shortcut to Java to start Chatty (for this example the
<code>Chatty.jar</code> is located in <code>D:\Chatty\</code>):</p>
<h3>First way</h3>
<ul>
<li>Right-click in the folder you want to create the shortcut in, choose
<code>New - Shortcut</code> from the context menu. Enter
<code>javaw -jar "D:\Chatty\Chatty.jar"</code> as location of the
item.</li>
<li>Go to the next page and enter a name for the shortcut and finish
creating the shorcut.</li>
<li>Right-click on the newly created shortcut and choose
<code>Properties</code> from the context menu. Make sure that under
<code>Shortcut</code> the <code>Start in</code> points to the folder
that the <code>Chatty.jar</code> is in (otherwise some stuff might
not work).</li>
</ul>
<h3>Second way</h3>
<ul>
<li>Right-click on the <code>Chatty.jar</code> and drag it to an open
area in the folder, then let go to open the context menu, choose the option to create a shortcut.</li>
<li>Right-click on the newly created shortcut and choose
<code>Properties</code> from the context menu. In the
<code>Target</code> field, it should have the path to the
<code>Chatty.jar</code>. Before that add: <code>javaw -jar </code>,
so that in total it reads for example:
<code>javaw -jar "D:\Chatty\Chatty.jar"</code></li>
</ul>
<p>The <code>javaw</code> part might automatically be changed into the full path
to the <code>javaw.exe</code> when you save the shortcut.</p>
<h2>Editing shortcut</h2>
<p>Add launch options or icon:</p>
<ul>
<li>Right-click on the newly created shortcut and choose
<code>Properties</code> from the context menu, then go to the
<code>Shortcut</code> tab.</li>
<li>Add any <a href="help.html#launch">launch options</a> you want to
use with Chatty after the path to Chatty. For example:
<code>javaw -jar "D:\Chatty\Chatty.jar" -cd</code></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
as <code>.ico</code> file</a>, right-click and
<code>Save target as..</code>)</li>
</ul>
<h2>Use shortcut</h2>
<p>You can then start Chatty by using this shortcut or you can drag it to the
taskbar to attach it to it.</p>
</body>
</html>

View File

@ -0,0 +1,230 @@
<!DOCTYPE html>
<html>
<title>Chatty Help</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
.fileComment {
color: gray;
}
.fileCommentFolder {
}
.filesT {
font-family: Monospace;
margin: 10px 0 14px 0;
}
.filesT td {
margin: 0;
padding: 0;
padding-right: 5px;
padding-top: 2px;
}
</style>
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Guide: Chatty directories and files</a></h1>
<p>
<a href="#files">Files/Directory structure</a> |
<a href="#backup">Backup</a>
</p>
<p>Learn what directories and files Chatty creates/uses.</p>
<h2><a name="files">Files/Directory structure</a></h2>
<h3>Settings Directory</h3>
<p>The settings directory by default is in your user home directory in a
subfolder called <code>.chatty</code>. If you use the <code>-cd</code>
commandline parameter, then the settings directory is the current Working
Directory.</p>
<p>You can use commandline parameters by <a href="help-guide_create_shortcut.html">creating a shortcut</a> and setting the
target to something like <code>javaw.exe -jar "D:\Chatty\Chatty.jar" -cd</code>.</p>
<p>Use the command <code>/dir</code> to display and <code>/openDir</code> to
open the Settings Directory.</p>
<table class="filesT">
<tr>
<td>&lt;settings directory&gt;</td>
<td></td>
</tr>
<tr>
<td>|-- backup</td>
<td class="fileCommentFolder">[Folder]</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- backup_x_&lt;filename&gt;</td>
<td class="fileComment">Setting backups</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- backup_meta</td>
<td class="fileComment">Backups meta (last backup, numbering)</td>
</tr>
<tr>
<td>|-- cache</td>
<td class="fileCommentFolder">[Folder]</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- &lt;various cache files&gt;</td>
<td class="fileComment">Cached emotes/image files</td>
</tr>
<tr>
<td>|-- debuglogs</td>
<td class="fileCommentFolder">[Folder] Files intended to be read
by the user</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- debug_session.log.x</td>
<td class="fileComment">Last session debug log (overwritten every run)</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- debugx.log.x</td>
<td class="fileComment">Rotating debug log</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- debug_ircx.log.x</td>
<td class="fileComment">Rotating raw IRC log (only if enabled)</td>
</tr>
<tr>
<td>|-- exported</td>
<td class="fileCommentFolder">[Folder] Files intended to be read
by the user</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- stream_highlights.txt</td>
<td class="fileComment">Recorded stream highlights</td>
</tr>
<tr>
<td>|-- logs</td>
<td class="fileCommentFolder">[Folder]</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- &lt;channel&gt;.log</td>
<td class="fileComment">Chat log files</td>
</tr>
<tr>
<td>|- addressbook</td>
<td class="fileComment">[Settings] Addressbook entries</td>
</tr>
<tr>
<td>|- login</td>
<td class="fileComment">[Settings] Your login data (keep this secure)</td>
</tr>
<tr>
<td>|- favoritesAndHistory</td>
<td class="fileComment">[Settings] Channel History/Favorites</td>
</tr>
<tr>
<td>|- settings</td>
<td class="fileComment">[Settings] Main Settings File</td>
</tr>
<tr>
<td>|- statusPresets</td>
<td class="fileComment">[Settings] Stream Title/Game presets (Admin Dialog)</td>
</tr>
</table>
<h3><a name="wdir">Working Directory</a></h3>
<p>This directory is associated with Chatty when you start it. This is usually
the directory the program is started from. If you created a shortcut to start
Chatty with, this may point to the Java-executable instead of Chatty itself,
which can lead to errors. In Windows, you can change the Working Directory
in the shortcut settings by changing what is defined under <code>Run in</code>.
Make sure this points to the same folder the <code>Chatty.jar</code> is in
(or something else if you want to customize it, just make sure the files you
need are there).</p>
<p>Use the command <code>/wdir</code> to display and <code>/openWdir</code>
to open the Working Directory.</p>
<table class="filesT">
<tr>
<td>&lt;working directory&gt;</td>
<td></td>
</tr>
<tr>
<td>|-- sounds</td>
<td class="fileCommentFolder">[Folder] Sound files</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|- &lt;sound&gt;.wav</td>
<td class="fileComment">.wav files</td>
</tr>
<tr>
<td>|-- img</td>
<td class="fileCommentFolder">[Folder] Image files for custom usericons</td>
</tr>
<tr>
<td>|&nbsp;&nbsp;&nbsp;|-&nbsp;&lt;various&nbsp;images&gt;</td>
<td class="fileComment">.png files</td>
</tr>
<tr>
<td>|- JIntellitype.dll</td>
<td class="fileComment">DLL for global hotkey support</td>
</tr>
</table>
<h3>JAR Location</h3>
<p>This is where the Chatty.jar is located and is used for loading libraries
that Chatty uses.</p>
<h2><a name="backup">Backup</a></h2>
<p>Chatty performs an automatic backup (enabled by default) everytime it is
started (if at least the number of days as defined in the settings have passed,
by default one). It copies the setting files (except login) to the backup folder
in the settings directory, increasing the numbering of the files with every
backup. It only makes as many backups as defined in the settings and then
starts over with the first number, rotating the files.</p>
<p>This is supposed to make recovery of settings easier in case they are not
read or written correctly and thus lost (which shouldn't usually
happen). In that case you can manually copy/rename the lost files from
a backup (just looks for the most recent one based on the change date
that looks fine).</p>
<p><em>If some settings are important to you this can help, but you
shouldn't rely on it. Always make your own backups, best on a
different device!</em></p>
<h3>Restore backup</h3>
<p>If you lost your setting files (or some of them) but still have
a backup, you can manually copy the backup to restore it.</p>
<ol>
<li>Prepare & Locate Backup Folder
<ul>
<li>Enter <code>/openBackupDir</code> to open the Backup folder
(or enter <code>/dir</code> and navigate to the Backup folder
manually).</li>
<li>There should be several files in the format <code>backup_x_&lt;name&gt;</code>,
these represent the separate batches of backups.</li>
<li>After that, make sure Chatty is not running. Settings are saved when
Chatty is closed, so if you change setting files manually
while it is running your manual changes would just be
overwritten once you close Chatty.</li>
</ul>
</li>
<li>Find latest backup and rename
<ul>
<li>Sort the files by modification date in your file browser and
choose the latest batch that seems like it might work (e.g.
files that are not 0KB, although the addressbook might be if
you never used it).</li>
<li>Rename the files you want to restore from <code>backup_x_&lt;name&gt;</code>
to <code>&lt;name&gt;</code> (for example <code>backup_2_settings</code>
to <code>settings</code>). You can ignore the <code>backup_meta</code> file.</li>
</ul>
</li>
<li>Move renamed files
<ul>
<li>Copy or move the renamed files to the parent folder (the one
you get from <code>/dir</code> or <code>/openDir</code> commands),
overwriting any existing setting files.</li>
</ul>
</li>
<li>After you are done, start Chatty again and the settings
should be restored.</li>
</ol>
</body>
</html>

154
help/0.8.3/help-issues.html Normal file
View File

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Troubleshooting</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<p>Some documentation of prior or current issues for reference.</p>
<h2>Java Crash: Graphics Driver</h2>
<p>Chatty just randomly closes, apparently the JRE completely crashes.</p>
<h3>Crash report excerpt</h3>
<pre>
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000007f9c08f22bf, pid=272, tid=14464
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [atig6txx.dll+0x122bf]
[..]
Stack: [0x000000000f5d0000,0x000000000f6d0000], sp=0x000000000f6c9bc0, free space=998k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [atig6txx.dll+0x122bf]
C 0x0000000000000000
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j sun.awt.Win32GraphicsDevice.getMaxConfigsImpl(I)I+0
j sun.awt.Win32GraphicsDevice.getMaxConfigs(I)I+10
j sun.awt.Win32GraphicsDevice.getConfigurations()[Ljava/awt/GraphicsConfiguration;+69
j javax.swing.ToolTipManager.getDrawingGC(Ljava/awt/Point;)Ljava/awt/GraphicsConfiguration;+36
[..]
</pre>
<h3>Solution/Workaround</h3>
<p>Seems to have to do with the graphics driver. Reinstalling/updating the graphics driver may
help or using the following commandline parameter, which should disable the calls to the library
that cause the error:</p>
<p><code>-Dsun.awt.nopixfmt=true</code></p>
<p>For example:</p>
<p><code>javaw -Dsun.awt.nopixfmt=true -jar "H:\chatty\Chatty.jar" -cd</code></p>
<h3>Links</h3>
<ul>
<li><a href="http://obsproject.com/forum/threads/chatty.14149/#post-81264">http://obsproject.com/forum/threads/chatty.14149/#post-81264</a> (Chatty thread)</li>
<li><a href="http://www.oxygenxml.com/forum/topic10290.html">http://www.oxygenxml.com/forum/topic10290.html</a> (Crashes of another program and workaround)</li>
<li><a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6477756">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6477756</a> (Related Bug)</li>
</ul>
<h2>Random Errors: Using Calibri Font</h2>
<p>After some time, Chatty suddenly shows an error if using the Calibri font.</p>
<h3>Excerpts</h3>
<pre>
java.lang.ArrayIndexOutOfBoundsException: 168
at sun.font.ExtendedTextSourceLabel.getCharX(ExtendedTextSourceLabel.java:353)
at java.awt.font.TextLine$3.computeFunction(TextLine.java:515)
at java.awt.font.TextLine.applyFunctionAtIndex(TextLine.java:651)
at java.awt.font.TextLine.getCharXPosition(TextLine.java:668)
at java.awt.font.TextLine.getCharLinePosition(TextLine.java:678)
at java.awt.font.TextLayout.buildCache(TextLayout.java:683)
at java.awt.font.TextLayout.ensureCache(TextLayout.java:655)
at java.awt.font.TextLayout.getAdvance(TextLayout.java:885)
at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:510)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:422)
at javax.swing.text.GlyphPainter1.getBoundedPosition(GlyphPainter1.java:213)
at javax.swing.text.GlyphView.getBreakWeight(GlyphView.java:722)
at javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:732)
at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:903)
at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:343)
at javax.swing.text.BoxView.layout(BoxView.java:708)
at javax.swing.text.BoxView.setSize(BoxView.java:397)
at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1714)
at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1046)
at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1022)
at javax.swing.text.JTextComponent.modelToView(JTextComponent.java:1428)
at chatty.gui.components.ChannelTextPane$ScrollManager.scrollDown(ChannelTextPane.java:1107)
at chatty.gui.components.ChannelTextPane$ScrollManager.access$200(ChannelTextPane.java:994)
at chatty.gui.components.ChannelTextPane.printInternal(ChannelTextPane.java:932)
at chatty.gui.components.ChannelTextPane.print(ChannelTextPane.java:906)
at chatty.gui.components.ChannelTextPane.printSpecials(ChannelTextPane.java:772)
at chatty.gui.components.ChannelTextPane.printMessage(ChannelTextPane.java:189)
at chatty.gui.components.Channel.printMessage(Channel.java:228)
at chatty.gui.MainGui$15.run(MainGui.java:1498)
java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.ExtendedTextSourceLabel.createCharinfo(Unknown Source)
at sun.font.ExtendedTextSourceLabel.getCharinfo(Unknown Source)
at sun.font.ExtendedTextSourceLabel.getCharX(Unknown Source)
at java.awt.font.TextLine$3.computeFunction(Unknown Source)
at java.awt.font.TextLine.applyFunctionAtIndex(Unknown Source)
at java.awt.font.TextLine.getCharXPosition(Unknown Source)
at java.awt.font.TextLine.getCharLinePosition(Unknown Source)
at java.awt.font.TextLayout.buildCache(Unknown Source)
at java.awt.font.TextLayout.ensureCache(Unknown Source)
at java.awt.font.TextLayout.getAdvance(Unknown Source)
at sun.font.FontDesignMetrics.charsWidth(Unknown Source)
at javax.swing.text.Utilities.getTabbedTextWidth(Unknown Source)
</pre>
<h3>Solution/Workaround</h3>
<p>Hopefully this will be fixed in future Java updates, but for now just don't
use a Calibri font.</p>
<h3>Links</h3>
<ul>
<li><a href="http://stackoverflow.com/questions/16331075/error-generating-jasperreport-in-development-mode">http://stackoverflow.com/questions/16331075/error-generating-jasperreport-in-development-mode</a></li>
<li><a href="https://community.oracle.com/message/11119052#11119052">https://community.oracle.com/message/11119052#11119052</a></li>
</ul>
<h2>Twitch Emotes appearing wrong on Retina Displays</h2>
<p>Twitch Emoticons appear wrong when Chatty is displayed on a Retina display.
Instead of the Emoticon images, the 404 image the Twitch CDN redirects to is
shown.
<p>Apparently in newer Java versions <code>Toolkit.getImage()</code> tries to find a higher
resolution image by adding @2 to the file name, which the Twitch CDN actually
responds to by redirecting to an error image, which is then displayed.</p>
<h3>Solution/Workaround</h3>
<p>Use <code>Toolkit.createImage()</code> and create an <code>ImageIcon</code> with the created image.</p>
<h3>Links</h3>
<ul>
<li><a href="https://bugs.openjdk.java.net/browse/JDK-8011059">https://bugs.openjdk.java.net/browse/JDK-8011059</a> (OpenJDK Issue Page about this behaviour)</li>
</ul>
</body>
</html>

View File

@ -0,0 +1,97 @@
<!DOCTYPE html>
<html>
<title>Chatty - Livestreamer</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">To main help page</a></div>
<h1><a name="top">Livestreamer</a></h1>
<p>
<a href="#usage">Usage</a> |
<a href="#settings">Settings</a> |
<a href="#troubleshooting">Troubleshooting</a>
</p>
<p><a href="http://livestreamer.readthedocs.org/en/latest/">Livestreamer</a>
is a commandline program that can be used to watch streams in a player like
VLC Player. It has to be downloaded and installed seperately from Chatty.</p>
<h2><a name="usage">Usage</a></h2>
<p>You can open the Livestreamer dialog that Chatty provides via
<code>Extra - Livestreamer</code>, where you can directly run Livestreamer
and change some settings.</p>
<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
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
be reused.</p>
<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
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
the process is still running. The <code>Retry</code>-button can be used to
re-run the last command of that tab (for example when it couldn't find the
stream, but you want to retry now because you know it's come online).</p>
<h2><a name="settings">Settings</a></h2>
<p>The settings can be changed in the Livestreamer dialog.</p>
<ul>
<li><strong>Enable context menu entry</strong>: Adds Livestreamer to all
context menus that can be used to open streams (like User Context Menu,
Channel Context Menu or Live Streams Context Menu).</li>
<li><strong>Show dialog when opening stream</strong>: Automatically open
the Livestreamer Dialog when you open a stream out of the context menu.</li>
<li><strong>Context menu qualities</strong>: You can customize which
quality options appear in the context menu. The options you enter here
are directly given as a parameter to Livestreamer, except <code>Select</code>
which tells Chatty you want to select a quality in the dialog. Seperate
qualities by space or comma. Add a <code>|</code> (vertical bar) to add
a seperator to the menu.
<br /><br />
Examples:
<ul>
<li><code>Best, High, Worst | Select</code></li>
<li><code>Source High Medium Low Mobile | Select</code></li>
</ul>
</li>
<li><strong>Base command or commandline options</strong>: This is used to
construct the command to run Livestreamer and is basicially the part
before the URL and the quality. This should point to the Livestreamer
program itself, including any commandline options you always want to have included. The default is just <code>livestreamer</code>, which
should usually be sufficient if the program is correctly included in
the systems PATH variable (or similiar), but it may also include the
full path to Livestreamer. Surround the path or any other parameter with quotes if it contains
spaces (e.g. <code>"C:\My Programs\Livestreamer\livestreamer.exe"</code>).
<br /><br />
Examples:
<ul>
<li><code>"C:\My Programs\Livestreamer\livestreamer.exe" --player "C:\Program
Files\MPC-HC\mpc-hc64.exe"</code> (specify full path to Livestreamer
and use a different player)</li>
<li><code>/usr/local/bin/livestreamer</code> (this might work on Linux/Mac
if it can't find Livestreamer without the full path)</li>
</ul>
</li>
<li><strong>Use Authorization (Twitch Oauth Token)</strong>: Supplies to
Twitch Access Token that is used for Chatty to Livestreamer to authenticate
you when watching a stream via Livestreamer (probably only necessary to
be able to watch sub-only streams).</li>
</ul>
<h2><a name="troubleshooting">Troubleshooting</a></h2>
<p>If you get an error like <code>Error: java.io.IOException: Cannot run
program "&lt;...&gt;": CreateProcess error=2 [..]</code>, then
Chatty probably can't find Livestreamer on your system.</p>
<p>To solve this, first make sure that
you actually have Livestreamer 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
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
<code>Base command or commandline options</code> field. See the Settings section
above for examples and help on that.</p>
</body>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<title>Chatty Help</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Memory Usage</a></h1>
<p>
<a href="#restrict">Restrict Memory Usage</a> |
<a href="#error">OutOfMemoryError</a>
</p>
<p>The programs memory is managed by Java, which means Java allocates a
certain amount of memory which is then filled up with data of the program
and once Java decides so, it cleans up data that is not used anymore
(Garbage Collection). This leads to the actual memory usage going up and
down constantly, while the allocated memory mostly stays the same. So
even if only 50 MB are filled with data by the program <em>at the time</em>, Java may
still have 200 MB reserved to optimize Gargabe Collection. Thus, the memory usage in e.g. the Task Manager
may not reflect what the program actually <em>requires</em>, just how
much Java uses.</p>
<p>Use the <code>/appinfo</code> command in Chatty to get some information
about the current memory usage.</p>
<p>A typical memory usage pattern, which can change over time as the program
is running while Java optimizes Gargabe Collection:<br />
<img src="jconsole.jpg" alt="Typical memory usage pattern" /></p>
<h2><a name="restrict">Restrict Memory Usage</a></h2>
<p>You can <a href="http://stackoverflow.com/questions/1493913/how-to-set-the-maximum-memory-usage-for-jvm">restrict</a> how much memory Java is allowed to use by specifying
commandline parameters for Java. <a href="help-guide_create_shortcut.html">Create a shortcut</a>
and add the appropriate parameter after the <code>javaw.exe</code> but
before the <code>-jar</code> parameter.</p>
<p>For example to restrict memory to 100 MB: <code>javaw -Xmx100M -jar "D:\Chatty\Chatty.jar"</code></p>
<h2><a name="error">OutOfMemoryError</a></h2>
<p>If you get an OutOfMemoryError then Java ran out of memory. This can
either be because it simply can't allocate enough memory (at least 100 MB is recommended)
or there is a bug that prevents it from cleaning up memory that is not
actually used anymore. These kinds of bugs are pretty difficult to track
down though, especially if they only occur somewhat randomly.</p>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,576 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Setting Commands</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Setting Commands</a></h1>
<p><a href="#commands">Commands</a>
| <a href="#settings">Settings</a></p>
<p>There are a couple of commands that allow you to change settings from
the chat inputbox. (<em>You should probably roughly know what you're doing
before using these.</em>)</p>
<h2>
<a name="commands">Commands</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<ul>
<li><code>/set &lt;setting&gt; &lt;value&gt;</code> changes a setting</li>
<li><code>/get &lt;setting&gt;</code> shows the current value of a
setting</li>
<li><code>/reset &lt;setting&gt;</code> resets the setting to the
default (hard-coded) value</li>
<li><code>/clearsetting &lt;setting&gt;</code> sets string settings to
an empty string</li>
<li><code>/add &lt;setting&gt; &lt;value&gt;</code> adds item to a list
of strings/numbers</li>
<li><code>/remove &lt;setting&gt; &lt;value&gt;</code> removes item from
a list of strings/numbers</li>
</ul>
<p><em>Tip:</em> You can use <a href="help.html#nickCompletion">TAB Completion</a>
for setting names when using it behind a setting command.</p>
<h2>
<a name="settings">Settings</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>The following are settings that can be changed using the setting commands.
A lot of those - but not all - can also be changed in the Settings Dialog,
which is more convient in some cases. This does not show all settings.</p>
<ul>
<li>For Addressbook related settings, see <a href="help-addressbook.html#advanced">Addressbook Help</a>.</li>
</ul>
<p>Settings with a <span class="settingExclusive">slightly darker background color</span>
are settings that are not available in the Settings Dialog and can only be
changed via commands (and sometimes also commandline options). Settings with
a <span class="settingNoCommandEdit">lighter color</span> can't (or are not recommended to) be changed
via setting commands, but are added to the list because their value can be
viewed with <code>/get</code>.</p>
<p>
<a href="#font">Font</a> |
<a href="#time">Time</a> |
<a href="#server">Server/Connection</a> |
<a href="#chat">Chat</a> |
<a href="#window">Window</a> |
<a href="#streamchat">Stream Chat</a> |
<a href="#streamhighlights">Stream Highlights</a> |
<a href="#debugging">Debugging</a> |
<a href="#bots">Bot Badges</a> |
<a href="#cm">Copy Messages</a>
</p>
<table class="settings" style="border-collapse: collapse;">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr class="settingExclusive">
<td class="setting">dontSaveSettings</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Don't save settings when Chatty is closed (<code>-ds</code> commandline option).</td>
</tr>
<tr>
<td class="setting">timeoutButtons</td>
<td rowspan="3">String</td>
<td rowspan="3">See <a href="help-settings.html#commands-menu">Command Settings Help</a></td>
<td><em>too long</em></td>
<td>Buttons in the Userinfo dialog (not only timeout buttons)</td>
</tr>
<tr>
<td class="setting">userContextMenu</td>
<td><em>empty</em></td>
<td>Custom entries in the User Context Menu</td>
</tr>
<tr>
<td class="setting">channelContextMenu</td>
<td><em>empty</em></td>
<td>Custom entries in the Channel Context Menu</td>
</tr>
<tr class="settingExclusive">
<td class="setting">twitchnotifyAsInfo</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Show messages from user "twitchnotify" as info messages.
Turn off to show as regular message, so you can e.g. highlight
it.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">backupDelay</td>
<td>Integer</td>
<td>Number of days</td>
<td>1</td>
<td>How many days to wait between a <a href="help-guide_folders.html#backup">Backup</a></td>
</tr>
<tr class="settingExclusive">
<td class="setting">backupCount</td>
<td>Integer</td>
<td>Number of backups</td>
<td>5</td>
<td>How many backups to rotate through</td>
</tr>
<tr class="settingNoCommandEdit">
<td class="setting">hotkeys</td>
<td>List</td>
<td colspan="2"><em>Cannot be edited by command</em></td>
<td>The hotkeys that are currently defined</td>
</tr>
<tr>
<td class="setting">globalHotkeysEnabled</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Enable global hotkeys that are defined in the settings.
Disable this to temporarily turn off the global hotkeys you
defined.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">imageCache</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Whether images (emotes, usericons) are cached in local
files.</td>
</tr>
</table>
<h3><a name="font">Font</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="setting">font</td>
<td>String</td>
<td>Font name, e.g. <code>Arial</code> or <code>Arial Bold</code></td>
<td>Consolas</td>
<td>The font used for the chat</td>
</tr>
<tr>
<td class="setting">fontSize</td>
<td>Integer</td>
<td>Font size, e.g. <code>14</code></td>
<td>14</td>
<td>The font size used for the chat</td>
</tr>
<tr>
<td class="setting">lineSpacing</td>
<td>Integer</td>
<td>Numbers between <code>-1</code> and <code>10</code> probably
make the most sense.</td>
<td>3</td>
<td>The space between chatlines</td>
</tr>
<tr class="settingExclusive">
<td class="setting">inputFont</td>
<td>String</td>
<td>Font name and size, as understood by <a href="http://docs.oracle.com/javase/7/docs/api/java/awt/Font.html#decode%28java.lang.String%29">Font.decode()</a></td>
<td>Dialog 14</td>
<td>The font for the chat input box (should only be set to
Java logical fonts like <code>Dialog</code> or
<code>Monospaced</code>, otherwise fallback fonts in
chat may not work correctly*)</td>
</tr>
<tr class="settingExclusive">
<td class="setting">dialogFontSize</td>
<td>Integer</td>
<td>Font size or <code>-1</code> to keep default</td>
<td>-1</td>
<td>Setting to customize the font size of dialogs, currently
experimentel and only for User Info Dialog.</td>
</tr>
</table>
<p>* If a character isn't contained in the chat font you have
currently configured, Java will try to find it in the fallback
fonts. While still not all characters will be displayed this way, it
should work a lot better. You can also <a href="help-troubleshooting.html#font">add your own fallback fonts</a>
to improve the situation further. However, setting the input box
font to your chat font somehow breaks the fallback font mechanism,
resulting in less characters being able to be displayed (like in
versions before 0.7.3).</p>
<h3><a name="time">Time</a> <span style="font-size:0.5em;">Dr. Freeman..</span></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="setting">timestamp</td>
<td>String</td>
<td>Format as understood by
<a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
or <code>off</code></td>
<td class="settingDefault">[HH:mm]</td>
<td>The timestamp used for all lines in chat</td>
</tr>
<tr class="settingExclusive">
<td class="setting">timestampTimezone</td>
<td>String</td>
<td>As understood by <a href="http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html#getTimeZone%28java.lang.String%29">Timezone.getTimeZone()</a>
e.g. <code>GMT+2</code> or <code>PST</code></td>
<td class="settingDefault"><code><em>empty</em></code></td>
<td>The timezone used for the <code>timestamp</code></td>
</tr>
<tr>
<td class="setting">logTimestamp</td>
<td>String</td>
<td>Format as understood by
<a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
or <code>off</code></td>
<td class="settingDefault">[HH:mm:ss]</td>
<td>The timestamp used for all lines in the chatlog files</td>
</tr>
</table>
<h3><a name="server">Server/Connection Settings</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="setting">serverDefault</td>
<td>String</td>
<td>The server address, host or IP</td>
<td class="settingDefault">irc.twitch.tv</td>
<td>Default server to connect to, which can be changed in
the Settings Dialog and is saved between sessions</td>
</tr>
<tr>
<td class="setting">portDefault</td>
<td>String</td>
<td>One or more ports, seperated by comma</td>
<td class="settingDefault">6667,80</td>
<td>Default port to connect to, which can be changed in the
Settings Dialog and is saved between sessions</td>
</tr>
<tr class="settingExclusive">
<td class="setting">server</td>
<td>String</td>
<td>The server address, host or IP</td>
<td class="settingDefault"><em>empty</em></td>
<td>If set, overrides the <code>defaultServer</code>, can be
set by commandline options, not saved in between sessions</td>
</tr>
<tr class="settingExclusive">
<td class="setting">port</td>
<td>String</td>
<td>One or more ports, seperated by comma</td>
<td class="settingDefault"><em>empty</em></td>
<td>If set, overrides the <code>defaultPort</code>, can be
set by commandline options, not saved in between sessions</td>
</tr>
<tr>
<td class="setting">username</td>
<td>String</td>
<td>Your username</td>
<td class="settingDefault"><em>empty</em></td>
<td>Public part of the <a href="help.html#login">Login data</a>
to login into chat</td>
</tr>
<tr>
<td class="setting">token</td>
<td>String</td>
<td>OAuth token</td>
<td class="settingDefault"><em>empty</em></td>
<td>Secret part of the <a href="help.html#login">Login data</a>
to authorize with Twitch, don't show this to anyone. You
shouldn't change this directly, but use the <code>/changetoken</code>
command instead when manually setting the token.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">spamProtection</td>
<td>String</td>
<td>messages/seconds, e.g. <code>10/20</code></td>
<td class="settingDefault">18/30</td>
<td>How many messages Chatty allows you to send to the server
in the given time, to prevent a ban from chat</td>
</tr>
<tr>
<td class="setting">membershipEnabled</td>
<td colspan="2">Boolean</td>
<td class="settingDefault">true</td>
<td>Refers to the <code>twitch.tv/membership</code> IRCv3 CAP, which
enables sending a userlist and joins/parts, allowing for a
correct userlist in Chatty and showing of joins/parts in chat
(if separately enabled of course)</td>
</tr>
</table>
<h3><a name="chat">Chat</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="setting">pauseChatOnMouseMove</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Enables the <a href="help.html#pausechat">Pause Chat</a>
feature</td>
</tr>
<tr>
<td class="setting">pauseChatOnMouseMoveCtrlRequired</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Require <kbd>Ctrl</kbd> to be pressed to start pausing
chat</td>
</tr>
<tr>
<td class="setting">commandOnCtrlClick</td>
<td>String</td>
<td>Command to run (only the command name)</td>
<td><em>empty</em></td>
<td>The command to run when clicking on a user while holding
<kbd>Ctrl</kbd></td>
</tr>
</table>
<h3><a name="window">Window</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr class="settingNoCommandEdit">
<td class="setting">windows</td>
<td>Map</td>
<td colspan="2"><em>Cannot be edited by command</em></td>
<td>The windows/dialogs positions/sizes as they where loaded
when you started Chatty (NOT necessarily the current ones).</td>
</tr>
<tr>
<td class="setting">tabOrder</td>
<td>String</td>
<td><code>normal</code>, <code>alphabetical</code></td>
<td>normal</td>
<td>How tabs are added (in the order they are added or
alphabetical).</td>
</tr>
<tr>
<td class="setting">tabsMwheelScrolling</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Scroll through tabs with mousewheel.</td>
</tr>
<tr>
<td class="setting">tabsMwheelScrollingAnywhere</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Allow scrolling through tabs with mousewheel everywhere
on the tabpane where nothing else can be scrolled (mainly
the inputbox).</td>
</tr>
</table>
<h3><a name="streamchat">Stream Chat</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr class="settingExclusive">
<td class="setting">streamChatChannels</td>
<td>List[String]</td>
<td>Channel name (with leading #) or empty</td>
<td><em>empty</em></td>
<td>Forwards messages from the given channels to
<a href="help.html#streamchat">Stream Chat</a>.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">streamChatMessageTimeout</td>
<td>Integer</td>
<td>Number of seconds, negative to disable</td>
<td>-1</td>
<td>How long messages are displayed before they disappear
from Stream Chat.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">streamChatBottom</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Start inserting messages at the bottom. Messages are
always inserted below previous messages, but disabling this setting
will make them <em>start</em> at the top. <em>Requires a
restart of Chatty after changing to take any effect.</em></td>
</tr>
<tr>
<td class="setting">streamChatResizable</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Whether the Stream Chat dialog is resizable by dragging
the edges.</td>
</tr>
</table>
<h3><a name="streamhighlights">Stream Highlights</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr class="settingExclusive">
<td class="setting">streamHighlightChannel</td>
<td>String</td>
<td>Channel name (with leading #) or empty</td>
<td><em>empty</em></td>
<td>Allows moderators in the given channel to run the
!highlight command.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">streamHighlightChannelRespond</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>If this is enabled, Chatty sends a message to chat when
a moderator uses the !hghlight command. Otherwise
the response to the command is only shown locally.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">streamHighlightCommand</td>
<td>String</td>
<td>The command to use for moderators</td>
<td><em>!highlight</em></td>
<td>Change this to define the command that can be used by
mods to add stream highlights in the channel defined with
the <code>streamHighlightChannel</code> setting.</td>
</tr>
</table>
<h3><a name="debugging">Debugging</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="setting">debugLogIrc</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Log raw IRC messages in the Debug Window.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">debugLogIrcFile</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Log raw IRC messages to the debug_irc.log file in the
settings directory.</td>
</tr>
</table>
<h3><a name="bots">Bot Badges</a></h3>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="setting">botBadgeEnabled</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Show bot badge in chat for known bots.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">botNames</td>
<td>List[String]</td>
<td>Name of the bot</td>
<td>some default names</td>
<td>List of locally defined known bots. You have to restart
Chatty for changes to take effect.</td>
</tr>
<tr>
<td class="setting">botNamesBTTV</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Use bot names from BTTV API. BTTV emotes have to be enabled for this to work.</td>
</tr>
<tr>
<td class="setting">botNamesFFZ</td>
<td colspan="2">Boolean</td>
<td>true</td>
<td>Use bot names from FFZ API. FFZ emotes have to be enabled for this to work.</td>
</tr>
</table>
<h3><a name="cm">Copy Messages</a></h3>
<p>This can automatically copy all incoming messages into the clipboard.</p>
<table class="settings">
<tr style="border-bottom: 1px solid #EEE">
<th>Setting</th>
<th>Type</th>
<th>Values</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td class="settingExclusive">cmEnabled</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Enable/disable the copy messages feature altogether.</td>
</tr>
<tr>
<td class="settingExclusive">cmChannel</td>
<td>String</td>
<td>Channel Name (including leading #)</td>
<td><em>empty</em></td>
<td>Restrict copying messages to this channel. Leave empty
for no channel restriction.</td>
</tr>
<tr>
<td class="settingExclusive">cmTemplate</td>
<td>String</td>
<td>Template for the copied text</td>
<td>{user}: {message}</td>
<td>This is the template for what is put into the clipboard.
<code>{user}</code> is replaced with the name of the
user who send the message, <code>{message}</code> is
replaced with the text of the message itself.</td>
</tr>
<tr>
<td class="settingExclusive">cmHighlightedOnly</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>Only copy highlighted messages.</td>
</tr>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,157 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Short Guides</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">More Guides..</a></h1>
<p>
<a href="#localsubonly">Local Subscriber-Only Mode</a> |
<a href="#streamers">Chatty for Streamers</a> |
<a href="#eventchat">Join Eventchat</a>
</p>
<p>Probably shorter guides about some aspects of Chatty.</p>
<h2><a name="localsubonly">Local Subscriber-Only Mode</a></h2>
<p>You can create your own local subonly mode, which ignores all messages
written by non-subscribers.</p>
<p>Features used: <a href="help-settings.html#Ignore">Ignore System</a>, <a href="help-addressbook.html">Addressbook</a>,
<a href="help-settings.html#Commands">Custom Commands</a></p>
<h3>Create Ignore Entry</h3>
<p>Go to <code>Main - Settings - Ignore</code> and make sure <code>Enable Ignore</code>
is ticked. Then add to the list (press the Plus-Button):</p>
<p><code>!status:smbaf chanCat:subonly</code></p>
<p>The <code>!status:smbaf</code> prefix matches on messages send by users that
<em>don't</em> have any of the status levels defined, in this case users
that are neither a subscriber (<code>s</code>), moderator (<code>m</code>), broadcaster (<code>b</code>),
admin (<code>a</code>) or staff (<code>f</code>). So basicially this only matches on normal users.</p>
<p>The second requirement for a match is the <code>chanCat:subonly</code>
prefix, which refers to the channel category <code>subonly</code>, which
means the channel the message was send in needs to have that Addressbook category.
This is used to be able to easily toggle subonly-mode for a channel, and
of course to prevent it being enabled in all channels you join in the
first place.</p>
<h3>Create Custom Command to modify Addressbook</h3>
<p>To make use of the Ignore Entry defined in the previous section, you need
to add the <code>subonly</code> category to the channel you want to have
it enabled for. To do this, you could open the Addressbook Dialog
(<code>Channels - Addressbook</code>) and add the channel with the
category there (channels need a leading # in this case, so e.g. <code>#joshimuz</code>).</p>
<p>You can however also use <a href="help-addressbook.html#commands">Addressbook Commands</a>:</p>
<p><code>/ab change #joshimuz !subonly</code></p>
<p>This toggles the <code>subonly</code> category for the given channel, so
when the category is there, it removes the category, and when the category is not there,
it adds the category.</p>
<p>To do this a bit more conveniently, you can add it as a custom command. Go
to <code>Main - Settings - Commands</code> and add the following to the
list:</p>
<p><code>/Toggle_Subonly /ab change #$$1 !subonly</code></p>
<p>If you enter <code>/Toggle_Subonly joshimuz</code>, this will automatically
run the Addressbook as mentioned above (<code>$$1</code> means this is
being replaced with the first word after the command).</p>
<p>To make this more convenient (entering the command with the correct channel
could be a bit of a hassle), add the Custom Command to the <code>Channel Context Menu</code>
(on the same page in the settings). Just click on <code>Edit</code> and add
the command name (without any parameters):</p>
<p><code>/Toggle_Subonly</code></p>
<p>Now if you right-click on a channel, the context menu that opens should
have an entry <code>Toggle Subonly</code>, which you can
use to turn your own local subonly mode for the current channel on and off.</p>
<h2><a name="streamers">Chatty for Streamers</a></h2>
<h3>Stay informed</h3>
<ul>
<li>Open the <code>&lt;View - Channel Info&gt;</code> to see your current
stream title/game, a graph of your viewercount and how long your current
stream already is going.</li>
<li>Open the <code>&lt;Extra - Followers/Subscribers&gt;</code> dialog
to view your 100 most recent Followers/Subscribers and some stats based
on that.</li>
</ul>
<h3>Manage your stream</h3>
<ul>
<li>Open the <code>&lt;View - Channel Admin&gt;</code> dialog to change
the title/game of your stream and run commercials:
<ul>
<li>Presets/History for title/game combinations</li>
<li>Favorite games you play often</li>
<li>Run commercials on a delay and/or timer</li>
<li>Run commercials while playing a game via a global hotkey
(Windows only)</li>
</ul>
</li>
</ul>
<h3>Capture chat for on-stream chat</h3>
<ul>
<li>Customize chat colors, for example change to black background to be
able to make the background transparent in your streaming program.</li>
<li>If you capture Chatty with your streaming program, make sure to
enable the setting <code>Settings - Window - Always show chat scrollbar</code>, so you can always capture the same
region, independant of how many messages are in the chat window.</li>
<li>Change the font so it shows up nicely on stream.</li>
<li>If you want to have all text in bold - not just the names - you can
set the font by command like this: <code>/set font Arial Bold</code>.</li>
<li>You can clear the chat window by using the <code>/clearchat</code>
command (e.g. if you changed some settings before starting the stream
you don't want to show).</li>
</ul>
<h2><a name="eventchat">Join Eventchat</a></h2>
<p><strong>As of March 2016 Twitch doesn't use separate Event Chat servers
anymore.</strong></p>
<p class="del">When you join a channel of a big event and you don't receive any (or few) messages,
it's possible that the channel is on the Event Chat servers, not the
regular Twitch Chat servers. It's a common problem to run into if you're
not using the website (like any regular IRC client, Chatty and possibly
mobile).</p>
<p class="del">In order to join Event Chat in Chatty, you have to connect to a different
server. See <a href="http://twitchstatus.com/#chat">Twitchstatus.com</a> for an (unofficial) list
of servers (make sure you choose the <code>Event Chat</code> tab and use
a server/port combination that is marked as <code>irc</code> in the
<code>Protocol</code> column).</p>
<p>Since Chatty can only connect to one server at a time, you either have
to only join channels that are on the Event Chat servers, or run two
<a href="help-guide1.html">seperate instances</a> of Chatty at the
same time.</p>
<p>There are different ways of connecting to a different server:</p>
<ul>
<li>The <code>/server &lt;host&gt;[:port]</code> command connects to the given server and
port manually (for example <code>/server irc.twitch.tv:443</code>,
replace with an Event Chat server accordingly).</li>
<li>The <code>-server</code> and <code>-port</code> commandline options
allow you to specify a different server when you start Chatty.</li>
<li>The <code>Server</code> and <code>Port</code> settings in the
Settings Dialog under <code>Advanced</code> allows you to set
fixed settings for the server to connect to. This especially makes sense
if you are using <a href="help-guide1.html">seperate settings for different instances</a> of Chatty.</li>
</ul>
<p>If you want to switch between servers sometimes, you can create a
custom command to connect to Event Chat so you don't have to enter
the command with the IP and port manually every time. Go to
<code>Settings - Commands</code>, add a new Custom Command and enter:
<code>/eventchat /server &lt;server&gt;:&lt;port&gt;</code> (replace
with the appropriate IP and port of course). Then you
can just enter <code>/eventchat</code> in the inputbox (while not
being connected) and it will connect to Event Chat and if you want to
connect to regular Twitch Chat just connect regularly via the menu
(and it will use <code>irc.twitch.tv</code> if you didn't change the
server settings).</p>
</body>
</html>

42
help/0.8.3/help-srl.html Normal file
View File

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html>
<title>Chatty - SpeedRunsLive</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">To main help page</a></div>
<h1><a name="top">SpeedRunsLive (SRL)</a></h1>
<p><a href="http://speedrunslive.com">SpeedRunsLive</a> is a platform
dedicated to speedrunning and racing (live speedruns against other players).
Chatty has an integrated race viewer, which lists all the current races.</p>
<h2>
<a name="0.6.3">Race List / Race Info</a>
<a href="#top" class="top">[back to top]</a>
</h2>
<p>Open the race list via <code>SRL - Race List</code>, which shows the
current races. Right-click on a race to open a contextmenu with several
options, double-click on a race to open the Race Info dialog.</p>
<p>Notice that the race list isn't automatically updated, unless you have
a Race Info dialog open (which is automatically updated in a regular
interval). If you want actual real-time information on races, joining
the SRL IRC is a good option. The integration in Chatty is mainly supposed
to make opening/joining race related stuff easier and to give a quick and
easy overview of who is in a race you are watching (without having to open
a website).</p>
<h2>
<a name="0.6.3">Find races with someone</a>
<a href="#top" class="top">[back to top]</a>
</h2>
<p>Use <code>SRL - Races with..</code> to find races that the stream of
the currently active channel you have joined is part of. This will basicially
take the stream you have clicked on, search through all the current races
and list all the races that have an entrant that has that stream set. If
there is only one matching race, and you currently don't have the Race Info
dialog open, then it is immediately opened. Otherwise the matching races are
listed for you to select.</p>
</body>
</html>

View File

@ -0,0 +1,334 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Troubleshooting</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Troubleshooting</a></h1>
<ul>
<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="#settings_lost">Settings lost</a></li>
<li><a href="#wrong_folders">Wrong image/sounds folder</a></li>
</ul>
</li>
<li>Connection Issues
<ul>
<li><a href="#login">Can't connect because the login failed</a></li>
<li><a href="#connect">Can't connect</a></li>
</ul>
</li>
<li>Other
<ul>
<li><a href="#known">Known Issues</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="#font">Some characters in chat only show up as boxes / Fallback fonts</a></li>
<li><a href="#visual-glitches">Visual Artifacts/Glitches</a></li>
<li><a href="#log">Debug log</a></li>
</ul>
</li>
</ul>
<h2>
<a name="known">Known Issues</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<h3>User Interface</h3>
<ul>
<li>Sometimes users aren't correctly sorted in the userlist</li>
<li>Windows: Dragging the upper edge to maximize the window vertically
doesn't resize the contents of the window. This may be a Java Bug
that I cannot fix. Workaround: Try double-clicking the upper edge
instead of dragging it.</li>
</ul>
<h3>Errors / Crashes</h3>
<ul>
<li>Using the Calibri font can cause random errors, due to a bug in
Java.
(<a href="http://stackoverflow.com/questions/16331075/error-generating-jasperreport-in-development-mode">More information</a>)</li>
<li>Java can crash due to a bug with the graphics driver.
(<a href="http://obsproject.com/forum/threads/chatty.14149/#post-81271">Forum Posts</a>)</li>
</ul>
<p><a href="help-issues.html">Documentation of some issues</a></p>
<h2>
<a name="performance">Bad performance / OutOfMemoryError</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>You may want to check if Irc logging is enabled in the Debug Window
(<code>Extra - Debug window - Checkbox: Irc log</code>), which should
be disabled by default, but can lower performance if checked.</p>
<h2>
<a name="jintellitype">Global hotkeys don't work</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>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>
<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:
<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>
</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>
<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>
<a name="settings_lost">Settings lost</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If you loose your settings (or part of it like just the Addressbook) then
either they weren't saved/loaded properly for some reason or you changed
your configuration and your settings directory is not the same anymore.</p>
<ul>
<li>Enter <code>/dir</code> in Chatty to find out what your settings
directory is (<code>/openDir</code> to open it) and whether that's
the one you used before (there should be quite a few files and
folders).</li>
<li>If there is a <code>backup</code> folder you can try to restore the
automatic backup. <a href="help-guide_folders.html#backup">More Information...</a></li>
</ul>
<h2>
<a name="wrong_folders">Wrong image/sounds folder</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>The image/sounds folders are based on the current Working Directory,
which is set when you start Chatty. <a href="help-guide_folders.html#wdir">More Information..</a></p>
<h2>
<a name="login">Can't connect because the login failed</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If you repeatedly get disconnected because of possibly invalid login
data, please go to <code>Main - Login.. - Verify login</code>.
This will send a request to Twitch to check if the access token is valid.
If the login data is valid, then Twitch may just have temporary problems
and you should try again later. The same goes for when the check itself
fails because it can't reach the Twitch API.</p>
<p>If the login data isn't valid, you can just remove the login and request
new login data. Also see the <a href="help.html#login-invalid">section about login</a>
for more information about invalid logins.</p>
<p>Another reason may be that you are connecting to the <a href="#connect">wrong port</a>.</p>
<h2>
<a name="connect">Can't connect</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>It's possible that your internet/firewall doesn't like the port you are
using to connect. By default it tries to connect to <code>6667</code>
first. Twitch may also have changed the ports. You can check <a href="http://twitchstatus.com">Twitchstatus.com</a>
(not an official Twitch site) which chat server/ports are available (make sure to use an <code>irc</code> server).
The host <code>irc.twitch.tv</code> should resolve to the available server IPs, so you normally
shouldn't have to enter an IP directly (for main chat).</p>
<p>If you are using a shortcut to start Chatty, also check any
custom server/port you may have defined there using <a href="help.html#launch">commandline parameters</a>.</p>
<h2>
<a name="font">Some characters in chat only show up as boxes / Fallback fonts</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If Java encounters a character that is not contained in the chat font
you currently have configured, it will try to find it in the fallback
fonts. While still not all characters will be displayed this way, it
should work a lot better. If you want to be able to display even more
characters, you can add your own fallback fonts into the Java fallback
font directory: <code>&lt;JRE_INSTALL_DIR&gt;/jre/lib/fonts/fallback</code></p>
<p>On Windows, the JRE would usually be located in
<code>C:\Program Files\Java\</code> or
<code>C:\Program Files (x86)\Java\</code>.</p>
<p><em>Note:</em> If you set the <code>inputFont</code>
<a href="help-setting_commands.html#font">setting</a> to something else
besides a Java logical font, then the font fallback mechanism may break.
This was the case before version 0.7.3.</p>
<h2>
<a name="start">Chatty won't start</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>You need to have at least Java 7 JRE (Java Runtime Environment) installed to run Chatty.</p>
<p>If you try to start Chatty by double-clicking the <code>Chatty.jar</code>,
first make sure that <code>.jar</code> files are associated with Java,
and not some other program like WinRAR. The icon of the <code>Chatty.jar</code>
should have a Java icon (coffee cup). If you right-click the <code>Chatty.jar</code>
you can select the program to open it with under <code>Open with</code>.</p>
<p>If you are sure that the <code>Chatty.jar</code> is actually started with
Java, but no program window appears, it may be that an error occured before
the window (GUI) could be created.</p>
<h3>Run from commandline</h3>
<p>Running Chatty from the commandline has the advantage of being able to
get messages from before the GUI is established. It also may work when Java
isn't integrated into the OS correctly (but is installed).</p>
<ol>
<li>Open a commandline window on the directory where the
<code>Chatty.jar</code> is located
<ul>
<li>Windows: In the File Explorer, while holding <kbd>Shift</kbd>
Right-Click into the folder where the
<code>Chatty.jar</code> is located. Click on <code>Open
command window here</code> in the context menu.</li>
</ul>
</li>
<li>In the commandline window, enter <code>java -jar Chatty.jar</code>
and press Enter.</li>
</ol>
<p>When you enter the above command and Chatty starts correctly (but doesn't
when you double-click the <code>Chatty.jar</code>), this may mean that
Java isn't integrated into the OS properly. You can create a
<a href="help-guide_create_shortcut.html">shortcut</a> or a .bat-file to
start Chatty similiar to entering the command above, but much more
conveniently.</p>
<p>If Chatty doesn't start when you enter the above command, check the
commandline window for error messages.
<a href="help.html#contact">Send</a> a screenshot of the commandline
window along with information on what other things you tried if you
require further assistance with it.</p>
<h3>Check Association of .jar with Java (Windows)</h3>
<p>If the integration of Java into the OS may not be correct, and you want
to try to fix it, you can try this.</p>
<p>Open a commandline window and enter <code>assoc .jar</code> which should output
<code>.jar=jarfile</code> and enter <code>ftype jarfile</code> which should
output something like <code>"C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*</code>
(see also <a href="http://stackoverflow.com/questions/10875839/jar-file-keeps-giving-me-could-not-find-the-main-class-program-will-exit">
Could not find the main class. Program will exit.</a>)</p>
<h3>Error: Java is not recognized as an internal or external command (Windows)</h3>
<p>If you experience this when entering <code>java -jar Chatty.jar</code>
in the commandline, then it probably can't find Java because it's not in the
<code>PATH</code> environment variable (that defines where to look
for programs of which only the filename has been entered, not the whole path).</p>
<p>You can enter <code>PATH</code> in a commandline window to check what is
in it. It should show a list of semicolon-seperated directories, one of which
should point to Java.</p>
<h3>Find errors in debug.log</h3>
<p>See next section. Of course you'll have to navigate to the folder
manually.</p>
<h2>
<a name="visual-glitches">Visual Artifacts/Glitches</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If you experience issues with the GUI where things are drawn on top of
eachother or repeating themselves, try the following:</p>
<ul>
<li>Check if you have any programs running that may interfere, for
example MSI Afterburner and add <code>javaw.exe</code> to an ignore
list or disable on-screen display support if possible.</li>
<li>If you have more than one monitor, try the other monitor. Not sure
why, but some people had it work better on another monitor.</li>
</ul>
<h2>
<a name="log">Debug log</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If you experience any problems or errors, then there may be helpful
information for debugging in the debug log, which is located in the settings
directory:</p>
<p style="margin-left:10px"><code>&lt;user_dir&gt;/.chatty/debuglogs/</code>
(Example: <code>C:\Users\&lt;username&gt;\.chatty\debuglogs\</code>)</p>
<p>If you have Chatty running you can enter <code>/openDir</code> to open it
or <code>/dir</code> to output the path, then simply navigate to the
<code>debuglogs</code> subfolder.</p>
<p>In that folder, there are two kinds of debug files:</p>
<ul>
<li>The <code>debug.log</code> which is overwritten everytime you start
Chatty. It may also have a number at the end (like <code>debug.log.1</code>)
if Java couldn't open the usual <code>debug.log</code>.</li>
<li>Several files (<code>debug0.log, debug1.log, ..</code>), whereas
one of them is written to at a time, and then switched to the next when
a certain filesize is reached, rotating between a certain number of files.
Those files are not overwritten when Chatty is started, but instead new data is appended.</li>
</ul>
<p>So to find possibly relevant data:</p>
<ol>
<li>If you haven't started Chatty again after the error occured, check
the <code>debug.log</code> first.</li>
<li>Otherwise check if one of the <code>debug0.log, debug1.log, ..</code>
files could contain the necessary information, based on the last
modification dates.
<ul>
<li>Even if the error is already some time back, it <em>may</em> still
be in there, depending on how much data has been added in the meantime.</li>
</ul></li>
</ol>
<h2>
If you found a bug or have a suggestion..
<a href="#top" class="top">[back to menu]</a>
</h2>
<p><a href="help.html#contact">Contact</a> me please.</p>
</body>
</html>

View File

@ -0,0 +1,110 @@
<!DOCTYPE html>
<html>
<title>Chatty Help - Whisper Feature</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div id="backlink"><a href="help.html">Back to main help page</a></div>
<h1><a name="top">Whisper Feature</a></h1>
<p>
<a href="#start">Settings</a> |
<a href="#usage">Usage</a> |
<a href="#troubleshooting">Troubleshooting</a>
</p>
<p>Chatty implements the <code>/w</code> command that Twitch Chat
provides, allowing you to send private messages in chat to other users.
Chatty does not provide the Whisper History as on the website and is
only a very basic implementation in general.</p>
<p>The Whisper Feature is disabled by default.</p>
<p>In April 2016 Twitch moved Whispers from the Group Chat servers to the
new AWS Twitch Chat servers. There is no additional server configuration
required anymore.</p>
<h2><a name="start">Settings</a></h2>
<ul>
<li><strong>Whisper Enabled</strong>: Allow sending and receiving
Whispers. With this disabled, you won't be able to send Whispers and
any received Whispers will be entirely ignored.</li>
<li><strong>Whitelist</strong>: If enabled, only users that have the
<a href="help-addressbook.html">Addressbook</a> category
<code>whisper</code> will be able to send whispers to you.
Messages from other users are discarded. Alternatively you can
also <strong>blacklist</strong> users by adding them to the
<code>blockwhisper</code> category (which makes most sense with
the Whitelist setting disabled).<br /><br >
In addition, you can also add users to the Ignore List by
right-clicking on them in chat to open the context menu and
choosing <code>Miscellaneous - Ignore (whisper)</code>. Unlike
the Blacklist or Whitelist using the Addressbook, this will not
completely discard the messages, but instead add them to the
Ignored Messages dialog and possibly output some other messages
about it, depending on the Ignore settings.</li>
<li><strong>Display</strong>: Changes where the whispers are
displayed.
<ul>
<li><strong>Active Chat</strong> - Show in the chat window
you are currently having active in Chatty.</li>
<li><strong>One Window</strong> - Show all whispers in one
separate window. In that window you will be able to
respond to whispers by just typing <code>&lt;name&gt;
&lt;message&gt;</code> instead of having to use the
<code>/w</code> command. To be sure you actually provide
the user to send it to you can only whisper to users
that have already whispered to you (so e.g.
<code>Hey how are you? :)</code> wont't be send to the
user named <code>Hey</code>). The tab for collecting all
whispers is named <code>$[whisper]</code>.</li>
<li><strong>Per User</strong> - Open an extra tab for every
user that whispers to you. You can respond to whispers
by just typing the message in the tab for that user. The
tab will be named <code>$&lt;username&gt;</code>.</li>
</ul>
</li>
<li><strong>Auto-respond to ignored/non-whitelisted users</strong>:
If enabled, sends an automatic reponse to users that you have
ignored (or not whitelisted if you have the whitelist enabled),
if they whisper to you. This does not apply to messages that are
ignored due to the regular ignore list, just the separate user
ignore list (changeable through the Settings, commands or the
User Context Menu) or the special Addressbook categories for
whispers (see above).<br />
The message being sent is <code>[Auto-Message] This user has not
allowed to receive whispers from you.</code>. The message is
only sent once per session to each different user that whispers
to you and is also spam protected.</li>
</ul>
<h2><a name="usage">Usage</a></h2>
<p>When the Whisper Feature is connected (<code>[W]</code> appears in the
titlebar) you can receive and send whispers:</p>
<ul>
<li>When you receive a whisper, it will be displayed depending on the
Display setting and will be indicated by the nickname being marked
like this: <code>-[name]-</code></li>
<li>When you send a whisper via
<code>/w &lt;name&gt; &lt;message&gt;</code>, then this will be
indicated in chat by the nickname being marked like this:
<code>&gt;&gt;[name]</code></li>
<li>In both cases the name is the name of the person you are talking
with, not your own name.</li>
<li>When you click on the name, you will be able to see your
conversation, with your own messages marked with a asterisk in front
(*), which is usually used to mark action messages
(<code>/me</code>).</li>
</ul>
</body>
</html>

1385
help/0.8.3/help.html Normal file

File diff suppressed because it is too large Load Diff

BIN
help/0.8.3/jconsole.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

153
help/0.8.3/style.css Normal file
View File

@ -0,0 +1,153 @@
body {
max-width: 700px;
font-size: 1em;
background-color: #FDFDFD;
font-family: Arial, sans-serif;
padding: 10px;
margin: 0;
}
h1 {
margin: 4px 0 5px 0;
font-size: 1.2em;
background-color: #EEEEEE;
padding: 3px;
border-bottom: 1px solid #AAAAAA;
}
h2 {
margin: 14px 0 0 0;
font-size: 1.1em;
border-bottom: 1px solid #AAAAAA;
padding-bottom: 2px;
}
h3 {
font-size: 1em;
margin: 10px 0 0 0;
padding: 0;
}
li ul {
margin-top:1px;
margin-bottom:3px;
}
li {
font-size: 1em;
margin-top: 2px;
}
.sub {
list-style-type: none;
margin-top: 0;
}
.top {
font-size: 0.75em;
}
code {
background-color: #EEEEEE;
}
cite {
background-color: #EEEEEE;
}
#backlink {
margin: 0 0 10px 0;
}
td {
padding: 10px;
}
table.settings {
border-collapse: collapse;
margin-top: 10px;
}
table.settings td {
padding: 3px;
margin: 0;
border: 1px solid #DDDDDD;
}
table.settings th {
padding: 0;
margin: 0;
border-bottom: 1px solid #000;
}
.setting {
font-family: monospace;
}
.settingExclusive {
background-color: #EEEEEE;
}
.settingNoCommandEdit {
color: #999999;
}
table.versionCompareTable {
border-collapse: collapse;
}
.versionCompareTable td {
padding: 2px;
margin: 0;
}
table.loginlinks {
border-collapse: collapse;
}
.loginlinks td {
padding: 2px;
border: 1px solid #DDDDDD;
text-align: center;
}
.loginlinks th {
padding: 2px;
}
table.files {
border-collapse: collapse;
margin-top: 10px;
}
.files td {
padding: 2px;
border: none;
text-align: left;
vertical-align: top;
}
.moreInfo {
padding: 7px;
font-style: italic;
}
.moreInfo a {
font-weight: bold;
font-style: normal;
}
.paragraphs dd {
padding-bottom: 4px;
/* padding: 0 0 0 16px;
background-image: url(go-next.png);
background-repeat: no-repeat;*/
}
.defList {
margin-left: 20px;
}
.defList dt {
margin-top: 5px;
}
.dl-settings {
margin-left: 20px;
margin-top: 10px;
}
.dl-settings dt {
font-weight: bold;
margin-top: 3px;
}
.dl-settings dd {
margin-bottom: 3px;
margin-top: 2px;
margin-left: 20px;
}
.dl-settings-sub {
margin-top: 4px;
}
.del {
text-decoration: line-through;
}

BIN
help/0.8.3/userdialog.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -27,9 +27,12 @@
<h2>Sharing login data</h2>
<p>When you want to run several instances with different settings, but want
to use the same account, you run into problems. Everytime you request login
to use the same account, you run into problems.
<span style="text-decoration: line-through">Everytime you request login
data (token), the old login is invalidated, so you have to share the login data
you already have between different instances.</p>
you already have between different instances.</span>
<span style="text-decoration: underline">This may or may not be
the case anymore.</span></p>
<p>You can do this by simply copying the <code>login</code> settings file
which contains the login data. Make sure you closed the Chatty instance

View File

@ -16,10 +16,11 @@
<li>Check if no other program may already be listening to that port.</li>
<li>If the problem persists, reboot your PC and then try again.</li>
</ul>
<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
page (<em>opening any of these links will invalidate any previous login
you requested for Chatty, so only do it if you really want to get a new one</em>):</p>
page:</p>
<table class="loginlinks">
<tr>
<th></th>
@ -28,13 +29,24 @@
<th>Editor</th>
<th>Commercials</th>
<th>Subscribers</th>
<th>Follow</th>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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><a href="https://api.twitch.tv/kraken/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>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
@ -44,30 +56,16 @@
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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+user_read">Request new login</a></td>
<td>x</td>
<td>x</td>
<td>x</td>
<td></td>
<td></td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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">Request new login</a></td>
<td>x</td>
<td>x</td>
<td>x</td>
<td><a href="https://api.twitch.tv/kraken/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>x</td>
<td></td>
</tr>
<tr>
<td><a href="https://api.twitch.tv/kraken/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>x</td>
<td>x</td>
<td>x</td>
<td>x</td>
<td>x</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

View File

@ -52,11 +52,11 @@
<td class="fileCommentFolder">[Folder]</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- backup_x_&lt;filename&gt;</td>
<td>|&nbsp; &nbsp;|- backup_x_&lt;filename&gt;</td>
<td class="fileComment">Setting backups</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- backup_meta</td>
<td>|&nbsp; &nbsp;|- backup_meta</td>
<td class="fileComment">Backups meta (last backup, numbering)</td>
</tr>
<tr>
@ -64,7 +64,7 @@
<td class="fileCommentFolder">[Folder]</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- &lt;various cache files&gt;</td>
<td>|&nbsp; &nbsp;|- &lt;various cache files&gt;</td>
<td class="fileComment">Cached emotes/image files</td>
</tr>
<tr>
@ -73,15 +73,15 @@
by the user</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- debug_session.log.x</td>
<td>|&nbsp; &nbsp;|- debug_session.log.x</td>
<td class="fileComment">Last session debug log (overwritten every run)</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- debugx.log.x</td>
<td>|&nbsp; &nbsp;|- debugx.log.x</td>
<td class="fileComment">Rotating debug log</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- debug_ircx.log.x</td>
<td>|&nbsp; &nbsp;|- debug_ircx.log.x</td>
<td class="fileComment">Rotating raw IRC log (only if enabled)</td>
</tr>
<tr>
@ -90,7 +90,7 @@
by the user</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- stream_highlights.txt</td>
<td>|&nbsp; &nbsp;|- stream_highlights.txt</td>
<td class="fileComment">Recorded stream highlights</td>
</tr>
<tr>
@ -98,27 +98,27 @@
<td class="fileCommentFolder">[Folder]</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- &lt;channel&gt;.log</td>
<td>|&nbsp; &nbsp;|- &lt;channel&gt;.log</td>
<td class="fileComment">Chat log files</td>
</tr>
<tr>
<td>|-- addressbook</td>
<td>|- addressbook</td>
<td class="fileComment">[Settings] Addressbook entries</td>
</tr>
<tr>
<td>|-- login</td>
<td>|- login</td>
<td class="fileComment">[Settings] Your login data (keep this secure)</td>
</tr>
<tr>
<td>|-- favoritesAndHistory</td>
<td>|- favoritesAndHistory</td>
<td class="fileComment">[Settings] Channel History/Favorites</td>
</tr>
<tr>
<td>|-- settings</td>
<td>|- settings</td>
<td class="fileComment">[Settings] Main Settings File</td>
</tr>
<tr>
<td>|-- statusPresets</td>
<td>|- statusPresets</td>
<td class="fileComment">[Settings] Stream Title/Game presets (Admin Dialog)</td>
</tr>
@ -147,7 +147,7 @@
<td class="fileCommentFolder">[Folder] Sound files</td>
</tr>
<tr>
<td>|&nbsp; &nbsp;|-- &lt;sound&gt;.wav</td>
<td>|&nbsp; &nbsp;|- &lt;sound&gt;.wav</td>
<td class="fileComment">.wav files</td>
</tr>
<tr>
@ -155,11 +155,11 @@
<td class="fileCommentFolder">[Folder] Image files for custom usericons</td>
</tr>
<tr>
<td>|&nbsp;&nbsp;&nbsp;|--&nbsp;&lt;various&nbsp;images&gt;</td>
<td>|&nbsp;&nbsp;&nbsp;|-&nbsp;&lt;various&nbsp;images&gt;</td>
<td class="fileComment">.png files</td>
</tr>
<tr>
<td>|-- JIntellitype.dll</td>
<td>|- JIntellitype.dll</td>
<td class="fileComment">DLL for global hotkey support</td>
</tr>
</table>
@ -192,15 +192,15 @@
<ol>
<li>Prepare & Locate Backup Folder
<ul>
<li>Make sure Chatty is not running. Settings are saved when
Chatty is closed, so if you change setting files manually
while it is running your manual changes would just be
overwritten once you close Chatty.</li>
<li>Enter <code>/openBackupDir</code> to open the Backup folder
(or enter <code>/dir</code> and navigate to the Backup folder
manually).</li>
<li>There should be several files in the format <code>backup_x_&lt;name&gt;</code>,
these represent the separate batches of backups.</li>
<li>After that, make sure Chatty is not running. Settings are saved when
Chatty is closed, so if you change setting files manually
while it is running your manual changes would just be
overwritten once you close Chatty.</li>
</ul>
</li>
<li>Find latest backup and rename

View File

@ -15,7 +15,8 @@
<h1><a name="top">Release Information</a></h1>
<p>
<a href="#0.8.1">0.8.2</a> |
<a href="#0.8.3">0.8.3</a> |
<a href="#0.8.2">0.8.2</a> |
<a href="#0.8.1">0.8.1</a> |
<a href="#0.8">0.8</a> |
<a href="#0.7.3">0.7.3</a> |
@ -40,7 +41,69 @@
full list of changes.</p>
<h2>
<a name="0.8.2">Version 0.8.2</a> <a name="latest">(This one!)</a> (2016-04-26)
<a name="0.8.3">Version 0.8.3</a> <a name="latest">(This one!)</a> (2016-06-28)
<a href="#top" class="top">[back to top]</a>
</h2>
<p>Twitch has added information on the length of timeouts, which Chatty will
now output by default behind deleted messages. Twitch Chat now also
supports reason messages for timeouts/bans, which will be shown in
Chatty only to the affected person as well as all mods.</p>
<p>You can now follow people directly out of Chatty using the commands
<code>/follow</code> and <code>/unfollow</code> and via context menus
under <code>Miscellaneous</code>. If you try to follow someone you are
already following, it will show how long you are already following.</p>
<p><em>Important:</em> To be able to follow/unfollow channels you first need
to request new login data, because this feature requires the
<code>Follow channels</code> access which Chatty didn't request before.</p>
<p>This version also adds initial support for the new re-sub notifications
with attached messages.</p>
<h3>Full Changelog</h3>
<pre>
Improvements
============
- Added display of timeout duration/reason (can be configured in the settings)
- Updated commands /ban and /timeout (/to) to allow giving a reason
- Added intitial support for new re-subscription messages
- Added ability to follow/unfollow channels, either through the context menus
(under Miscellaneous) or the new commands /follow and /unfollow
- Added support for FFZ Featured Emotes, which are frequently available in
channels of Speedrunning events (not to confuse with FFZ Feature Friday)
- Added setting (under Ignore - Ignored Users) to hide users ignored on chat
from joins/parts and userlist as well
- Added state display for emote-only mode in titlebar
- Added simple search to tables in the Settings Dialog (click into a table
column and start typing, Backspace or wait to reset search)
- Extended Stream Status Writer to include number of Followers/Subscribers
(only updates correctly when the Follower/Subscribers dialog is open)
- Updated help
Login
=====
- Added info to login dialog when token was set through -token parameter
- Added setting to prevent token from being set through -token parameter when
login data is already available in Chatty
- Added "Follow channels" access (you need to re-request login data to get it)
System
======
- Restrict size of session debug log file
- Automatically exit application when too many errors occur (which should never
happen, but if it does, this should prevent affecting the rest of the system)
- Added some Mac specific shortcuts
- Improved debug logging
Bugfixes
========
- Fixed not being able to join (and perform some other actions) through context
menu, for channels that contain spaces in the display name
</pre>
<h2>
<a name="0.8.2">Version 0.8.2</a> (2016-04-26)
<a href="#top" class="top">[back to top]</a>
</h2>
<p>During March Twitch migrated Twitch Chat to new servers (Amazon AWS),

View File

@ -447,21 +447,21 @@
<td>Channel name (with leading #) or empty</td>
<td><em>empty</em></td>
<td>Allows moderators in the given channel to run the
!addStreamHighlight command.</td>
!highlight command.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">streamHighlightChannelRespond</td>
<td colspan="2">Boolean</td>
<td>false</td>
<td>If this is enabled, Chatty sends a message to chat when
a moderator uses the !addStreamHighlight command. Otherwise
a moderator uses the !hghlight command. Otherwise
the response to the command is only shown locally.</td>
</tr>
<tr class="settingExclusive">
<td class="setting">streamHighlightCommand</td>
<td>String</td>
<td>The command to use for moderators</td>
<td><em>!addstreamhighlight</em></td>
<td><em>!highlight</em></td>
<td>Change this to define the command that can be used by
mods to add stream highlights in the channel defined with
the <code>streamHighlightChannel</code> setting.</td>

View File

@ -65,65 +65,144 @@
</h2>
<h3>Deleted Messages (Timeouts/Bans)</h3>
<p>This allows you to define how timeouts or bans are displayed in Chatty.</p>
<p><em>Tip:</em> Click on a username in chat to open the User Info Dialog,
which also shows the timeouts/bans and the original messages.</p>
<p><strong>Please Note:</strong> The timeout duration/reason is in Beta at
Twitch, so stuff <em>may or may not</em> change at some point and break
the display in Chatty. Telling the difference between a timeout and
permanent ban also depends on this, so if this info isn't available
users who were just timed out may be shown as banned.</p>
<ul>
<li>There are three options for deleted messages:<ul>
<li><strong>Delete Message</strong> completely replaces the message with
<code>&lt;message deleted&gt;</code>.</li>
<li><strong>Strike through</strong> will keep the whole message displayed, but
crossed out.</li>
<li><strong>Strike through, shorten</strong> is same as the previous one, but
it will also shorten the message to the defined number of characters, so long
spam messages don't take as much space, but can mostly still be identified what
they were about. Shortened messages are indicated by the points at the end
that are <em>not</em> crossed out (e.g. <span style="text-decoration: line-through">Deleted spam message Long copy pas</span>..).</li>
</ul></li>
<li><strong>Show ban messages</strong>: In addition to handling the deleted
message, Chatty can also show a message like
<code>&lt;name&gt; has been banned from talking</code> once the timeout
or ban is issued.</li>
<li><strong>Combine ban messages</strong>: Chatty can combine ban messages,
which means if several bans/timeouts are issued for the same user within 10
seconds, only one message is shown for them, with the number of bans shown
after the message, e.g. <code>&lt;name&gt; has been banned from talking (3)</code>.
Ban messages are not combined if a new message from the banned user was
received in the meantime.</li>
<li>There are three options on how to handle deleted messages in chat:
<dl class="dl-settings">
<dt>Delete Message</dt>
<dd>Completely replaces the message with <code>&lt;message deleted&gt;</code>.</dd>
<dt>Strike through</dt>
<dd>Keeps the whole message displayed, but crossed out.</dd>
<dt>Strike through, shorten</dt>
<dd>Crosses out the message but also shortens the message to the
given number of characters, so long spam messages don't take
up much space, but you can still kind of tell what they were
about.</dd>
<dd>Shortened messages are indicated by the points at the end
that are <em>not</em> crossed out:
<code><span style="text-decoration: line-through">[12:30] Spammer: Deleted spam message Long copy pas</span>..</code></dd>
</dl>
</li>
<li>Ban duration/reason:
<dl class="dl-settings">
<dt>Show ban duration</dt>
<dd>Appends the length of timeouts in seconds (s) or minutes (m)
and "banned" for bans to the most recent message of the
banned user.</dd>
<dd><code><span style="text-decoration: line-through">[23:12] Spammer: spam message</span> (10m)</code></dd>
<dd><code><span style="text-decoration: line-through">[23:12] Spammer: spam message</span> (banned)</code> (permanent ban)</dd>
<dd>If more than one timeout is issued, the appended info will update
with the length of the latest timeout, again always applied to the most recent
message of that user.</dd>
<dd>Timeouts that happen more than a minute after the
offending message was originally received will cause the
appended info to include an asterisk at the end (*).</dd>
<dd><code><span style="text-decoration: line-through">[23:12] Spammer: spam message</span> (10m)*</code></dd>
<dt>Show ban reason (mod only)</dt>
<dd>Show the reason for the timeout (if the mod has given one),
appended and updated together with the duration.</dd>
<dd><code><span style="text-decoration: line-through">[23:12] Spammer: spam message</span> (banned) [rude tbh]</code></dd>
<dd><code><span style="text-decoration: line-through">[23:12] Spammer: spam message</span> (10m) [emote spam]</code></dd>
<dd>This is only available for mods of the channel as well as for
the user that was banned/timed out.</dd>
</dl>
</li>
<li>In addition to handling the deleted message, Chatty can also show a
separate message with info about the ban:
<dl class="dl-settings">
<dt>Show separate ban messages</dt>
<dd>Enable separate ban/timeout info messages.</dd>
<dd><code>&lt;name&gt; has been timed out</code></dd>
<dd><code>&lt;name&gt; has been banned</code> (permanent ban)</dd>
<dt>Combine ban messages</dt>
<dd>Chatty can combine ban messages, which means if several
similiar bans/timeouts are issued for the same user within
10 seconds, only one message is shown, with the number of
included bans shown after the message, e.g.
<code>&lt;name&gt; has been timed out (3)</code>.</dd>
<dd>Ban messages are not combined if a new message from the banned user was
received in the meantime.</dd>
<dd>This is particularly useful when moderation bots want to
more reliably remove a message and issue several identical
timeouts a few seconds apart.</dd>
<dt>Show ban duration</dt>
<dd>Appends the length of timeouts in seconds (s) or minutes (m)
to the separate timeout info message.</dd>
<dd><code>&lt;name&gt; has been timed out (60s)</code></dd>
<dt>Show ban reason (mod only)</dt>
<dd>Appends the reason for the timeout/ban (if the mod has given
one) to the separate info message.</dd>
<dd><code>&lt;name&gt; has been banned [rude tbh]</code></dd>
<dd><code>&lt;name&gt; has been timed out (600s) [emote spam]</code>
<dd>This is only available for mods of the channel as well as for
the user that was banned/timed out.</dd>
</dl>
</li>
</ul>
<h3>Other</h3>
<ul>
<li><strong>Timestamp</strong>: Whether to show a timestamp in front of
<dl class="dl-settings">
<dt>Timestamp</dt>
<dd>Whether to show a timestamp in front of
chat messages and what format it should have. If you want a different
format from the ones provided here, you can use the command
<code>/set timestamp &lt;format&gt;</code>. The format can be anything
specified by the Java
<a href="http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html">SimpleDateFormat</a>
class.</li>
<li><strong>Show mod/unmod messages</strong>: Whether to show the MOD/UNMOD
class.</dd>
<dt>Show mod/unmod messages</dt>
<dd>Whether to show the MOD/UNMOD
messages as they come in from Twitch Chat. These messages are send
not only when someone was modded/unmodded but also when a mod joins
or leaves the chat.</li>
<li><strong>Show joins/parts</strong>: Show joins/parts, which
or leaves the chat.</dd>
<dt>Show joins/parts</dt>
<dd>Show joins/parts, which
are always kind of delayed, so don't take them too seriously (only works
when <code>Advanced - Correct Userlist</code> is enabled).</li>
<li><strong>Show stream status in chat</strong> outputs the stream status
(title and game) in the chat window on join and when it changes
(when the stream goes offline or online or changes the title or game).</li>
<li><strong>/me messages colored</strong>: Show action messages colored
like in webchat.</li>
<li><strong>Filter combining characters</strong>: Replaces certain ranges of
when <code>Advanced - Correct Userlist</code> is enabled).</dd>
<dt>Show stream status in chat</dt>
<dd>Outputs the stream status (title and game) in the chat window on
join and when it changes (when the stream goes offline or online or
changes the title or game).</dd>
<dt>/me messages colored</dt>
<dd>Show action messages in the color of the user like in webchat.</dd>
<dt>Filter combining characters</dt>
<dd>Replaces certain ranges of
Unicode characters. Those characters are used in some
languages to combine characters, but can apparently cause errors in some
cases. The filter applies to the main chat window and the recent messages
in the User Info Dialog (but not e.g. the chatlog written to file).
<ul>
<li><strong>Off</strong> - Do nothing</li>
<li><strong>Lenient</strong> - Replaces at least 3 characters in a row with stars (****), which preserves some legitimate use</li>
<li><strong>Strict</strong> - Replaces any number of characters in a row with stars (****), use this if you have performance
problems when someone posts these kind of characters</li>
</ul>
</li>
</ul>
<dl class="dl-settings dl-settings-sub">
<dt>Off</dt>
<dd>Do nothing</dd>
<dt>Lenient</dt>
<dd>Replaces at least 3 characters in a row with stars (****), which preserves some legitimate use</dd>
<dt>Strict</dt>
<dd>Replaces any number of characters in a row with stars (****), use this if you have performance
problems when someone posts these kind of characters</dd>
</dl>
</dd>
</dl>
<h3><a name="capitalization">Name Capitalization</a></h3>
<p>Names in Twitch Chat are send all-lowercase by default, however there is
@ -213,6 +292,9 @@
effect when you change it.</em></li>
<li><strong>Enable FFZ Mod Icon</strong>: Show the FFZ Mod Icon instead of the regular
Mod Icon (where available). <em>Requires FrankerFaceZ setting to be enabled.</em></li>
<li><strong>Enable FFZ Featured Emotes</strong>: Show special FFZ emotes
available in some channels (mainly Speedrunning Events). To receive
these emotes Chatty maintains a connection to the FFZ Socket Server.</li>
<li><strong>Allow animated emotes</strong>: Show animated emotes (BTTV GIF emotes).</li>
<li><strong>Scale</strong>: The relative size of how emotes are displayed in chat (100% is regular size).</li>
<li><strong>Maximum Height</strong>: The maximum height of emotes in chat (in pixels). Use 0 to allow any height.</li>
@ -324,6 +406,9 @@
<code>http</code> is interpreted as URL.</dd>
</dl>
<p><em>Tip:</em> Jump to entries in the table by clicking into a column and
start to type. Backspace or wait to get out of the search mode.</p>
<h2>
<a name="Usercolors">Usercolors</a>
<a href="#top" class="top">[back to menu]</a>
@ -600,6 +685,8 @@
when the ignored messages dialog isn't currently open.</li>
</ul>
<h3>Ignored Users</h3>
<p>The <code>Ignored Users</code> list allows you to ignore
users in chat or prevent them from whispering you, which is possible via
the main ignore list as well, but was added as a separate function to be
@ -609,6 +696,17 @@
<p>Ignored users are independant of the main ignore list, so they also apply
if ignore is disabled.</p>
<dl class="dl-settings">
<dt>Hide 'Ignored in chat' users from the userlist/joins/parts</dt>
<dd>If enabled, prevents users on the 'Ignored in chat' list from
showing up in the userlist and JOIN/PART/MOD/UNMOD events (which
aren't enabled by default to be shown anyway).</dd>
<dd>This only applies to the 'Ignored in chat' list, not to entries with
the <code>user:</code> prefix on the main Ignore list.</dd>
<dd>Users who are already on the userlist when you ignore them stay on
it until they leave, you rejoin the channel or restart Chatty.</dd>
</dl>
<h2>
<a name="Sounds">Sounds</a>
<a href="#top" class="top">[back to menu]</a>
@ -729,27 +827,55 @@
<h3>Messages Types</h3>
<p>Normal chat messages are always logged, however you can log additional
information:</p>
<ul>
<li><strong>Chat Info</strong> refers to general chat releated info messages
like connecting/disconnecting/trying to timeout someone/stream title..</li>
<li><strong>Bans/Timeouts</strong> refers to bans/timeouts in chat, which
will be logged like this: <code>[12:32:25] BAN: name, name2</code></li>
<li><strong>Mod/Unmod</strong> refers to when someone in chat is modded/
unmodded, which will be logged like this: <code>[12:32:25] MOD: name1, name2</code></li>
<li><strong>Joins/Parts</strong> refers to when someone joins/parts the
channel, which will be logged like this: <code>[12:32:25] JOIN: name1, name2</code></li>
<li><strong>System Info</strong> means any info messages that are related
more to Chatty than chat itself, like info about new versions, if you use
settings commands..</li>
<li><strong>Viewerstats</strong> are stats about the viewercount which
are logged in a semi-regular interval to give some idea about the viewercount
during that time. It shows which interval it refers to, the min/max/avg viewers,
the number of values and the development (first value/after offline is absolute, then +-
relative change, _ means offline before/in between/after that value, e.g.
<code>[21:06:21] Viewerstats (21:03-21:06): avg:28.612 min:28.432 max:28.887 [3/28.519-87+455_]</code>).</li>
<li><strong>Viewercount</strong> will log the viewercount as it is updated,
like this: <code>[15:23:58] VIEWERS: 12521</code></li>
</ul>
<dl class="dl-settings">
<dt>Chat Info</dt>
<dd>General chat releated info messages like connecting, disconnecting,
trying to timeout someone, stream title..</dd>
<dt>Bans/Timeouts</dt>
<dd>Bans and Timeouts in chat. Timeout length and reason will be added
if available.</dd>
<dd><code>BAN: name1, name2 (30s) [reason], name3 (600s)</code></dd>
<dd>The reason is specified by the mod taking the action, so it may be
consist of any text.</dd>
<dt>Mod/Unmod</dt>
<dd>When someone in chat is modded or unmodded. Remember that this info
may be inaccurate, since mod/unmod events are not send immediately
by Twitch Chat.</dd>
<dd><code>MOD: name1, name2</code></dd>
<dd><code>UNMOD: name3, name4</code></dd>
<dt>Joins/Parts</dt>
<dd>When someone enters/leaves the channel. Remember that this info may
be inaccurate, since joins/parts are not send immediately by Twitch
Chat (and sometimes not at all).</dd>
<dd><code>JOIN: name1, name2</code></dd>
<dd><code>PART: name3, name4</code></dd>
<dt>System Info</dt>
<dd>Any info messages that are related more to Chatty itself than to
chat, like info about new versions, when you use setting commands..</dd>
<dt>Viewerstats</dt>
<dd>Stats about the viewercount which are logged in a semi-regular
interval to give you an idea about the viewercount during that time.</dd>
<dd>Each Viewerstats line shows which interval it refers to, the
min/max/avg viewers, the number of values and the development:
First value/after offline is absolute, then +- relative change, _
means offline before/in between/after that value.</dd>
<dd><code>Viewerstats (21:03-21:06): avg:28.612 min:28.432 max:28.887 [3/28.519-87+455_]</code></dd>
<dd>In the example, the stats were recorded between 21:03 and 21:06 and
the Viewercount started out at 28.519, then went down (-87) and then
up (+455). After that the stream went offline (<code>_</code>).</dd>
<dt>Viewercount</dt>
<dd>Directly logs the viewercount as it is received from Twitch, without
any processing, except being formatted depending on the current
locale.</dd>
<dd><code>VIEWERS: 12,521</code></dd>
</dl>
<h2>
<a name="Window">Window</a>
@ -989,10 +1115,12 @@
<a href="#top" class="top">[back to menu]</a>
</h2>
<h3>Other</h3>
<ul>
<li><strong>Inform me about new versions</strong>: Checks for new
versions every few days and outputs a message about it.</li>
<li><strong>Auto-Unhost when your stream goes live</strong>: Automatically
<dl class="dl-settings">
<dt>Inform me about new versions</dt>
<dd>Checks for new versions every few days and outputs a message about it.</dd>
<dt>Auto-Unhost when your stream goes live</dt>
<dd>Automatically
sends the <code>/unhost</code> command to your channel if you started
your stream session in the last 15 minutes and the stream status
changes (usually from offline -> live).<br />
@ -1003,11 +1131,14 @@
<code>autoUnhostStreams</code> setting, via
<code>/add autoUnhostStreams &lt;streamName&gt;</code>, in order to
tell Chatty that you are authorized/want to use the automatic <code>/unhost</code>
feature in that channel).</li>
<li><strong>Titlebar Addition</strong>: Prepend some arbitrary text to
the window title. This can be useful if you run several instances of
Chatty (to be able to tell them apart more easily).</li>
</ul>
feature in that channel).</dd>
<dt>Prepend to window title</dt>
<dd>Add some arbitrary text to the beginning of the window title. This
can be useful if you run several instances of Chatty (to be able to
tell them apart more easily).</dd>
</dl>
<h3>Write Stream Status</h3>
<p>You can let Chatty write information (title, game, viewercount) of a
certain stream to a file. The file will be written to the subfolder <code>exported</code> of the settings directory
@ -1036,6 +1167,14 @@
<li><code>%title</code> - The title of the stream</li>
<li><code>%game</code> - The game of the stream</li>
<li><code>%viewers</code> - The current viewercount</li>
<li><code>%followers</code> - The current number of followers, only
updates correctly when the Followers Dialog for this channel is open
(Main Menu - Extra - Followers)</li>
<li><code>%subscribers</code> - The current number of subscribers, only
updates correctly when the Subscribers Dialog for this channel is
open (Main Menu - Extra - Subscribers)</li>
<li><code>%viewersf</code>, <code>%followersf</code>, <code>%subscribersf</code>
- The same as above, but formatted numbers (e.g. <code>1,532</code>)</li>
</ul>
<p>Example which will write two files (if joined to #joshimuz):</p>
<p style="padding-left:10px;">
@ -1075,7 +1214,27 @@
here). You should know if you set a server or port with a commandline
parameter, but you can also check that by using <code>/get server</code>
and <code>/get port</code>.</p>
<h3>Login Settings</h3>
<p>Manage the actual login data under <code>Main Menu - Login..</code>.</p>
<dl class="dl-settings">
<dt>Allow <code>-token</code> parameter to override existing token</dt>
<dd>When specifying <a href="help.html#launch">launch options</a> you
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>
parameter will have no effect, unless this setting is enabled.</dd>
<dd>Overriding the token can be any issue if external programs like the
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
stream title).</dd>
<dd>If the saved token is already marked as a token set through the
<code>-token</code> parameter, then it will be overriden anyway.</dd>
<dd>If a token set through the <code>-token</code> parameter is in use,
it will be shown as such in the <code>Main Menu - Login..</code>
dialog.</dd>
</dl>
<h3>Whisper Feature</h3>
<div class="moreInfo">Help: <a href="help-whisper.html">Whisper Feature</a></div>

View File

@ -27,6 +27,7 @@
<li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
<li><a href="#livestreamer">Livestreamer won't run properly</a></li>
<li><a href="#font">Some characters in chat only show up as boxes / Fallback fonts</a></li>
<li><a href="#visual-glitches">Visual Artifacts/Glitches</a></li>
<li><a href="#log">Debug log</a></li>
</ul>
</li>
@ -265,6 +266,20 @@
<p>See next section. Of course you'll have to navigate to the folder
manually.</p>
<h2>
<a name="visual-glitches">Visual Artifacts/Glitches</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If you experience issues with the GUI where things are drawn on top of
eachother or repeating themselves, try the following:</p>
<ul>
<li>Check if you have any programs running that may interfere, for
example MSI Afterburner and add <code>javaw.exe</code> to an ignore
list or disable on-screen display support if possible.</li>
<li>If you have more than one monitor, try the other monitor. Not sure
why, but some people had it work better on another monitor.</li>
</ul>
<h2>
<a name="log">Debug log</a>
<a href="#top" class="top">[back to menu]</a>

View File

@ -5,7 +5,7 @@
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1><a name="top">Chatty (Version: 0.8.2)</a></h1>
<h1><a name="top">Chatty (Version: 0.8.3)</a></h1>
<table>
<tr>
<td valign="top">
@ -14,7 +14,7 @@
<li><a href="#title">Title and Tabs</a></li>
<li><a href="#shortcuts">Shortcuts</a></li>
<li><a href="#commands">Commands</a></li>
<li><a href="#login">Login data</a></li>
<li><a href="#login">Twitch Login</a></li>
</ul>
<strong>Chat basics</strong>
@ -112,6 +112,7 @@
<li><code>Sub</code> for Subscriber-Only Mode</li>
<li><code>Slow: &lt;time&gt;</code> for Slowmode</li>
<li><code>R9k</code> for R9Kbeta Mode</li>
<li><code>EmoteOnly</code> for Emote-Only Mode</li>
<li>A language code if Broadcaster Language Mode is enabled</li>
</ul>
<p>You can toggle showing some information under <code>View - Options - Titlebar</code>.</p>
@ -156,7 +157,7 @@
<p>Chat commands:</p>
<ul>
<li><code>/me &lt;message&gt;</code> - Send an action message (* nickname says something) to the channel</li>
<li><code>/to &lt;nick&gt; [time]</code> - Timeout the user with the given nickname for "time" seconds (time is optional)</li>
<li><code>/to &lt;nick&gt; [time] [reason]</code> - Timeout the user with the given nickname for "time" seconds (time is optional)</li>
<li><code>/timeout</code>, <code>/ban</code>, <code>/unban</code>,
<code>/slow</code>, <code>/slowoff</code>,
<code>/subscribers</code>, <code>/subscribersoff</code>,
@ -201,6 +202,8 @@
<li><a href="#streamhighlights">Stream Highlights commands</a></li>
<li><a href="#streamchat">Stream Chat commands</a></li>
<li><code>/copy</code> - Copies the given text to the clipboard</li>
<li><code>/follow [user]</code>, <code>/unfollow [user]</code> - Follow
or unfollow the given user, or the current channel if no user is given</li>
</ul>
<p>GUI commands:</p>
@ -242,7 +245,7 @@
</ul>
<h2>
<a name="login">Login data</a>
<a name="login">Twitch Login</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>The login data consists of a <em>username</em> (or account name) and most
@ -269,6 +272,11 @@
<dt><code>Show subscribers</code></dt>
<dd>Required to view the list of your subscribers
via the <a href="#followers">Subscribers Dialog</a> (if you have a sub button).</dd>
<dt><code>Follow channels</code>
<dd>Gives you access to use the context menu (right-click) entries
<code>Miscellaneous - Follow/Unfollow Channel</code> and use the
<code>/follow</code> and <code>/unfollow</code> commands.</dd>
</dl>
<p>Once requested from Twitch, the login data is stored locally on your
@ -276,7 +284,9 @@
<span style="text-decoration: line-through">Since Twitch gives out the
access token per application, any access token for the same account
requested with Chatty will be invalidated when you request a new access
token</span>. (This doesn't seem to be the case anymore.)</p>
token</span>.
<span style="text-decoration: underline">This doesn't seem to be the
case anymore.</span></p>
<p>If getting login data fails, read <a href="help-guide2.html">this guide</a>.
If your login was determined invalid, read <a href="#login-invalid">down below</a>.</p>
@ -312,21 +322,51 @@
<h3><a name="login-invalid">Invalid Login</a></h3>
<p>If your login is determined invalid (either by checking it manually or
when Chatty performed an automatic check), this can mean one of two things:</p>
<ul>
<li>Twitch returned false data and your login is actually still valid
(which rarely happens, but it is possible).</li>
<ol>
<li>Your login is actually still valid, Twitch is just derping:
<ul>
<li>Sometimes the Twitch API won't recognize any login as valid,
for a while. This is likely the reason if other users have
the same issue at the same time.</li>
<li>How to proceed:
<ul>
<li>In this case, requesting new login data from Twitch probably
won't help at all. Go to <code>&lt;Main - Login..&gt;</code>
to open the <code>Login configuration</code> and click on <code>[Verify login]</code> a few times
(with a few minutes in between attempts).</li>
<li>If you are already connected to chat, you can just stay
connected. Just try <code>[Verify login]</code> a bit later to
be able to use the features that require Twitch
authorization again.</li>
<li>If <code>[Verify login]</code> keeps returning invalid,
even after a while (especially without other users
having the same issue), your login may actually be
invalid.</li>
</ul></li>
</ul>
</li>
<li>Your login is actually invalid:
<ul>
<li>You have requested new login data for the same Twitch Account from
<li><span style="text-decoration: line-through">You have requested new login data for the same Twitch Account from
another instance of Chatty, for example on another Computer, which
has automatically invalidated the previously requested login data
(access token).</li>
(access token).</span>
<span style="text-decoration: underline">This may or may not
be the case anymore.</span></li>
<li>You have just requested login data and something went wrong, or it
wasn't loaded properly from the settings.</li>
<li>The token was invalidated for some other reason.</li>
<li>How to proceed:
<ul>
<li>Go to <code>&lt;Main - Login..&gt;</code> to open
the <code>Login configuration</code> (you may
already have it open), click <code>[Remove login]</code>
and create a new login.</li>
</ul>
</li>
</ul>
</li>
</ul>
</ol>
<p>What happens when your login is no longer valid:</p>
<ul>
@ -339,22 +379,6 @@
the Admin Dialog.</li>
</ul>
<p>How to proceed:</p>
<ul>
<li>If it is known or reasonable to assume that Twitch is currently derping,
then you can manually try to verify the login at a later time.
<ul><li>Go to <code>&lt;Main - Login..&gt;</code> to open the <code>Login configuration</code>
and click on <code>[Verify login]</code>.</li></ul>
</li>
<li>Request new login data.
<ul><li>Go to <code>&lt;Main - Login..&gt;</code> to open the <code>Login configuration</code>
(unless you are already there), <code>[Remove login]</code> and create
a new login.</li></ul></li>
<li>If you want to use more than one instance of Chatty with the
same account, check out the
<a href="help-guide1.html">Guide about running more than one instance of Chatty</a>.</li>
</ul>
<h2>
<a name="symbols">Symbols used in chat</a>
<a href="#top" class="top">[back to menu]</a>
@ -628,16 +652,37 @@
<h2>
<a name="emoticons">Emoticons/Emote Dialog</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>Chatty supports the default Twitch Emoticons (Normal/Turbo/Subscriber),
which should work the same as in normal Twitch Chat. It however also
supports <a href="http://frankerfacez.com/">FrankerFaceZ</a>, a custom
set of emotes that is normally made available in normal Twitch Chat by use of browser
extensions. It also supports <a href="http://www.nightdev.com/betterttv/">BetterTTV</a> emotes.</p>
</h2>
<p>Chatty supports the following types of emoticons:</p>
<ul>
<li>Twitch Emoticons (Global, Turbo, Subscriber)</li>
<li><a href="http://frankerfacez.com/">FrankerFaceZ</a> Emoticons
<ul>
<li>Global and Channel-specific Emotes</li>
<li>Feature Friday Emotes</li>
<li>Featured Emotes (usually available in Speedrunning Marathons)
<br /><em>Note:</em> These emotes require being connected to
the FFZ Socket Server to be updated. There is an issue where
reconnecting to the server sometimes doesn't work. If you
enter the command <code>/ffzws</code> and it is stuck at
<code>Connecting..</code> for a longer period of time, you
may have to restart Chatty for it to work again.</li>
</ul>
</li>
<li><a href="http://www.nightdev.com/betterttv/">BetterTTV</a> Emoticons
<ul>
<li>Global and Channel-specific Emotes
<br /><em>Note:</em> BTTV can also contain GIF emotes, some
of which don't work very well in Chatty. (You also have to
opt-in to show them in the settings in the first place.)</li>
<li><strong>Not supported</strong> are Personal Emotes</li>
</ul>
</li>
</ul>
<p>You can enable/disable Emoticons in general (displaying the icons instead
<p>You can enable/disable Emoticons in general (displaying the images instead
of the text) in the settings under <code>Emoticons</code>. You can also
ignore specific emotes in the same place in the settings.</p>
ignore specific emotes in the same place in the settings.</p>
<p>In chat you can right-click on an emoticon to show some info about it.
Click on the emote code (e.g. <code>FrankerZ</code>) in the context menu
@ -1115,7 +1160,7 @@ MiniK http://static-cdn.jtvnw.net/emoticons/v1/25/1.0 set:793 id:3287</pre
<h3>Allow your moderators to add highlights</h3>
<p>You can also let your moderators add stream highlights
(<code>!addStreamHighlight [comment]</code>), but you first have to
(<code>!highlight [comment]</code>), but you first have to
change some <a href="help-setting_commands.html#streamhighlights">settings</a>:</p>
<ul>
@ -1171,7 +1216,7 @@ MiniK http://static-cdn.jtvnw.net/emoticons/v1/25/1.0 set:793 id:3287</pre
<p>These need to be defined after the <code>Chatty.jar</code>, for example:
<code>javaw -jar Chatty.jar -channel lotsofs</code></p>
<dl class="defList">
<dl class="dl-settings">
<dt><code>-server &lt;host/ip&gt;</code></dt>
<dd>Specify a different server to connect to</dd>
@ -1187,7 +1232,11 @@ MiniK http://static-cdn.jtvnw.net/emoticons/v1/25/1.0 set:793 id:3287</pre
password login anymore.</em></dd>
<dt><code>-token [token]</code></dt>
<dd>Login with the given token</dd>
<dd>Login with the given token.</dd>
<dd>The username currently saved in Chatty must match the account
associated with the given token. If no login data is currently
saved in Chatty or the username is different, you have to use
<code>-user</code> to set the correct username.</dd>
<dt><code>-connect</code></dt>
<dd>Connect immediately when starting Chatty</dd>
@ -1297,6 +1346,8 @@ MiniK http://static-cdn.jtvnw.net/emoticons/v1/25/1.0 set:793 id:3287</pre
the <a href="http://www.apache.org/licenses/LICENSE-2.0">"Apache License 2.0"</a>.</li>
<li>Versions with Windows Global Hotkey support use <a href="https://code.google.com/p/jintellitype/">JIntellitype</a>,
which is licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">"Apache License 2.0"</a>.</li>
<li>Using the <a href="https://tyrus.java.net">Tyrus</a> standalone websocket client library licensed under
<a href="https://tyrus.java.net/license.html">CDDL 1.1 and GPL 2 with CPE</a>.</li>
<li><a href="https://www.iconfinder.com/icons/17999/bookmark_favorite_star_icon">Favorite Icon</a>
(Star Icon) by Everaldo Coelho under <a href="http://www.gnu.org/licenses/lgpl.html">LGPL</a>.</li>
<li>Several Icons from the <a href="http://tango.freedesktop.org/Tango_Icon_Library">Tango Icon Theme</a>

View File

@ -129,6 +129,25 @@ table.files {
margin-top: 5px;
}
.dl-settings {
margin-left: 20px;
margin-top: 10px;
}
.dl-settings dt {
font-weight: bold;
margin-top: 3px;
}
.dl-settings dd {
margin-bottom: 3px;
margin-top: 2px;
margin-left: 20px;
}
.dl-settings-sub {
margin-top: 4px;
}
.del {
text-decoration: line-through;
}

View File

@ -15,7 +15,7 @@ function loaded() {
{ ceiling: null, text: "$years years ago" }
]
}
document.getElementById("ago").innerHTML = "Version 0.8.2 released "+humanized_time_span("2016/04/26", Date(), custom_date_formats)+"";
document.getElementById("ago").innerHTML = "Version 0.8.3 released "+humanized_time_span("2016/06/28", Date(), custom_date_formats)+"";
getDownloads("v0.8.2");
}
@ -214,14 +214,13 @@ function getDownloads(tag) {
<h2 id="download">Download & Getting started</h2>
<ul>
<li><a href="https://github.com/chatty/chatty/releases/download/v0.8.2/Chatty_0.8.2.zip"><strong>Download Version 0.8.2</strong></a>
[<a href="https://www.dropbox.com/s/i46kqefzhxfrlvr/Chatty_0.8.2.zip?dl=0">Mirror</a>]
<li><a href="https://github.com/chatty/chatty/releases/download/v0.8.3/Chatty_0.8.3.zip"><strong>Download Version 0.8.3</strong></a>
(all OS)</li>
<li>With global hotkey support (Windows only):<ul>
<li><a href="https://github.com/chatty/chatty/releases/download/v0.8.2/Chatty_0.8.2_hotkey_32bit.zip">Download Version 0.8.2 (for 32bit-Java)</a>
[<a href="https://www.dropbox.com/s/olpeg2z4a422lg2/Chatty_0.8.2_hotkey_32bit.zip?dl=0">Mirror</a>]</li>
<li><a href="https://github.com/chatty/chatty/releases/download/v0.8.2/Chatty_0.8.2_hotkey_64bit.zip">Download Version 0.8.2 (for 64bit-Java)</a>
[<a href="https://www.dropbox.com/s/m72kyhvb9e0t5nd/Chatty_0.8.2_hotkey_64bit.zip?dl=0">Mirror</a>]</li>
<li><a href="https://github.com/chatty/chatty/releases/download/v0.8.3/Chatty_0.8.3_hotkey_32bit.zip">Download Version 0.8.3 (for 32bit-Java)</a>
</li>
<li><a href="https://github.com/chatty/chatty/releases/download/v0.8.3/Chatty_0.8.3_hotkey_64bit.zip">Download Version 0.8.3 (for 64bit-Java)</a>
</li>
</ul></li>
</ul>

View File

@ -1 +1 @@
0.8.2 Twitch Chat updates, Bugfixes, and much more..
0.8.3 Timeout lengths/reasons, new sub messages, and more..