added missing files, updated index.html

This commit is contained in:
tduva 2015-06-24 15:36:36 +02:00
parent 0116b96b9b
commit 4e628b0365
65 changed files with 11765 additions and 12 deletions

BIN
0_4_admin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
0_4_big.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

BIN
0_4_big1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

BIN
0_4_big1_thumb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
0_4_big_dark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

BIN
0_4_big_thumb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
0_4_overview_top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
0_4_wide1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
0_6_2_admin_dialog.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
0_6_2_dark_colors.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

BIN
Chatty.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

BIN
Chatty_banner_320px.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
Chatty_icon_256x256.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

150
beta.html Normal file
View File

@ -0,0 +1,150 @@
<!DOCTYPE html>
<html>
<head>
<title>Chatty - Twitch Chat Client</title>
<link rel="icon" href="icons2.ico" type="image/x-icon" />
<script type="text/javascript" src="humanized_time_span.js"></script>
<script type="text/javascript">
<!--
function loaded() {
custom_date_formats = {
past: [
{ ceiling: 86400, text: "today" },
{ ceiling: 2629744, text: "$days days ago" },
{ ceiling: 31556926, text: "$months months ago" },
{ ceiling: null, text: "$years years ago" }
]
}
document.getElementById("ago").innerHTML = "Version 0.7.3 released "+humanized_time_span("2015/01/19", Date(), custom_date_formats)+"";
}
-->
</script>
<style type="text/css">
body {
font-size: 1em;
font-family: Arial, sans-serif;
background-color: #EEE;
}
#content {
margin: auto;
width: 1000px;
background-color: #FFF;
padding: 30px;
border: 1px solid #DDD;
clear:both;
}
li {
margin: 5px;
}
h1 {
display: inline;
}
h2 {
font-size: 1.1em;
}
h3 {
font-size: 0.9em;
}
#menu {
display: inline;
}
#menu li {
display: inline;
}
#ago {
display: inline;
font-weight: bold;
color: Firebrick;
border: 0px solid #333;
float: right;
}
#top {
width: 1000px;
margin: auto;
text-align: right;
margin-top: 10px;
}
#bottom {
width: 1000px;
margin: auto;
text-align: center;
margin-top: 10px;
}
#sourceforge {
float: right;
padding-bottom: 10px;
}
#twitter {
float:right;
padding-right: 25px;
}
#youtube {
float:right;
padding-right: 25px;
}
#flattr {
float:left;
}
dt {
margin-top: 8px;
margin-bottom: 2px;
}
.new {
font-size: 0.75em;
font-style: italic;
background-color: #FFFF77;
}
</style>
<script type="text/javascript">
/* <![CDATA[ */
(function() {
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
s.type = 'text/javascript';
s.async = true;
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
t.parentNode.insertBefore(s, t);
})();
/* ]]> */</script>
</head>
<body onload="loaded()">
<div id="top">
<div id="flattr"><a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://getchatty.sourceforge.net"></a></div>
<div id="sourceforge"><a href="https://sourceforge.net/projects/getchatty/">SourceForge.net Project Page</a></div>
<div id="youtube"><a href="https://youtube.com/chattyclient">YouTube Channel</a></div>
<div id="twitter"><a href="https://twitter.com/ChattyClient"><img src="twitter.png" /></a></div>
</div>
<div id="content">
<h1><img src="icons2.png" style="margin-bottom: -5px;padding-right: 7px;" />Chatty Beta <span style="font-size:0.7em"><a href="index.html">to main page</a></span></h1>
<!--<p><em>Currently there is no beta version that is more recent than the regular release. Download Chatty from the main page if you want the most recent version.</em></p>-->
<p>You can try out a beta preview version of the next Chatty version. This is a snapshot from the middle of development and may not be as stable and definitely won't be finished, which means:</p>
<ul>
<li>Some features may still change</li>
<li>The help won't be finshed/may not be there for some features</li>
<li>There may still be more bugs or small inconsistencies</li>
<li>New beta versions (e.g. <code>b4 -&gt; b5</code>) are not announced in program, so check this page if you may want to update, especially if you encounter bugs</li>
</ul>
<p>What this is for:</p>
<ul>
<li>You can use new features right now if you are ok with the downsides in the list above</li>
<li>You can help test Chatty</li>
</ul>
<h2>How to use</h2>
<p><a href="https://www.dropbox.com/s/rcnvlao4gp7dvql/Chatty_0.8.1b3.jar?dl=0">Download the beta version (0.8.1b3)</a> and put it in the same folder as your regular <code>Chatty.jar</code>, then start it the same way. <em>You need to have the regular version of Chatty from the <a href="http://getchatty.sourceforge.net">main website</a> first. If you were using a Chatty version already, you're set.</em></p>
<p>As with every new version, if you have invested a lot of time into adjusting settings (like maybe added 50 different usericons), you may want to make a manual backup of the settings (enter <code>/dir</code> in Chatty to display the folder where they are saved, <a href="help-guide_folders.html">more information</a> on the files Chatty uses). This shouldn't be necessary, but it's always prudent to know where your settings are saved and to keep a backup.</p>
<p>The beta version will always be the version with global hotkey support. If you are normally using the version without global hotkey support, there will be an error message about it when you start Chatty that says you can ignore it if you don't actually make use of global hotkeys.</p>
<p>If you decide to use the old regular version again, be aware that any changes to settings that were introduced with the beta version will be lost.</p>
</div>
<div id="bottom">
If you like Chatty and would like to support me:<br /><a href="http://flattr.com/thing/3038268/Chatty" target="_blank"><img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>
</div>
</body>
</html>

683
changes.txt Normal file
View File

@ -0,0 +1,683 @@
0.8 (2015-06-09) Latest Version
Core Changes:
- Connection: Implemented IRCv3 tags/commands/membership support
- Userlist: IRCv3 now supports optional joins/parts (correct userlist), which is
enabled by default in Chatty (doesn't mean joins/parts have to be shown)
- Added experimental support for secured connections
Emoticons:
- Changed Emoticon parsing to use spaces as delimiter instead of word boundaries
(to match changes made to Twitch Chat)
- Scaling: Added settings to scale emotes in chat and the Emotes Dialog
- BTTV: Implemented BTTV Custom Channel Emotes, switched to new BTTV API
- IRCv3: Implemented new Twitch Emotes API, including using IRCv3 tags
- Emote Dialog: Added overview of all global emotes (Twitch and Other)
- Detail View: Added Detail View that can be opened for an emote with different
scaling and a table of information about the emote
- Context Menu: Added more entries and information
- Added emote image caching, making loading of emotes a bit faster and hopefully
more reliable if the server can't be reached at the time of loading
- Added feature to add custom emotes (locally), also allowing you to replace
other emotes
- FFZ: Switched to new API (and showing more info about the emotes)
TAB Completion:
- Changed to work with @ in front (or any other non-word characters around it)
- Added info popup to show completion information (how many items are found,
which item you are at while cycling through results)
- Added completion for emotes (Shift-TAB)
- Added completion for setting names (TAB when using after setting command)
- Added completion for some commands (TAB after /)
- Added support for custom completion items that you can add in the settings or
via the /customCompletion command
StreamChat:
- Added fitting context menu to stream chat dialog
- Added setting to START inserting text a the top in Stream Chat
(but not insert text at the top in general), added streamChatResizable setting
- Added commands /clearStreamChat, /testStreamChat, /setStreamChatSize,
/getStreamChatSize
Other Enhancements:
- Added bot badge (bot names from BTTV/FFZ APIs and local setting)
- Added ability to record current stream time via commands to assist in creating
stream highlights
- Added setting to clear chat when channel is cleared by a moderator
- Hosting: Added info in the title which channel is being hosted, added warning
in chat when a channel is still being hosted when the stream is going live
- Streamlined reconnection messages a bit
- Output message if channel attempting to join doesn't exist on Twitch
- Added correctly capitalized names from IRCv3 display-name tag, removed
commands to change capitalization of names locally
- Added experimental showing of slowmode/submode status in the titlebar (only
shows correctly if mode toggled while you are already in the channel, until
chat sends that info on join as well)
- Added feature to locally set custom names for any user which show up in chat
and the userlist
- Highlighting: Added more prefix options
- Ignore: Added prefix option to ignore info messages
- Added Miscellaneous-menu to User Context menu and added entry Copy Name
(meaning copy to clipboard)
- Added Miscellaneous-menu to Channel Context menu and added entry to join
currently hosted channel
- Added /copy command which copies the given text to the clipboard
- Added /color command which redirects to the Twitch Chat /color command
- Added /livestreamer command to open streams/dialog via command
- Added /appinfo command
- Added /r9k and /r9koff commands
- Added workaround for Twitch API sometimes returning stream information with
missing channel object (no title available), assuming previous title
- Updated help
Changes:
- Files: Moved cache files to be saved in the /cache folder
- Reduced Twitch API debug log spam a bit
- Increased join delay a bit
- Updated Settings Dialog layout to adjust to the dialog size better
- Changed Twitch API version calls to use v3 by default
- Changed Usericon image files starting with "http" to be interpreted as URL
- Disabled auto request of mods list for the time being, since mod status for
messages should always work and mod status in the userlist should probably
work if the userlist works in the first place
- Decreased Live Streams dialog scroll speed a bit
Settings:
- Highlighting: Added highlightIgnored setting whether to try to highlight
messages that have already been ignored (disabled by default)
- Changed capitalizedNames (first letter only) setting to default to on (only
affects fresh settings)
- Debugging: Added setting to log raw IRC traffic to file (disabled by default)
- Added mainResizable setting to be able to turn off resizing of the main window
- Added setting to ignore Stream Status Notifications for Stream Offline
- Added some more support for different setting types to setting commands
- Changed setting commands to support numeric lists
- Changed Settings Dialog to only tell you to reconnect if you don't have to
also restart Chatty (required by a setting change)
Bugfixes:
- Fixed bug where channel would constantly be reopened when it failed to join
(especially happening on non-existing channels)
- Fixed bug where reonnection timer would sometimes not be cancelled
- Fixed synchronization that could lock up the GUI when performing API requests
- Fixed username case-sensitivity issues for commands
- Fixed error in stream status writer when stream doesn't have a game set
- StreamChat: Fixed bug where stream chat wouldn't scroll down properly
- Addressbook: Fixed remove commands issues with case-sensitivity
- Run correct commercial length in Admin Dialog when using a hotkey
- Fixed close channel hotkey to close active channel rather chan active tab
- Possibly fixed some info messages from Twitch Chat not showing up
- Changed "Mr. Freeman" to "Dr. Freeman"
- Fixed rare error in tables (like Follower Dialog)
- Fixed and enabled workaround for some combining characters causing performance
issues (replacing more than two combining characters in a row with ****)
0.7.3 (2015-01-19)
New features:
- Added customizable hotkeys feature allowing you to add/remove/change hotkeys
in the settings (Global Hotkeys Windows only)
- Added Stream Chat dialog (only regular messages, optional message timeout to
make them disappear after some time, mainly for testing right now)
- Added support for global mods
- Added $chan parameter to Custom Commands
- Log to file: Added setting to customize timestamp (via setting commands)
Changes:
- Changed inputbox font to prevent bug where fallback fonts wouldn't work
properly in JTextPane
- Changed default for "Restore dialogs" setting to "Restore dialogs from last
session" (only if you start from fresh settings)
- Backup: Increased setting backup count to 5 backups
- Changed staff usermode symbol to & (text symbol, not the badge)
- Added scaling to emotes if the image is too big, set maximum size to 100x50
- Improved setting commands (added add/remove commands for String lists, save
default for lists/maps), improved help for setting commands
- Added "set:" commandline parameter to set any setting that can be set with the
/set command
- Changed to new BTTV emotes API
- Improved URL parsing a bit
- Updated help
Bugfixes:
- Fixed Simple Title menu setting not being updated correctly
- Set foreground color of Viewer History based on the current foreground color
of the dialog, so it fits the LAF
- Set Notification foreground color to black, in case a LAF uses another color
that doesn't go well with the yellow background (Notification colors should be
customizable eventually)
0.7.2 (2014-12-14)
Features:
- User Dialog Buttons (Timeout/Custom Commands) now support shortcuts, Ban and
Unban buttons are not hardcoded anymore and have to be added to the setting
(setting is automatically changed if you switch from a version before 0.7.2)
- Added User/Line Selection feature to select a User in chat via the keyboard
so e.g. timeouts are possible completely via the keyboard
- Added feature to modify Addressbook entries via a file
- Added color restriction for Usericons
- Highlight/Ignore: Added prefixes ("start:", "status:", "!status:", "!cat:",
"chanCat:", "!chanCat")
- Channel Info Dialog now allows to be resized a lot smaller, Viewercount info
now adjusting better to smaller sizes
- Added setting to change Look&Feel (only Default and System for now)
- Added setting to attach dialogs to main window, so they always stay in the
same relative position when the main window is moved
- Added some keyboard shortcuts
- Added some support for FFZ feature friday, added /ffzGlobal command to show
global FFZ emote codes
Changes:
- Added menu entry to open login configuration for easier access (no need to
disconnect from chat)
- Improved login configuration dialog
- When login was determined invalid by automatic check: Changed warning message,
don't remove automatically anymore but let user do it if necessary
- Added Options submenu to View menu to allow more options with direct access
- Added more options to Title/Game Presets dialog due to S'ome demand
- Logging to file now enabled by default (only if you start from fresh settings)
- MOD/UNMOD messages are now disabled by default (from fresh settings)
- Custom Commands executed from the Channel Context Menu now include the name
of the channel as first parameter (without leading #)
- Some small improvements of labels/info texts in Settings Dialog
- Increased join delay, increased delay between failed join attempts
- Ping connection more often if inactive to detect disconnect quicker and
possibly prevent disconnect in some cases
- Improved URL detection (again)
- Improved debug messages a bit
- Improved error catching in some places
- Added more tests
- Updated help
Bugfixes:
- Fixed URLs that don't have a protocol prefix (e.g. http://) being opened
without a prefix, which resulted in the browser not opening correctly
- Fixed error in FrankerFaceZ emote parsing
- Fixed bug where "Close to tray" wouldn't work without "Minimize to tray" being
enabled as well
- Fixed layout problem in Settings Dialog when log path was too long
- Use usercolor corrected for readability for colored /me messages
0.7.1 (2014-10-26)
New features:
- Added Emoticon Favorites, that are displayed in the Emote Dialog (you can only
add Twitch Emotes for now, not FFZ or BTTV)
- Added support for correct capitalization of names in chat (experimental, you
have to enable it in the settings if you want to try it)
- Show correctly capitalized stream names in Live Streams/Channel Info Dialog
(independent of the Correctly Capitalized Names setting)
- Added minimize to tray/close to tray options
- Added setting for auto scroll down timeout length
- Added setting to change font size of dialogs (experimental, only Userinfo now)
- Added setting to customize chat log file location
- Added context menu to Follower/Subscriber Dialog to export list to file
- Added support for FrankerFaceZ global event emotes
Changes:
- Changed tray icon to only show when needed
- Set proper tooltip for tray icon
- Added some more timestamp options
- Changed stream status writer output to "exported" subfolder of settings folder
- Changed stream status writer to ignore case of stream name
- Channel Info: Added approx. last stream length as tooltip to "Offline" text
- Changed Twitch badges to use images instead of alpha (shows new colors now)
- Changed base colors for badges to new Twitch colors (affects FFZ Mod Icon and
Fallback Icons)
- Allow for selection of text in chat by double-clicking (focus to inputbox now
only on single-click on chat)
- Detect a few more URL formats to be made clickable
- Improved debug logging a bit (memory usage)
- Some small improvements to memory usage
- Added some more characters to Font Selection Dialog, but also an input field
to enter your own text to test the font
- Catch the error if hotkey library couldn't be found and output warning instead
- Updated help
Bugfixes:
- Fixed info messages sometimes going to the wrong window if popouts are used
- Fixed subscriber sorting in userlist (but overall sorting can still be screwed
up sometimes)
- Fixed wrong channel being joined when joining channel out of user context menu
with "Capitalize Names (First Letter)" option being enabled (fixed implicitly
by changing some stuff around for supporting capitalized names)
- Added workaround for Twitch emotes appearing wrong on Retina displays
- Nothing to do with Chatty in particular (it's the same for every IRC client),
but the "xy just subscribed" message should now work for everyone again,
because Twitch fixed it :)
0.7 (2014-09-25)
New features:
- Added Emoticon Dialog, showing emotes you paid for (Subscriber/Turbo) and
channel-specific emotes (FFZ/BTTV)
- Added Followers/Subscribers lists, added new follower sound (works only if
Followers Dialog is open)
- Livestreamer: Added setting to use auth (for sub-only streams), added setting
whether to open the Livestreamer Dialog when opening a stream from the menu
- Added setting to write stream info to a file (e.g. for display on stream)
- Automatically request moderator list once per channel, added /fixMods command
to temporarily fix mods status without showing the list of all moderators
- Added /host and /unhost commands
- Added shortcut Ctrl-W to close active tab/restore popout to tab
- Admin Dialog: Added option to automatically repeat commercial on the set delay
- Added stream uptime to Channel Info Dialog (how long ago a stream was started)
Changes:
- Changed message parsing to support "<name> is now hosting you" notification
(only works on Twitch Client Version 3 though, see Settings - Advanced)
- Added setting to specify the timezone of the timestamp seperately from the
system timezone setting
- Added kadgar.net to open live streams from the context menu
- Added optional filter to remove combining characters used in some languages
that may cause an error in some cases
- Livestreamer: Reuse open tabs if process stopped and opening stream with the
same stream/quality, re-enable quality selection buttons if process stopped,
improved labels and help
- Added more timestamp options in the settings and changed to showing as example
- Added gzip support to Twitch API requests
- Added check to confirm status of stream going offline, which may or may not
prevent wrong offline notifications if the Twitch API returns false data
- Added hint about entering Twitch Commands in invalid command message
- Updated help
Bugfixes:
- Fixed error in message parsing
- Fixed display error with ban messages
- Fixed a possible bug with notifications
- Now showing "<number> /host commands remaining this half hour." message
0.6.7 (2014-07-20)
New features:
- Added support for some of the BetterTTV emotes
- Added feature to ignore indiviual emotes, which makes them not turn into an
image (but their code will still show up)
- Changed game select dialog to one single list for favorites/search as to not
waste so much space
- Added setting to change the livestreamer command (so you can also e.g. set the
full path to Livestreamer if necessary)
- Added option to combine ban messages of the same user within 10 seconds, for
example "<name> has been banned from talking (3)" means banned 3 times
- Added "/ab change" command to add/remove/toggle categories in a single command
- Added /uptime command
- Added /openUrl and /openUrlPrompt commands (for use in custom commands)
- Added ignore setting to not show ignored messages info (count/nick) in chat if
the ignored messages dialog is currently open
Changes:
- Live Streams window always on top of main window (seems a bit flickery though)
- More Dialogs now closeable with ESC
- Added Ctrl+J shortcut for opening Join Dialog
- Save Channel Favorites sort order between sessions
- Increased number of saved lines per user from 20 to 100
- Reorganized Settings Dialog a bit (Usericons/Emoticons on seperate pages)
- Added context menu to Race Id (blue link) in Race Viewer
- Possibly improved debugging of emoticon loading errors a bit
- Updated help
Bugfixes:
- Search dialogs (Ctrl+F) fixed for popouts
- Fixed error on update notification
- Improved API response parsing a little bit
- Fixed context menus in Highlights/Ignored Messages dialogs
0.6.6 (2014-06-25)
New features:
- Ignore messages (similiar to the Highlight system, match messages by keywords,
usernames, addressbook categories and channels)
- Improved Emote Context Menu (now with channel name on subemotes and clicking
on emote code inserts it in the input box)
- Improved subscriber detection on Twitch Client 1
- Improved Update Notification to now also show in the Main Menubar (clicking
on it opens a window showing the changelog)
- Livestreamer Context Menu quality selection now customizable
- Added some commands (including /ffz to show FFZ emotes of the current channel,
some commands to open dialogs and stuff intended for use in Custom Commands)
Changes:
- Addressbook categories are now all made lowercase when added/loaded from file
- Regular commands can now be also used in Context Menus/User Dialog settings
- Improved error handling a bit (hopefully)
- Removed Ignore Joins/Parts setting in favor of Twitch Client 3
- Changed Twitch Client 1/3 setting to include small explanation
- Added sort by viewercount in Live Streams Dialog
- Added chan: and !chan: prefixes (Highlights and Ignore)
- Updated help
- Show how many Highlighted/Ignored messages are in the dialogs in the View-menu
- Improved text settings editor (auto adjust size when typing, added help)
- Changed Context Menu/User Dialog settings to allow more flexible formatting
(linebreaks allowed, / for command optional, | for seperator doesn't have to
be directly in front of a command, but still applies to the following one)
- Moved to new FFZ server and updated parsing (recently added emotes should now
show up)
Bugfixes:
- Fixed horizontal scrolling sometimes happening in chat window
- Fixed URL Context Menu stream detection to be case-insensitive
- Fixed display of "<" in Notifications
- Hopefully fixed possible display error
0.6.5 (2014-06-14)
New features:
- Reworked usericon (badges) system, which also allows custom usericons,
either replacing the default ones or adding some of your own
- Added Custom Commands, which allow you to define aliases for anything you
can enter into the inputbox (like chat messages, commands)
- Added settings to add Custom Commands to the User/Channel Context Menus and
changed Timeout buttons setting to also add Custom Commands to User Dialog
- Added option to always show the chat scrollbar, which can be useful for
streamers who always want to capture the same subregion of the window
- Added /clearchat command which clears all text from the current chat window
- Added settings for what to do when Chatty is started (show connect dialog
or connect immediately and autjoin channels etc.)
Changes:
- Only show the "<user> has been banned from talking" message for users that
are currently known in the channel (that have said something, have joined,
been modded, etc.)
- Removed hardcoded /slap command, but added it as default to Custom Commands
- Removed "Set color" entry from User Context Menu, but added /setcolor
command (so it can be readded using Custom Commands if necessary)
- Updated help
- Changed list settings editor (used for Highlights, Logging, Commands)
- Reorganized Settings Dialog a bit
- Updated /testNotification command to also allow for a channel parameter
- Changed Highlight Notification to switch to the channel the highlight
originated in (similiar to Stream Status Notifications)
- Regular commands now case-insensitive
- Handle image URLs which may brake due to possible changes in the Twitch API
- Added /echo command to just output text as info message (e.g. for testing)
Bugfixes:
- Fixed speedrun.tv Race Link in SRL Race List context menu
- Made "Races with.." search case-insensitive
- Fixed possible flickering of chat window when being scrolled up
- Remove linebreaks from messages send to the server
- Fixed some possible display bugs in Settings Dialog
- Right-clicking on emotes now works on the whole emote
0.6.4 (2014-05-26)
New features:
- Added SpeedrunsLive (SRL) race viewer
- Added automatic settings file backup (copies settings to the /backup folder
when you start Chatty, at most once per day)
- Added Livestreamer support (start Livestreamer out of dialog/context menus)
- Added feature for unique addressbook categories under some circumstances
- Added "Simple Title" setting to have only "Chatty" as title (Extra menu)
Changes:
- Improved debug logging (added append to current file, max file size, rotate
between several files when max file size is reached)
- Improved scrolling when window is made smaller
- Added small delay between joins, automatically rejoin if join failed, added
"Joining #channel.." message (which indicates a JOIN was send to the server)
- Some smaller improvements
- Added commands to open the current settings/working directory
- Updated help
Bugfixes:
- Possibly maybe fixed bug with default userlist width, but it can still be a
bit finicky
- Fixed bug in Channel Favorites dialog when table is empty
- Fixed /myemotes command
- Fixed bug when joining channel out of popout
0.6.3 (2014-05-15)
New features:
- Popout channels into their own window to be able to view them side-by-side
- Added context menu and improved sorting to Channel Favorites dialog
- Added check whether window restore position is actually on a screen (if not
then open on default position)
- Added Highlight prefix to cutomize color for individual highlight items
(also added ordering buttons that can be necessary for this feature)
- Added navigation buttons with page history to Help window
- Added command to manually refresh emoticons (and badges if you rejoin)
- Added command to show a list of your subemote codes (better emote
integration possibly maybe soon)
- Added option to show action messages (/me) colored like in webchat
Changes:
- Commercials hotkey now simulates a click on the 30s button if the
Admin Dialog is open on the Commercials tab (so you can also use a delay)
- Added more information to the emote context menu (unfortunately you have
to right-click on the left side of the emoticon to open it)
- Changed default access options to all selected (you can still deselect them if
you don't need them and you think it's safer not having them on the token)
- Decreased scrolling step a bit
- Improved scroll detection for scrolled up timeout
- Improved main window title change responsiveness
- Some small improvements
- Reorganized and updated help
Bugfixes:
- Fixed some possible errors by adding some checks
- Fixed bug when adding a usercolor (not correctly enabled Done button)
- Fixed bug canceling the list item edit dialog (highlights/logging)
0.6.2 (2014-04-20)
New features:
- Admin Dialog: Select previously used or favorited stream status (title/game)
from the presets dialog for your title changing convenience
- Optional new chat version that has no joins/parts but has better channel
association for bans/timeouts/subscribers and "xy just subscribed" message
- Added /slap command due to S'ome demand
- Improved connecting to chat (automatically trying different servers/ports)
- Added more shortcuts and stuff
- Added option to rejoin currently open channels when connecting
Changes:
- Moved Ignore joins/parts option to settings dialog
- Some small improvements
- Updated help
Bugfixes:
- Hopefully fixed synchronization error
- Fixed error when editing game favorites
- Fixed error when no stream title is set
0.6.1 (2014-03-24)
New features:
- Added Addressbook to associate name with categories, that can be referenced
from usercolor settings and highlight settings
- Added usercolor settings to locally assign custom usercolors
- Option to restore dialog positions/reopen dialogs on start
Changes:
- Improved setting for timeout buttons/added to GUI, improved timeout messages
- Highlight: Default username now matching on word bounds, added word bounds
matching prefixes, added highlight next messages
- Reorganized settings dialog to accomondate new settings/features
- Updated help
- Parse /mods response to make users mods
- Improved Named Colors panel in color chooser
- Added Ctrl-Shift-Tab to switch to previous channel
- Added server/port settings
- Added setting to enable/disable stream status messages in chat
Bugfixes:
- Fixed FrankerFaceZ mod icon parsing to reflect recent changes
- Fixed parsing error
- Fixed userstats max length
- Added scrolling to "Removed Streams.." list
0.6 (2014-02-13)
New features:
- New more flexible notifications that replace the system tray notifications
(you can still switch back to them though)
- Added chat logging to record messages and stream/chat infos to file
- Added Spam Protection
- Admin Dialog: Relative times, use own channel when no channel is joined,
last commercial run time, improved several channels support, dialog
not modal anymore, configurable commercial run delay, added help
- Added message sound, load sound file names from sounds folder, improved
sound settings, changed volume values (you may need to adjust your volumes)
- Check if connection was lost a bit faster depending on previous activity
- Added new error dialog
- Show important release information on first startup of new version
Changes:
- Changed shutdown process
- Improved settings dialog (help, icons, components, restart required
warning)
- Remove additional whitespace from incoming messages
- Replace some special html character codes in incoming messages
- Default userlist width setting, userlist width 0 now possible
- Always output stream status on join (not only if it's new)
- Improved help
- Added setting to enable (and thus disable) open url prompts
- Added Copy URL option to url prompt
- Added setting to highlight own messages (always enabled before)
- Added setting to change the tabs order (join order/alphabetical)
- Added context menu item to clear the highlights dialog
- Fixed bug in ViewerHistory when item was still hovered when channel
was changed
- Added help window icon
- Count number of mods on /mods-command response
- Prevent auto-scrolling when search is active
- Added speedrun.tv option for stream urls
0.5.1 (2013-12-17)
Changes:
- FrankerFaceZ: Show custom mod icons (available in some channels)
- FrankerFaceZ settings, Emoticons/Icon settings seperate
- Prevent dialogs that can open automatically (error messages) from
stealing focus
- Added chat buffer size setting
- Added setting to enable/disable mod/unmod messages
- Added some shortcuts
- Added command to show working directory
- Added color preset
- Improved help
- Improved viewer history (fixed times per channel)
- Improved debug output
- Added command/guide in case getting login data doesn't work
Bugfixes:
- Fixed error in Viewer history
0.5 (2013-12-05)
New features:
- Get notified when streams you follow go online (requires <Read user info>
access,
which wasn't even in Chatty before, so you'll have to request new login data)
- View a list of live streams (you followed or whose channel you are in)
- FrankerFaceZ emoticons
- Added search, allowing you to find text in the current chat window
- Deleted messages (from timeouts/bans) now get shortened to a maximum length,
or you can use the previous behaviour or let the whole message be replaced with
<message deleted>
- Change the displayed time range in Viewer History
- Automatically check if the login is valid, if it is suspected not to be
- Clickable links in Channel Info Dialog (also turns #srl-abcd into a race link)
- Cycle between tabs with Ctrl+TAB
Changes:
- Updated Help
- Changed Settings Dialog Layout
- Detect subscribers even when in more than one channel (may not work correctly
always, but it's a better guess than before)
Bugfixes:
- Changed color of inputbox cursor to foreground color
- Possibly made emoticon image loading a bit more reliable, but it's hard to
tell what happens when the loading fails
- Handle long URLs in the URL open dialog better
0.4 (2013-11-16)
New features:
- Added version checker to inform you about new versions of Chatty
- Added window icon
- Added colors to viewer history to indicate stream status changes, hovering
displays stream title/game at that time (in addition to viewercount/time)
- Stream information is now requested for all channels you have currently joined
- Added tray notifications for highlighted messages and stream status changes
- Added sound notifications for highlighted messages and stream status changes
- Added some commandline parameters, settings and context menu entries
Changes:
- Nicks in JOIN/PART/MOD/UNMOD lines now clickable
- Settings now saved in seperate files for general settings, login data and
history/favorites
- Fixed tab colors, added indicator for new stream status
- Added delay for global hotkey so it doesn't repeat as much if kept pressed
- Updated and improved help
- Added Mod/Unmod buttons to user dialog (only in your own channel)
Bugfixes:
- Fixed bug where a status change could reopen a tab that couldn't be closed
- Improved error handling for API responses
- Fixed bug where focus sometimes wouldn't be on inputbox when changing tabs or
clicking in channel
0.3 (2013-09-19)
New features:
- Added Admin Dialog that let's you change the title/game of your stream
and run commercials (optional global hotkey for running commercials)
- Added Channel Favorites/History that automatically saves channels you joined
and also allows you to add favorites (history can be deactivated in the
settings)
- Added Highlight system that makes a message appear in another color if defined
keywords are found in it and/or it was send by a defined user (defaults to
always highlight your own name)
- Added join dialog
- Messages from user "twitchnotify" as info messages (when someone subscribed)
- Added Warning when joining more than one channel
- Added context menus for nicks/links/channel/tabs
- Restore window position from last session
- Better debugging and error handling
- Automatically scroll down after 30s of inactivity when being scrolled up
Changes:
- User Info Dialog: Auto-update message history, show bans, show channel context
- Lowered stream info (title, game, viewercount) update delay to 120s
- Improved default user colors
- Emoticons that contain only word characters match at word boundaries (to match
the new behaviour in Twitch Webchat)
New settings:
- Option for capitalized names
- Option to show ban message (.. has been banned from talking), defaults to not
showing it
- Color GUI settings (with default and dark preset)
- And of course quite a few for the new features/bugfixes
Bugfixes:
- Fixed bug where channels would re-open without being
able to close them
- Fixed bug where the userlist wasn't loaded correctly on join
when the channel was joined before in the same session
- Disabled Direct3D Hardware Acceleration by default to possibly
fix Chatty appearing completely black under certain circumstances
First published version was 0.2 so changelog starts from version 0.3.

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
help/0.8.1b/followers.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -0,0 +1,154 @@
<!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>
<p>
<a href="#editing">Editing Locally</a> (<a href="#commands">Commands</a>) |
<a href="#advanced">Advanced Usage</a> (<a href="#modcommands">Mod Commands</a>, <a href="#file">Change via file</a>)
</p>
<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>
</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,132 @@
<!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><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,55 @@
<!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. 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>
<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>

View File

@ -0,0 +1,111 @@
<!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 (<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>
<table class="loginlinks">
<tr>
<th></th>
<th>Chat</th>
<th>User read</th>
<th>Editor</th>
<th>Commercials</th>
<th>Subscribers</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/&scope=chat_login">Request new login</a></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/&scope=chat_login+user_read">Request new login</a></td>
<td>x</td>
<td>x</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/&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/&scope=chat_login+channel_editor+channel_commercial+user_read">Request new login</a></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/&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>
</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,42 @@
<!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, not sure about other OS.</p>
<p>You can create a shortcut for Chatty, which has some potential advantages (depending on what you need):</p>
<ul>
<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:</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>
<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,135 @@
<!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: Chatty directories and files</a></h1>
<p>
<a href="#directories">Directories</a> |
<a href="#files">Files</a> |
<a href="#backup">Backup</a>
</p>
<p>Learn what directories and files Chatty creates/uses.</p>
<h2><a name="directories">Directories</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 creating a shortcut and setting the
target to something like <code>javaw.exe -jar "D:\Chatty\Chatty.jar" -cd</code>.</p>
<h3>Working Directory</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>.</p>
<h3>JAR Location</h3>
<p>This is where the Chatty.jar is located and is used for loading libraries
that Chatty uses.</p>
<h3>Displaying Directories in Chatty</h3>
<p>You can use the <code>/dir</code> command in Chatty to output the settings
directory and the <code>/wdir</code> command for the working directory
(<code>/openDir</code> and <code>/openWdir</code> to open them in the standard filebrowser).
You can also check the settings dialog for the directory where the logs
are saved in and the directory where the sounds are loaded from.</p>
<h2><a name="files">Files</a></h2>
<h3>Write and read</h3>
<p>There are several files that Chatty creates/changes when you run/close it.</p>
<table class="files">
<tr>
<th>Type</th>
<th>Location</th>
<th>Files</th>
<th></th>
</tr>
<tr>
<td>Settings</td>
<td>&lt;settings&gt;</td>
<td>login, favoritesAndHistory, settings</td>
<td><a href="help.html#settingFiles">Setting Files</a></td>
</tr>
<tr>
<td>Debug Log</td>
<td>&lt;settings&gt;</td>
<td>debug.log, debug.log.x</td>
<td>Contains debug information from the last run</td>
</tr>
<tr>
<td>Chatlogs</td>
<td>&lt;settings&gt;/logs</td>
<td>&lt;channel&gt;.log</td>
<td>Chatlogs for every channel (if enabled)</td>
</tr>
<tr>
<td>Emoticons</td>
<td>&lt;settings&gt;</td>
<td>emoticons, emotesets, bttvemotes</td>
<td>Cached list of emoticons, emotesets, BTTV emotes (Cached for about one day)</td>
</tr>
<tr>
<td>Addressbook</td>
<td>&lt;settings&gt;</td>
<td>addressbook</td>
<td>List of names and associated categories</td>
</tr>
<tr>
<td>Backups</td>
<td>&lt;settings&gt;/logs</td>
<td>backup_&lt;number&gt;_&lt;orig_filename&gt;</td>
</tr>
</table>
<h3>Read-only</h3>
<p>Files that Chatty only reads but doesn't modify.</p>
<table class="files">
<tr>
<th>Type</th>
<th>Location</th>
<th>Files</th>
<th></th>
</tr>
<tr>
<td>Sounds</td>
<td>&lt;working&gt;/sounds</td>
<td>.wav files</td>
<td>Chatty loads the sounds from here</td>
</tr>
<tr>
<td>Images</td>
<td>&lt;working&gt;/img</td>
<td>.png files</td>
<td>Default location where images for custom usericons are loaded
from</td>
</tr>
<tr>
<td>JIntellitype</td>
<td>&lt;working&gt;</td>
<td>JIntellitype.dll</td>
<td>If you have a version of Chatty with Hotkey support</td>
</tr>
</table>
<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>
</body>
</html>

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>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,460 @@
<!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 a string to a
list of strings</li>
<li><code>/remove &lt;setting&gt; &lt;value&gt;</code> removes a string from a
list of strings</li>
</ul>
<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).</p>
<p>
<a href="#font">Font</a> |
<a href="#time">Time</a> |
<a href="#server">Server/Connection</a> |
<a href="#streamchat">Stream Chat</a> |
<a href="#streamhighlights">Stream Highlights</a> |
<a href="#debugging">Debugging</a> |
<a href="#bots">Bot Badges</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 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">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="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
!addStreamHighlight 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
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>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>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,141 @@
<!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>Sometimes there are channels that run on a special set of event chat
servers, so they are seperated from the channels you see when you join
<code>irc.twitch.tv</code>. This only applies to webchat (at the moment
at least), so often the chat you get connecting to <code>irc.twitch.tv</code>
is called "mobile chat", because the mobile apps apparently also don't
support event chat.</p>
<p>See this <a href="http://help.twitch.tv/customer/portal/questions/8152306-can-t-see-chat-of-some-channels-on-irc-">
Twitch Support Center entry</a> or <a href="http://twitchstatus.com/#chat">Twitchstatus.com</a> for an (unofficial) list
of servers.</p>
<p>What you have to do in Chatty to be able to get the
event chat instead of the "normal chat" that is only used by IRC and
mobile users, is connect to a different server. 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.</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>
</body>
</html>

42
help/0.8.1b/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,249 @@
<!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><a href="#known">Known Issues</a></li>
<li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
<li><a href="#jintellitype">Could not load JIntellitype.dll</a></li>
<li><a href="#livestreamer">Livestreamer won't run properly</a></li>
<li><a href="#timeout">People are shown as timed out in several channels at once</a></li>
<li><a href="#login">Can't connect because the login failed</a></li>
<li><a href="#font">Some characters in chat only show up as boxes / Fallback fonts</a></li>
<li><a href="#start">Chatty won't start</a></li>
<li><a href="#log">Debug log</a></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>If you experience a laggy interface, this can have several reasons. For
one some chat channels are very busy and depending on your computer, this
may not be easy to handle. Managing the userlist can cost a lot of
performance in large channels because of having to react to hundreds of
users joining or leaving at once. It can help to temporarily
<a href="help.html#ignoreJoinsParts">ignore joins/parts</a> in this case.</p>
<p>You may also 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="timeout">People are shown as timed out in several channels at once</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If a user is timed out in one channel, Chatty may show the timeouts in
other channels as well. This is because there is no channel associated with
timeouts or bans in Twitch Chat, so the program has to guess in which
channel the timeout occured. See also: <a href="help.html#channels">Joining more than one channel</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 open the Connect Dialog and choose <code>Configure 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>
<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>Check Association of .jar with Java (Windows)</h3>
<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>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. Open a commandline where
the <code>Chatty.jar</code> is located (Win7/8: Hold <kbd>Shift</kbd> while Right-Clicking to open
the context menu, click <code>Open command window here</code>) and enter
<code>java -jar Chatty.jar</code>.</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="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 <code>&lt;user_dir&gt;/.chatty/</code> (e.g.
<code>C:\Users\&lt;username&gt;\.chatty\</code>, if you
have Chatty running you can enter <code>/openDir</code> to open it or
<code>/dir</code> to output the path).</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>

1242
help/0.8.1b/help.html Normal file

File diff suppressed because it is too large Load Diff

130
help/0.8.1b/style.css Normal file
View File

@ -0,0 +1,130 @@
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;
}

BIN
help/0.8.1b/userdialog.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
help/0_4_overview_top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
help/followers.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

154
help/help-addressbook.html Normal file
View File

@ -0,0 +1,154 @@
<!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>
<p>
<a href="#editing">Editing Locally</a> (<a href="#commands">Commands</a>) |
<a href="#advanced">Advanced Usage</a> (<a href="#modcommands">Mod Commands</a>, <a href="#file">Change via file</a>)
</p>
<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>
</body>
</html>

98
help/help-admin.html Normal file
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,132 @@
<!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><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>

55
help/help-guide1.html Normal file
View File

@ -0,0 +1,55 @@
<!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. 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>
<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>

111
help/help-guide2.html Normal file
View File

@ -0,0 +1,111 @@
<!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 (<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>
<table class="loginlinks">
<tr>
<th></th>
<th>Chat</th>
<th>User read</th>
<th>Editor</th>
<th>Commercials</th>
<th>Subscribers</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/&scope=chat_login">Request new login</a></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/&scope=chat_login+user_read">Request new login</a></td>
<td>x</td>
<td>x</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/&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/&scope=chat_login+channel_editor+channel_commercial+user_read">Request new login</a></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/&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>
</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,42 @@
<!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, not sure about other OS.</p>
<p>You can create a shortcut for Chatty, which has some potential advantages (depending on what you need):</p>
<ul>
<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:</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>
<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,135 @@
<!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: Chatty directories and files</a></h1>
<p>
<a href="#directories">Directories</a> |
<a href="#files">Files</a> |
<a href="#backup">Backup</a>
</p>
<p>Learn what directories and files Chatty creates/uses.</p>
<h2><a name="directories">Directories</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 creating a shortcut and setting the
target to something like <code>javaw.exe -jar "D:\Chatty\Chatty.jar" -cd</code>.</p>
<h3>Working Directory</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>.</p>
<h3>JAR Location</h3>
<p>This is where the Chatty.jar is located and is used for loading libraries
that Chatty uses.</p>
<h3>Displaying Directories in Chatty</h3>
<p>You can use the <code>/dir</code> command in Chatty to output the settings
directory and the <code>/wdir</code> command for the working directory
(<code>/openDir</code> and <code>/openWdir</code> to open them in the standard filebrowser).
You can also check the settings dialog for the directory where the logs
are saved in and the directory where the sounds are loaded from.</p>
<h2><a name="files">Files</a></h2>
<h3>Write and read</h3>
<p>There are several files that Chatty creates/changes when you run/close it.</p>
<table class="files">
<tr>
<th>Type</th>
<th>Location</th>
<th>Files</th>
<th></th>
</tr>
<tr>
<td>Settings</td>
<td>&lt;settings&gt;</td>
<td>login, favoritesAndHistory, settings</td>
<td><a href="help.html#settingFiles">Setting Files</a></td>
</tr>
<tr>
<td>Debug Log</td>
<td>&lt;settings&gt;</td>
<td>debug.log, debug.log.x</td>
<td>Contains debug information from the last run</td>
</tr>
<tr>
<td>Chatlogs</td>
<td>&lt;settings&gt;/logs</td>
<td>&lt;channel&gt;.log</td>
<td>Chatlogs for every channel (if enabled)</td>
</tr>
<tr>
<td>Emoticons</td>
<td>&lt;settings&gt;</td>
<td>emoticons, emotesets, bttvemotes</td>
<td>Cached list of emoticons, emotesets, BTTV emotes (Cached for about one day)</td>
</tr>
<tr>
<td>Addressbook</td>
<td>&lt;settings&gt;</td>
<td>addressbook</td>
<td>List of names and associated categories</td>
</tr>
<tr>
<td>Backups</td>
<td>&lt;settings&gt;/logs</td>
<td>backup_&lt;number&gt;_&lt;orig_filename&gt;</td>
</tr>
</table>
<h3>Read-only</h3>
<p>Files that Chatty only reads but doesn't modify.</p>
<table class="files">
<tr>
<th>Type</th>
<th>Location</th>
<th>Files</th>
<th></th>
</tr>
<tr>
<td>Sounds</td>
<td>&lt;working&gt;/sounds</td>
<td>.wav files</td>
<td>Chatty loads the sounds from here</td>
</tr>
<tr>
<td>Images</td>
<td>&lt;working&gt;/img</td>
<td>.png files</td>
<td>Default location where images for custom usericons are loaded
from</td>
</tr>
<tr>
<td>JIntellitype</td>
<td>&lt;working&gt;</td>
<td>JIntellitype.dll</td>
<td>If you have a version of Chatty with Hotkey support</td>
</tr>
</table>
<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>
</body>
</html>

28
help/help-guide_icon.html Normal file
View File

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<title>Chatty - Change Usericons</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">Change Usericons</a></h1>
<p>If the Turbo Icon looks strange (or if you want to change other usericons as well), you can fix that by defining custom usericons.</p>
<h2>Get images you want to use</h2>
<p>Download/create the image you want to use. (<a href="http://imgur.com/a/tS6yu">New Twitch Icons</a>)</p>
<p>In general they should be 18x18 and in the <code>.png</code> format.</p>
<h2>Put images in the correct folder</h2>
<p>In Chatty, enter the command <code>/wdir</code> to see what your current working directory is (<code>/openWdir</code> to open it). Now in that directory, put the images
in the subfolder <code>/img</code>. So for example: <code>C:\Chatty\img\</code></p>
<h2>Configure Usericons in Chatty</h2>
<p>Go to <code>Main - Settings - Usericons</code> and check <code>Enable Custom Usericons</code>. Then press the <code>+</code> button and in the dialog that opens,
select <code>Turbo</code> as Type to replace the turbo icon (or select other types to replace the other icons). Select the correct image file and your are done (if the image files are not there, click on <code>Image Folder</code> and make sure
your files are in that folder, rescan if necessary).</p>
<img src="usericons.jpg" />
</body>
</html>

154
help/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>

1012
help/help-releases.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,460 @@
<!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 a string to a
list of strings</li>
<li><code>/remove &lt;setting&gt; &lt;value&gt;</code> removes a string from a
list of strings</li>
</ul>
<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).</p>
<p>
<a href="#font">Font</a> |
<a href="#time">Time</a> |
<a href="#server">Server/Connection</a> |
<a href="#streamchat">Stream Chat</a> |
<a href="#streamhighlights">Stream Highlights</a> |
<a href="#debugging">Debugging</a> |
<a href="#bots">Bot Badges</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 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">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="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
!addStreamHighlight 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
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>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>
</body>
</html>

1139
help/help-settings.html Normal file

File diff suppressed because it is too large Load Diff

141
help/help-short_guides.html Normal file
View File

@ -0,0 +1,141 @@
<!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>Sometimes there are channels that run on a special set of event chat
servers, so they are seperated from the channels you see when you join
<code>irc.twitch.tv</code>. This only applies to webchat (at the moment
at least), so often the chat you get connecting to <code>irc.twitch.tv</code>
is called "mobile chat", because the mobile apps apparently also don't
support event chat.</p>
<p>See this <a href="http://help.twitch.tv/customer/portal/questions/8152306-can-t-see-chat-of-some-channels-on-irc-">
Twitch Support Center entry</a> or <a href="http://twitchstatus.com/#chat">Twitchstatus.com</a> for an (unofficial) list
of servers.</p>
<p>What you have to do in Chatty to be able to get the
event chat instead of the "normal chat" that is only used by IRC and
mobile users, is connect to a different server. 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.</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>
</body>
</html>

42
help/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,249 @@
<!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><a href="#known">Known Issues</a></li>
<li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
<li><a href="#jintellitype">Could not load JIntellitype.dll</a></li>
<li><a href="#livestreamer">Livestreamer won't run properly</a></li>
<li><a href="#timeout">People are shown as timed out in several channels at once</a></li>
<li><a href="#login">Can't connect because the login failed</a></li>
<li><a href="#font">Some characters in chat only show up as boxes / Fallback fonts</a></li>
<li><a href="#start">Chatty won't start</a></li>
<li><a href="#log">Debug log</a></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>If you experience a laggy interface, this can have several reasons. For
one some chat channels are very busy and depending on your computer, this
may not be easy to handle. Managing the userlist can cost a lot of
performance in large channels because of having to react to hundreds of
users joining or leaving at once. It can help to temporarily
<a href="help.html#ignoreJoinsParts">ignore joins/parts</a> in this case.</p>
<p>You may also 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="timeout">People are shown as timed out in several channels at once</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<p>If a user is timed out in one channel, Chatty may show the timeouts in
other channels as well. This is because there is no channel associated with
timeouts or bans in Twitch Chat, so the program has to guess in which
channel the timeout occured. See also: <a href="help.html#channels">Joining more than one channel</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 open the Connect Dialog and choose <code>Configure 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>
<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>Check Association of .jar with Java (Windows)</h3>
<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>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. Open a commandline where
the <code>Chatty.jar</code> is located (Win7/8: Hold <kbd>Shift</kbd> while Right-Clicking to open
the context menu, click <code>Open command window here</code>) and enter
<code>java -jar Chatty.jar</code>.</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="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 <code>&lt;user_dir&gt;/.chatty/</code> (e.g.
<code>C:\Users\&lt;username&gt;\.chatty\</code>, if you
have Chatty running you can enter <code>/openDir</code> to open it or
<code>/dir</code> to output the path).</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>

1242
help/help.html Normal file

File diff suppressed because it is too large Load Diff

130
help/style.css Normal file
View File

@ -0,0 +1,130 @@
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;
}

BIN
help/userdialog.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
help/usericons.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

105
humanized_time_span.js Normal file
View File

@ -0,0 +1,105 @@
// Copyright (C) 2011 by Will Tomlins
//
// Github profile: http://github.com/layam
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
function humanized_time_span(date, ref_date, date_formats, time_units) {
//Date Formats must be be ordered smallest -> largest and must end in a format with ceiling of null
date_formats = date_formats || {
past: [
{ ceiling: 60, text: "$seconds seconds ago" },
{ ceiling: 3600, text: "$minutes minutes ago" },
{ ceiling: 86400, text: "$hours hours ago" },
{ ceiling: 2629744, text: "$days days ago" },
{ ceiling: 31556926, text: "$months months ago" },
{ ceiling: null, text: "$years years ago" }
],
future: [
{ ceiling: 60, text: "in $seconds seconds" },
{ ceiling: 3600, text: "in $minutes minutes" },
{ ceiling: 86400, text: "in $hours hours" },
{ ceiling: 2629744, text: "in $days days" },
{ ceiling: 31556926, text: "in $months months" },
{ ceiling: null, text: "in $years years" }
]
};
//Time units must be be ordered largest -> smallest
time_units = time_units || [
[31556926, 'years'],
[2629744, 'months'],
[86400, 'days'],
[3600, 'hours'],
[60, 'minutes'],
[1, 'seconds']
];
date = new Date(date);
ref_date = ref_date ? new Date(ref_date) : new Date();
var seconds_difference = (ref_date - date) / 1000;
var tense = 'past';
if (seconds_difference < 0) {
tense = 'future';
seconds_difference = 0-seconds_difference;
}
function get_format() {
for (var i=0; i<date_formats[tense].length; i++) {
if (date_formats[tense][i].ceiling == null || seconds_difference <= date_formats[tense][i].ceiling) {
return date_formats[tense][i];
}
}
return null;
}
function get_time_breakdown() {
var seconds = seconds_difference;
var breakdown = {};
for(var i=0; i<time_units.length; i++) {
var occurences_of_unit = Math.floor(seconds / time_units[i][0]);
seconds = seconds - (time_units[i][0] * occurences_of_unit);
breakdown[time_units[i][1]] = occurences_of_unit;
}
return breakdown;
}
function render_date(date_format) {
var breakdown = get_time_breakdown();
var time_ago_text = date_format.text.replace(/\$(\w+)/g, function() {
return breakdown[arguments[1]];
});
return depluralize_time_ago_text(time_ago_text, breakdown);
}
function depluralize_time_ago_text(time_ago_text, breakdown) {
for(var i in breakdown) {
if (breakdown[i] == 1) {
var regexp = new RegExp("\\b"+i+"\\b");
time_ago_text = time_ago_text.replace(regexp, function() {
return arguments[0].replace(/s\b/g, '');
});
}
}
return time_ago_text;
}
return render_date(get_format());
}

BIN
icons2.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
icons2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -74,7 +74,7 @@ function loaded() {
text-align: center; text-align: center;
margin-top: 10px; margin-top: 10px;
} }
#sourceforge { #project {
float: right; float: right;
padding-bottom: 10px; padding-bottom: 10px;
} }
@ -83,8 +83,8 @@ function loaded() {
padding-right: 25px; padding-right: 25px;
} }
#youtube { #youtube {
float:right; float:right;
padding-right: 25px; padding-right: 25px;
} }
#flattr { #flattr {
float:left; float:left;
@ -115,7 +115,7 @@ function loaded() {
<body onload="loaded()"> <body onload="loaded()">
<div id="top"> <div id="top">
<div id="flattr"><a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://getchatty.sourceforge.net"></a></div> <div id="flattr"><a class="FlattrButton" style="display:none;" rev="flattr;button:compact;" href="http://getchatty.sourceforge.net"></a></div>
<div id="sourceforge"><a href="https://sourceforge.net/projects/getchatty/">SourceForge.net Project Page</a></div> <div id="project"><a href="https://github.com/chatty/chatty">GitHub</a></div>
<div id="youtube"><a href="https://youtube.com/chattyclient">YouTube Channel</a></div> <div id="youtube"><a href="https://youtube.com/chattyclient">YouTube Channel</a></div>
<div id="twitter"><a href="https://twitter.com/ChattyClient"><img src="twitter.png" /></a></div> <div id="twitter"><a href="https://twitter.com/ChattyClient"><img src="twitter.png" /></a></div>
</div> </div>
@ -197,8 +197,8 @@ function loaded() {
<p>Extract the .zip into a folder of your choice and start Chatty.jar.</p> <p>Extract the .zip into a folder of your choice and start Chatty.jar.</p>
<p>When you start Chatty the Connect Dialog should come up. Click <code>Create login..</code> and <code>Request login data</code> and follow the instructions to authorize Chatty to connect to chat for you. There is also a short <p>When you start Chatty the Connect Dialog should come up. Click <code>Create login..</code> and <code>Request login data</code> and follow the instructions to authorize Chatty to connect to chat for you. There is also a short
<a href="help-getting-started.html"><strong>Getting Started Guide</strong></a>.</p> <a href="help/help-getting-started.html"><strong>Getting Started Guide</strong></a>.</p>
<p>There is some <a href="help.html">help</a> available (you can find the same in the program itself). There is also a <a href="changes.txt">changelog</a>.</p> <p>There is some <a href="help/help.html">help</a> available (you can find the same in the program itself). There is also a <a href="changes.txt">changelog</a>.</p>
<p>You can use <a href="Chatty_banner_320px.png">this banner</a> if you like Chatty and want to promote it. Just link to <code>http://getchatty.sourceforge.net</code> please. :)</p> <p>You can use <a href="Chatty_banner_320px.png">this banner</a> if you like Chatty and want to promote it. Just link to <code>http://getchatty.sourceforge.net</code> please. :)</p>
<h2 id="bugs">Feedback (Feature requests, Bug reports)</h2> <h2 id="bugs">Feedback (Feature requests, Bug reports)</h2>
@ -221,11 +221,11 @@ function loaded() {
<dd>Chatty provides a different way of using Twitch Chat and has a lot of features you may find useful.</dd> <dd>Chatty provides a different way of using Twitch Chat and has a lot of features you may find useful.</dd>
<dt>Does Chatty support Twitch Group Chat?</dt> <dt>Does Chatty support Twitch Group Chat?</dt>
<dd>No. However, you can manually connect to Group Chat by changing the server/port to connect to (you can change it in the Settings under Advanced, use the <a href="help.html#settings">'server' and 'port' <dd>No. However, you can manually connect to Group Chat by changing the server/port to connect to (you can change it in the Settings under Advanced, use the <a href="help/help.html#settings">'server' and 'port'
settings</a>, the <a href="help.html#commands">/server</a> command or <a href="help.html#launch">commandline parameters</a>) and looking up the channel name yourself settings</a>, the <a href="help/help.html#commands">/server</a> command or <a href="help/help.html#launch">commandline parameters</a>) and looking up the channel name yourself
(you can use <a href="http://blog.bashtech.net/twitch-group-chat-irc/">this blogpost</a> for help on that). There are a few drawbacks: Since Chatty can currently only (you can use <a href="http://blog.bashtech.net/twitch-group-chat-irc/">this blogpost</a> for help on that). There are a few drawbacks: Since Chatty can currently only
connect to one server at a time, you would have to run more than one instance if you want to use regular Twitch Chat at the same connect to one server at a time, you would have to run more than one instance if you want to use regular Twitch Chat at the same
time. Use <a href="help-guide1.html">this guide</a> in the help for more information. It also wouldn't recognize the channel as a group chat channel, so some stuff time. Use <a href="help/help-guide1.html">this guide</a> in the help for more information. It also wouldn't recognize the channel as a group chat channel, so some stuff
might not work correctly.</dd> might not work correctly.</dd>
<dt>Is Group Chat support planned?</dt> <dt>Is Group Chat support planned?</dt>
@ -241,13 +241,13 @@ function loaded() {
<dd>Sometimes the Twitch API will return a stream as offline, even though it isn't. Chatty checks the API twice before reporting a stream as offline, but if both checks return false data, then a false offline report will happen.</dd> <dd>Sometimes the Twitch API will return a stream as offline, even though it isn't. Chatty checks the API twice before reporting a stream as offline, but if both checks return false data, then a false offline report will happen.</dd>
<dt>Why does the userlist only contain users that send a message?</dt> <dt>Why does the userlist only contain users that send a message?</dt>
<dd>Check what Twitch Client Version you have set under <code>Settings - Advanced</code>. Learn more about what that does in the <a href="help-settings.html#Advanced-TC">Settings Help</a>. Otherwise this may just be Twitch not sending the userlist, which can sometimes happen (especially on larger channels).</dd> <dd>Check what Twitch Client Version you have set under <code>Settings - Advanced</code>. Learn more about what that does in the <a href="help/help-settings.html#Advanced-TC">Settings Help</a>. Otherwise this may just be Twitch not sending the userlist, which can sometimes happen (especially on larger channels).</dd>
<dt>Why do I see much less messages in Chatty compared to webchat?</dt> <dt>Why do I see much less messages in Chatty compared to webchat?</dt>
<dd>If you receive fewer/not the same messages on a particular channel compared to webchat, then webchat is probably using the Event Chat servers for that channel. They are a seperate group from servers than the normal ones you get when connecting to <code>irc.twitch.tv</code>. See: <a href="help-short_guides.html#eventchat">Join Eventchat</a>.</dd> <dd>If you receive fewer/not the same messages on a particular channel compared to webchat, then webchat is probably using the Event Chat servers for that channel. They are a seperate group from servers than the normal ones you get when connecting to <code>irc.twitch.tv</code>. See: <a href="help/help-short_guides.html#eventchat">Join Eventchat</a>.</dd>
<dt>Is there any help/documentation?</dt> <dt>Is there any help/documentation?</dt>
<dd><a href="help.html">Yes.</a></dd> <dd><a href="help/help.html">Yes.</a></dd>
</dl> </dl>
</div> </div>
<div id="bottom"> <div id="bottom">

BIN
twitter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

1
version.txt Normal file
View File

@ -0,0 +1 @@
0.8 Implemented Twitch Chat updates, new BTTV/FFZ APIs, better TAB completion, and much more..