Setting Commands

Commands | Settings

There are a couple of commands that allow you to change settings from the chat inputbox. (You should probably roughly know what you're doing before using these.)

Commands [back to menu]

/set <setting> <value>
Changes the value of a setting.
For Boolean settings you can use true, 1 or on to enable the setting, ! to toggle it and any other value to disable it.
Can be used to set the value of a key of a Map setting (for example /set lafCustomTheme selectionBackgroundColor 255 180 0).
For List settings it clears existing items and only sets a single item, even if the value contains commas. Use /setList to set several items or /add to add a single item.
The /set2 command works the same, but in case of Map settings omits outputting all values of the Map.
/get <setting>
Shows the current value of a setting.
For Map settings /get <setting> <key> can be used to get the value of a specific key only.
/reset <setting>
Resets the setting to the default (hard-coded) value.
/clearsetting <setting>
Sets String (text) settings to an empty String. Removes all entries from List or Map settings.
/setSwitch <setting> <value>,<value2>
Like /set, but it switches between two or more values.
/setList <setting> <value>,<value2>
For List settings. Clears the setting and sets the given values as separate items.
/add <setting> <value>
Adds an item to a List setting.
The /add2 command works the same, but omits outputting all values of the List.
/addUnique <setting> <value>
Adds an item to a List setting if it hasn't already been added.
The /addUnique2 command works the same, but omits outputting all values of the List.
/remove <setting> <value>
Removes an item from a List setting or removes a key (and the associated value) from a Map setting.
The /remove2 command works the same, but omits outputting all values of the setting.

Tip: You can use TAB Completion for setting names when using it behind a setting command.

Settings [back to menu]

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.

Some settings are not available in the Settings Dialog and can only be changed via commands (and sometimes also commandline options). Settings with a lighter color can't (or are not recommended to) be changed via setting commands, but are added to the list because their value can be viewed with /get.

Look and Feel | Font | Time | Server/Connection | Chat | Window | Stream Chat | Stream Highlights | Debugging | Bot Badges | Copy Messages | Open URL Command

Setting Type Values Default Description
dontSaveSettings Boolean false Don't save settings when Chatty is closed (-ds commandline option).
timeoutButtons String See Command Settings Help too long Buttons in the Userinfo dialog (not only timeout buttons)
userContextMenu empty Custom entries in the User Context Menu
channelContextMenu empty Custom entries in the Channel Context Menu
twitchnotifyAsInfo Boolean true Show messages from user "twitchnotify" as info messages. Turn off to show as regular message, so you can e.g. highlight it.
backupDelay Integer Number of days 1 How many days to wait between a Backup
backupCount Integer Number of backups 5 How many backups to rotate through
hotkeys List Cannot be edited by command The hotkeys that are currently defined
globalHotkeysEnabled Boolean true Enable global hotkeys that are defined in the settings. Disable this to temporarily turn off the global hotkeys you defined.
imageCache Boolean true Whether images (emotes, usericons) are cached in local files.

Look and Feel

Setting Type Values Default Description
laf String Look&Feel code default Look&Feel code used by Chatty (can be set in the Settings Dialog), although if starting with : you can directly set a Look&Feel class name, for example :javax.swing.plaf.metal.MetalLookAndFeel.
lafTheme String Look&Feel theme code Default Look&Feel theme code used by Chatty (can be set in the Settings Dialog), mostly to change the global font size.
lafCustomTheme Map Theme properties empty This setting can be used to directly set your own JTattoo Theme properties.

Note: You may need to restart Chatty for Look and Feel settings to take full effect.

Font

Setting Type Values Default Description
font String Font name, e.g. Arial or Arial Bold Consolas The font used for the chat
fontSize Integer Font size, e.g. 14 14 The font size used for the chat
lineSpacing Integer Numbers between -1 and 10 probably make the most sense. 3 The space between chatlines
inputFont String Font name and size, as understood by Font.decode() Dialog 14 The font for the chat input box (should only be set to Java logical fonts like Dialog or Monospaced, otherwise fallback fonts in chat may not work correctly*)
dialogFontSize Integer Font size or -1 to keep default -1 Setting to customize the font size of dialogs, currently experimentel and only for User Info Dialog.

* 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 add your own fallback fonts 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).

Time Dr. Freeman..

Setting Type Values Default Description
timestamp String Format as understood by SimpleDateFormat or off [HH:mm] The timestamp used for all lines in chat
timestampTimezone String As understood by Timezone.getTimeZone() e.g. GMT+2 or PST empty The timezone used for the timestamp
logTimestamp String Format as understood by SimpleDateFormat or off [HH:mm:ss] The timestamp used for all lines in the chatlog files

Server/Connection Settings

Setting Type Values Default Description
serverDefault String The server address, host or IP irc.twitch.tv Default server to connect to, which can be changed in the Settings Dialog and is saved between sessions
portDefault String One or more ports, separated by comma 6667,80 Default port to connect to, which can be changed in the Settings Dialog and is saved between sessions
server String The server address, host or IP empty If set, overrides the defaultServer, can be set by commandline options, not saved in between sessions
port String One or more ports, separated by comma empty If set, overrides the defaultPort, can be set by commandline options, not saved in between sessions
maxReconnectionAttempts Integer How many times Chatty will attempt to reconnect when connecting fails 40 You can set a negative value (for example -1) to have no limit on the number of reconnection attempts. Requires a restart of Chatty after changing to take any effect.
username String Your username empty Public part of the Login data to login into chat
token String OAuth token empty Secret part of the Login data to authorize with Twitch, don't show this to anyone. You shouldn't change this directly, but use the /changetoken command instead when manually setting the token.
spamProtection String messages/seconds, e.g. 10/20 18/30 How many messages Chatty allows you to send to the server in the given time, to prevent a ban from chat
membershipEnabled Boolean true Refers to the twitch.tv/membership 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)

Chat

Setting Type Values Default Description
pauseChatOnMouseMove Boolean false Enables the Pause Chat feature
pauseChatOnMouseMoveCtrlRequired Boolean false Require Ctrl to be pressed to start pausing chat
commandOnCtrlClick String Command to run (single word interpreted as command name, otherwise anonymous command) empty The command to run when clicking on a user while holding Ctrl

Window

Setting Type Values Default Description
windows Map Cannot be edited by command The windows/dialogs positions/sizes as they where loaded when you started Chatty (NOT necessarily the current ones).
tabOrder String normal, alphabetical normal How tabs are added (in the order they are added or alphabetical).
tabsMwheelScrolling Boolean false Scroll through tabs with mousewheel.
tabsMwheelScrollingAnywhere Boolean false Allow scrolling through tabs with mousewheel everywhere on the tabpane where nothing else can be scrolled (mainly the inputbox).
icons List[String] Path to an image file (can be relative to working directory) empty Replaces the default window (and notification) icons. For better quality several images of different sizes can be provided. The default icons are 16x16, 64x64 and 128x128 pixels. Check "Extra - Debug window" to see which images successfully loaded.
Each path may be prefixed with a type in square brackets that restricts this image to replacing only certain icons in the program (paths with no prefix apply to everyting, except types that do have a prefixed path): main, tray, notif, live, help, debug, popout
Example: [tray]C:\chatty_tray.png

Stream Chat

Setting Type Values Default Description
streamChatChannels List[String] Channel name (with leading #) or empty empty Forwards messages from the given channels to Stream Chat.
streamChatMessageTimeout Integer Number of seconds, negative to disable -1 How long messages are displayed before they disappear from Stream Chat.
streamChatBottom Boolean true Start inserting messages at the bottom. Messages are always inserted below previous messages, but disabling this setting will make them start at the top. Requires a restart of Chatty after changing to take any effect.
streamChatResizable Boolean true Whether the Stream Chat dialog is resizable by dragging the edges.

Stream Highlights

Setting Type Values Default Description
streamHighlightChannel String Channel name (with leading #) or empty empty Allows moderators in the given channel to run the !highlight command.
streamHighlightChannelRespond Boolean false If this is enabled, Chatty sends a message to chat when a moderator uses the !highlight command. Otherwise the response to the command is only shown locally.
streamHighlightCommand String The command to use for moderators !highlight Change this to define the command that can be used by mods to add stream highlights in the channel defined with the streamHighlightChannel setting.

Debugging

Setting Type Values Default Description
debugLogIrc Boolean false Log raw IRC messages in the Debug Window.
debugLogIrcFile Boolean false Log raw IRC messages to the debug_irc.log file in the settings directory.

Bot Badges

Setting Type Values Default Description
botBadgeEnabled Boolean true Show bot badge in chat for known bots.
botNames List[String] Name of the bot some default names List of locally defined known bots. You have to restart Chatty for changes to take effect.
botNamesBTTV Boolean true Use bot names from BTTV API. BTTV emotes have to be enabled for this to work.
botNamesFFZ Boolean true Use bot names from FFZ API. FFZ emotes have to be enabled for this to work.

Copy Messages

This can automatically copy all incoming messages into the clipboard.

Setting Type Values Default Description
cmEnabled Boolean false Enable/disable the copy messages feature altogether.
cmChannel String Channel Name (including leading #) empty Restrict copying messages to this channel. Leave empty for no channel restriction.
cmTemplate String Template for the copied text {user}: {message} This is the template for what is put into the clipboard. {user} is replaced with the name of the user who send the message, {message} is replaced with the text of the message itself.
cmHighlightedOnly Boolean false Only copy highlighted messages.

Open URL Command

Setting Type Values Default Description
urlCommandEnabled Boolean false Enable using the command set with urlCommand.
urlCommand String OS command to open URL (for example xdg-open on Linux) empty Used to customize with which command/program to open an URL.

This can be useful if Java doesn't use your default browser, or you want to use a different program. The URL to open automatically gets appended to the command set here and the whole thing gets executed in the OS. For example if you set this to xdg-open and /openUrl https://twitch.tv then xdg-open https://twitch.tv will get executed.