Main | Messages | Emoticons | Usericons | Usercolors | Highlight | Ignore | Sounds | Notifications | Log to file | Window | Commands | Other | Advanced | Hotkeys | Completion
This page details some of the settings in the Settings Dialog
(Main Menu - Settings
). Also try hovering over settings
in the settings dialog itself, sometimes you can get a tooltip with some
additional information. You can open this help in the settings dialog by
clicking on the "Help" link on the bottom left.
Change font and font size by clicking on Select font
.
You can select what will happen when you start Chatty:
This allows you to define how timeouts or bans are displayed in Chatty.
<message deleted>
.<name> has been banned from talking
once the timeout
or ban is issued.<name> has been banned from talking (3)
.
Ban messages are not combined if a new message from the banned user was
received in the meantime./set timestamp <format>
. The format can be anything
specified by the Java
SimpleDateFormat
class.Names in Twitch Chat are send all-lowercase by default, however there is an IRCv3 tag send with each message with the display name which Chatty can use to show correct capitalization. You have the following settings:
The previous function that requested correctly capitalized names from the
Twitch API has been removed. This also means that the associated commands
(/refreshCase
, /setCase
and /getCase
)
have been removed as well. If you want to customize the capitalization of someone else's
name locally, you can now use the Custom Names feature.
The names in the userlist will not be correctly capitalized until Chatty has
received a message from that user during this session.
Emotes added to this list will not be turned into an image, but instead are just shown as their emote code.
The code added to the list has to be the
exact code used internally to find the emote in the messages. Usually this is simply
the emote code as you would type it in chat, but some emotes have a special syntax
that you might not even know (e.g. :)
has \:-?\)
as actual code).
It is recommended to use the emote context menu (right-click on an emote in chat) to
ignore emotes, because then the correct code will automatically be added to
the list.
botNames
setting, the BTTV API and the FFZ API.
By adding entries to the table you can either replace the default icons (Mod, Turbo, Subscriber, ..)
or add additional icons for certain users or addressbook categories. The order
of the entries can matter, they are matched from the top, so if more than one
icon matches that is supposed to replace a default icon, then the first one
is used. If more than one Addon
icon matches, then all are used
(unless you use the $stop
restriction, see section Restriction below).
You have the following options when you add/edit an item:
Moderator, Subscriber, Turbo, ..
) or if
it should be an additional icon added after the default ones (Addon
).
Currently, you can have as many Addon-Icons as you want and they are
all displayed at once (if they match the requirements of course).serenity
) or an
addressbook category (e.g. $cat:vip
, which would refer to
the category vip
). If you keep this empty, then no restriction
is applied.Addon
carries an
implicit restriction, since e.g. the default moderator icons are only
displayed if the user is a moderator.Addon
icons:
$stop
means if this icon matches (and is thus used),
it stops searching for further Addon
icons. So
it's not really a restriction for this icon, but
rather a restriction that affects the following icons and
can be used to limit the number of Addon
icons.$first
puts this Addon
icon before
the regular icons. The $stop
restriction only
applies to one group of Addon
icons separately
(before or after the regular icons).$cat:streamer $first
, lotsofs
!#channel
) to have
it displayed in all channels except the one you specified. If you keep
this empty, then it will be displayed in all channels..png
and
should usually be about 18x18 pixels (because that is the size of the
default icons). The image files are looked for in the /img
subfolder of the working directory (similiar to the /sounds
folder). You can click on Image Folder
to show information
about it and rescan it to update the list of images in the dropdown menu.$ffz
which will
make it use a FrankerFaceZ icon for that, if available (this only really
applies if you use the Type Moderator
and want to
replace the moderator icon in all channels execept the ones that have a
FFZ Mod Icon).http
is interpreted as URL.This allows you to specify your own usercolors for either certain types of users (mod, subscriber etc.) or specific usernames. There are special items that you can use to specify that (to specify a username, just enter it without anything else):
$mod
- Moderators$sub
- Subscribers$turbo
- Turbo Users$admin
- Admins$staff
- Staff members$all
- All users, this can be used to specify a default
color (should be put at the very end of the list)$broadcaster
- Broadcasters$cat:<category>
- A category from the Addressbook#<color code>
- A Html color code, e.g. #0000FF
for blue, which can
be used to replace colors$color:<color code or name>
- A Html color code or name (names
as hardcoded into Chatty, may be different from other programs), e.g. $color:Blue
for blue,
which can be used to replace colorsThe order of the
entries in the table matters, because it is checked from the top. If you
were to put the $all
item at the very top, any items below
wouldn't do anything, because the first item would already match all users.
This e.g. allows you to specify what color a user should have when he is
both a subscriber and a moderator (by either putting $mod
or $sub
first).
If an item is red and has "(error)" appended (e.g. "$color.Blue (error)"), this means the item is invalid. In the example this is because a point has been used instead of a colon, so "$color:Blue" would be correct. This can also happen if it doesn't recognize the given color or the item is just in an invalid format.
user:
prefix with your own name.Add items to the list to make a message highlighted if any one of them match the message. The following two types of prefixes can be used to change highlighting behaviour per item.
By default, matching is done case-insensitive and when the word or phrase appears anywhere in the message. However, you can add the following prefixes in front of the text to change this matching behaviour. You can only use one of these prefixes per item, because all text following the prefix is interpreted as text to match.
cs:
makes it case-sensitive, so cs:test
matches test
but not Test
.w:
matches at word boundaries, e.g. w:anna
will match anna
or Anna:
but not
Hannah
or annah
. (Is actually just a
shortcut for a special regex, so special regex characters will work.)wcs:
is the same as w:
, but case-sensitive.start:
to match at the start, so start:!bet
will
match messages starting with !bet
.re:
to use a regular expression, e.g. re:(?i).*\bGTA ?[V5]\b.*
to match GTA5, GTA 5, GTA V, gta5, .. (as a word) anywhere in the message. Note
that the regex always tries to match the entire message, so you have to
add the appropriate wildcards to match parts anywhere in the message.The following prefixes mostly influence which messages are matched, however they don't change the matching of the text itself, but instead provide other information for the highlight system. They can be placed in front of the Text Matching Prefixes (or the text if you don't have any other prefixes) and you can even use more than one per item. These prefixes have to be seperated from eachother and the text by a space.
user:
to specifiy one exact username (case-insensitive)
which should highlight only if this user send the message, doesn't
search in the message itself.cat:
to specify a category the user who send the message
should be in (as defined in the Addressbook).!cat:
to specify a category the user who send the message
can NOT be in.chan:
to specify one or more channels the message has
to be send in to match (several channels are specified as comma-seperated
list, without spaces).!chan:
to specify one or more channels the message must
NOT be send in to match.chanCat:
to specify one category the channel the message
was send in has to be in (as defined in the Addressbook
with the name of the channel, including leading #).!chanCat:
to specify one category the channel the message
was send in can NOT be in.status:
to specify that the user has to have one of the
given status codes (case-sensitive):
m
Moderators
Subscribera
Adminf
Staffb
Broadcastert
Turbo Userg
Global Moderatorr
Bot as in Robot (depending on what the FFZ/BTTV APIs provides (if
enabled) and values in the botNames setting)M
User with any kind of moderator/special powers
(so Broadcaster/Moderator/Global Moderator/Admin/Staff combined)status:st
matches
all subscriber and turbo users.!status:
to specify that the user must NOT have any of
the given status codes (see status:
for codes). For example:
!status:stM
matches all 'normal' users that have no
badge by default (NOT a Subscriber, Turbo User or any kind of Moderator).color:
to specify a color other than the default one
for displaying this highlight. If you have items with a custom
color defined, which match something that might also be matched
by other items (with another color or custom color)
then the order of items is important so it displays the desired color.
Items on the top are matched first, so move items up that should take
precedence. For example test
and
color:blue test2
. If test
is on the top
it will never get to the blue one, because test
will
always match when test2
would match as well.config:
to specify one or more options (seperated
by comma) that changes the behaviour):
silent
- Disable sounds for this item!notify
- Disable notifications for this iteminfo
- This item applies to info messages instead
of regular user messages (works only for Ignoring messages at the
moment)word1 word2
word1 word2
, Word1 word2
anywhere in the messageword1
or only word2
anywhere in the messagew:anna
Anna?
, Anna :D
, Anna,
Wanna?
, Hannah
, annah
user:joshimuz cs:Hello
Hello
anywhere in the message, if the message was sent
by the user named joshimuz
hello
cs:Hello user:joshimuz
Hello user:joshimuz
anywhere in the messageHello
, does NOT matter who send the messagecs:abc re:\w+
abc re:\w+
anywhere in the messageabc test
, but also NOT Abc re:\w+
re:abc \w+
abc test
aabc test
re:.*abc \w+.*
abc test
anywhere in the messagecolor:yellow wcs:S
S:
, Hello S!
and makes the message
display in yellow colors:
, Hello s!
, SSSS
, ssss
chan:lotsofs,joshimuz cs:Hello
Hello
, but only if in
the channel #lotsofs
or #joshimuz
status:s chanCat:vip start:!test
!test
send by
subscribers of the channel, but only if the channel is in the
Addressbook category vip
(e.g.
/ab add #joshimuz vip
, notice the leading #
)Ignores chat messages, either because they match the specified text or -
using prefix - other properties like which user wrote the message. Ignored
messages get added to a special dialog that can be opened via View - Ignored
.
The matching of messages works the same as the Highlights system, please see that help for information on that. For quick reference here just a few examples:
user:name
name
in all channelsuser:name chan:tirean,gocnak
name
in channels #tirean
and #gocnak
config:info subscribed to
x has subscribed to y
info messages that
you get when someone subscribes in the channel that is being hostedcat:ignore !chan:lotsofs,joshimuz
ignore
in all channels,
except #lotsofs
and #joshimuz
chan:joshimuz re:!bet.*
!bet
, but only in #joshimuz
!status:smb chanCat:subonly
subonly
(e.g. /ab add #joshimuz subonly
,
notice the leading #
)Ignored
dialog)You can enable or disable all sounds here. Sounds are searched in the
displayed folder, which is the current working directory. Any valid sound
files in the folder should be selectable as a sound to be played. If you
added or removed files, you may have to use Rescan folder
to
make the files show up in the list. You can open the folder in your standard
file browser from here to add files to it more quickly.
You can specify requirements, soundfile, volume and delay for different types of events:
You can set a delay (seconds) so that the same sound won't be played twice during the set number of seconds. So if e.g. 3 highlighted messages come in within 10 seconds and the delay is set to 15 seconds, only one sound will be played.
Each sound has different options for when the sound should be played. See the Notification Settings for help on the options.
You can show notifications for two kinds of things:
For both these you can select separately if and when they are shown:
In addition, the option Don't notify about "Stream offline" allows you to never show when a stream changes status to offline, so you will only be notified about streams going live or changing title/game.
Select here whether to use the Chatty Notifications or the default System Tray Notifications. This settings DOES NOT enable or disable notifications altogether, just switch between the types.
If you have Chatty Notifications selected, you can change some more options:
auto
means
it's on the same screen as the Chatty window)Enable this to make Chatty get a list of your followed streams regulary so it can display notifications if their status changes. This simpy allows Chatty to know about your followed streams, so notifications aren't the only advantage. It also allows it to record the viewer count and status history of followed live streams as long as Chatty is running.
If you enable logging, chat messages (and more if enabled) will be written into a seperate textfile for each channel.
You can specify which channels should be logged:
Normal chat messages are always logged, however you can log additional information:
[12:32:25] BAN: name, name2
[12:32:25] MOD: name1, name2
[12:32:25] JOIN: name1, name2
[21:06:21] Viewerstats (21:03-21:06): avg:28.612 min:28.432 max:28.887 [3/28.519-87+455_]
).[15:23:58] VIEWERS: 12521
Main - Exit
or the tray icon
context menu.Custom commands allow you to specify aliases for anything you could also enter directly into the inputbox (like chat messages or regular commands), with the exception of other custom commands, which is a limitation implemented to prevent infinite loops. Custom commands you add should be in the following format:
/<commandName> <what the command should do>
Everything until the first space is the name of the comand, and everything after the first space is the text of the command. For example:
/hello Hello World!
If you added that to the custom commands and enter /hello
in the inputbox, then it would send Hello World!
, just as
if you would have written it yourself and pressed Enter.
You can also specify parameters in the command text, which will be replaced when you execute the custom command. For example:
/permit !permit $$1
When you enter /permit name
, then it will replace $$1
with the first word after the command, which in this case would be
name
, making the actually send text !permit name
.
This is the syntax for specifying parameters (word in this context means anything seperated by a space):
$1, $2, $3
$1-
$2-, $3-
etc.$$1
$$2, $$3-
is also possible\$1-
$
) by prepending a backslash
\
, which means this won't be interpreted as a parameter
and not be replaced\
, you can escape the
backslash itself, for example \\$1-
will be replaced
(leaving one backslash in front of the replaced parameter)In a context other than entering the command in the inputbox, there are some predefined parameters. For example if you add a command as a context menu entry (see next section), then clicking that entry will execute the command while automatically adding an appropriate parameter.
So you can for example add just /Permit
to the menu, but
the custom command /permit !permit $$1
will actually be
executed as !permit <name of the user>
.
Context | Parameters |
---|---|
All | $chan - the currently active channel (without leading #) |
User Context Menu | $1 - name of the user |
User Dialog | $1 - name of the user |
Channel Context menu | $1 - name of the currently active channel (without leading #) |
Hotkey | $1 - the currently selected user (if present) |
In addition, there is an implicit channel context, which means channel-aware
commands like /ban
are executed in the appropriate channel.
You can add custom commands and regular commands to the User Context Menu
(when you right-click
on a user in chat), the Channel Context Menu
(when you right-click anywhere on the chat
that is not otherwise linked) and customize User Dialog Buttons
(Custom Commands
and Timeout Buttons).
Commands can be added in the following format:
/<commandName1>, /<commandName2>
For example:
/Slap, /Permit
Which means the command with the name slap
will be added
first, then permit
after that. You can use spaces,
linebreaks and/or commas as seperators between commands.
This is the syntax for specifying commands in the Context Menus/User Dialog:
/Slap /Permit
or Slap, Permit
or Slap Permit
/
, then the name
(without parameters) and space, linebreak or comma to seperate to the next command./
in front.//Slap
//
will put the command
in the special submenu More..
(for Context Menus) or
in a second line of buttons (for the User Dialog).| Slap
or |//Slap
|
(vertical bar) will add a seperator before the
menu item for the next command.
The |
doesn't have to be directly in front of the command,
it simply applies to the following command./Set_color
is displayed as Set color
In addition, you can define for the User Dialog Buttons:
5, 2m, 10m, 24h
s
- seconds,
m
- minutes, h
- hours, d
- days.120s, 120
is displayed as 120s
and 2m
/Ban[B], /Unban[U], 2s[P]
+
) can
be used instead (which will be replaced with a space automatically)./Slap[NUMPAD1|Np1], /Permit[NUMPAD2|]
|
) after the shortcut will use
the text after it up to the closing bracket as label for the shortcut on the button (no
spaces are allowed). If you don't specify any text, then no label is
used for that shortcut.nokeylabels
You can let Chatty write information (title, game, viewercount) of a
certain stream to a file. The file will be written to the subfolder exported
of the settings directory
(enter /dir
to find out where that is). Stream information is
only written if Chatty gets that data, so for it to work properly you need
to currently have the channel of that stream open in Chatty. (When you change
the setting, data will be requested once for testing, but you have to be in
the channel for it to be updated regulary.)
To save stream information to a file, you have to define it in the setting. Each line represents one stream/file and the content to write into the file. The format for each line is:
<streamname> <filename> [online/offline] <content>
The optional parameter online/offline
defines whether to
write the given content to the file when the stream is online or offline. So
you could for example define one line for online, which writes the viewercount
and another for offline which writes "Offline" or maybe no content at all, which clears the file.
If you only define one for online, then
the file is not written if the stream is offline, so the previous info will
stay in there. If you ommit this parameter, then online is assumed.
The following codes in the content will be replaced with the appropriate data:
%title
- The title of the stream%game
- The game of the stream%viewers
- The current viewercountExample which will write two files (if joined to #joshimuz):
joshimuz title.txt %title (%viewers Viewers)
joshimuz title.txt offline Stream offline
joshimuz game.txt %game
joshimuz game.txt offline
If the stream is online, it writes the title and viewercount to title.txt
and the game to game.txt
.
If the stream is offline it writes "Stream offline" to title.txt
and empties
game.txt
.
These settings should only be changed if you know what you're doing. You can however reset any setting to the default by either deleting the settings file or using setting commands.
6667,80
)The values of these settings are used when connecting, unless the commandline
parameters -server
and/or -port
are used,
then the value that is given there is used instead (without it being shown
here). You should know if you set a server or port with a commandline
parameter, but you can also check that by using /get server
and /get port
.
The Twitch Client Version setting has been removed since Twitch Chat was switched over to IRCv3 tags and commands. It optionally also contains joins/parts/userlist.
If this setting is enabled, the IRCv3 capability that enables joins/parts is send on connect. This doesn't mean you have to show joins/parts in chat, it just means joins/parts are received in the background to maintain the userlist.
You can add hotkeys for certain actions. In general, there are the following types of hotkeys:
With the Enable global hotkeys setting you
can enable/disable the currently defined global hotkeys if your
Chatty version supports global hotkeys. It does not do
anything on it's own, it just toggles global hotkeys you defined
on and off, in case you only need them sometimes and they
interfer with other programs you use. You can also toggle that
setting in the main menu under Extra - Options
or
use setting commands to change the globalHotkeysEnabled
setting directly.
If a dialog pops up that tells you that global hotkeys have not been properly initialized, check out the Troubleshooting page.
When adding or changing a hotkey you have the following options:
Custom Command
,
you have to enter the command to perform in the field below
(just the name of the command, see Commands).50
will execute the
action only once per 5 seconds, even if you keep the hotkey
pressed. This can be useful for actions you normally would
only want to execute once (e.g. running a commercial,
sending a message to chat) and
that you don't want to spam by accident.TAB Completion allows you to write the beginning characters of a nickname in chat and then press TAB to complete it. To learn how to use TAB Completion check out the general help.
Custom Completion allows you to add terms and their completion, allowing you to not only complete names in chat (TAB) or emotes (Shift-TAB) but also custom stuff you added to the list by prepending the term with a point and using Shift-TAB.
Example: Add chatty
as Key and
http://chatty.github.io
as Value
and then in the inputbox type .chatty
(notice the dot in front) and press
Shift-TAB to complete it to the URL.
Custom Completion items can only have one completion, so you
can't have .chatty
complete to several things
as it could be the case with a nickname.
Besides the Settings Dialog, you can also use the
/customCompletion
command to modify custom
completion items:
/customCompletion add <item> <value>
- Add an item/customCompletion set <item> <value>
- Change an item that already exists/customCompletion remove <item>
- Remove an itemRemember that you can also use TAB Completion for commands. Kappab