- Как настроить плагин chatty
- Плагин Chatty | Настрой чат, автосообщения, префиксы и суффиксы | /prefix на сервере Minecraft 1.7-1.19 [2.19.11]
- Описание плагина Chatty:
- Команды / Commands плагина Chatty:
- Права / Permissions плагина Chatty:
- Подробная инструкция по настройке плагина:
- Как установить плагин?
- Main [back to menu]
- Messages [back to menu]
- Deleted Messages (Timeouts/Bans)
- Name Capitalization
- Emoticons [back to menu]
- General Settings
- Ignored Emotes
- Usericons [back to menu]
- Usericon Settings
- Custom Usericons
- Usercolors [back to menu]
- Highlight [back to menu]
- General settings
- Add terms to be highlighted
- Text Matching Prefixes
- Meta Prefixes
- Ignore [back to menu]
- General Options
- Sounds [back to menu]
- General Sound Settings
- Sound Types Settings
- Notifications [back to menu]
- Notification Type / Options
- Followed Streams
- Log to file [back to menu]
- Messages Types
- Window [back to menu]
- Dialogs Location/Size
- Commands [back to menu]
- Custom Commands
- Custom Command Parameters
- Predefined Parameters
- Customize User/Channel Context Menu and User Dialog
- Other [back to menu]
- Write Stream Status
- Advanced [back to menu]
- Twitch Client Version
- Correct Userlist
- Hotkeys [back to menu]
- Adding/Editing hotkeys
- Completion [back to menu]
- TAB Completion
- Custom Completion Items
Как настроить плагин chatty
Chatty (Bukkit plugin)
Chatty is the unique Bukkit-plugin, that supports all modern Bukkit-servers, such as Thermos, Cauldron, Spigot, PaperSpigot e t.c. This plugin doesn’t have any non-switchable options. It’s simple, stable and lightweight.
- Chats, such as local and global chats. Also you can add another chat.
- Chats separation by permission. For example, if you have permission «chatty.chat.local», but have «chatty.chat.global» , your message will sent at global chat.
- Spy-mode permission. Players with «chatty.spy» permission can see all messages from all chats.
- Vault API support.
- Advancements announcements system.
- Cooldowns for chats.
- Auto-messages system.
- Private messages system.
Comparison with ChatEx
|Replacement of AutoMessage||—||+|
|Advancements and ActionBar notifications||—||+|
|Custom chat groups||—||+|
|New 1.16+ hex color codes||—||+|
Hex color codes and gradient
Warning: Early versions of Spigot/PaperSpigot may not be supported. Use only latest builds to correct work of Chatty 1.16 features
Chatty supports new 1.16+ color codes. To add a new color code in your chat format, you need use the following pattern:
<#12ABCD>is hex code. You also can combine it with style codes:
You can create various multi-color gradient strings with this pattern:
Number of hex codes is unlimited:
See default configuration in src/main/java/resources/config.yml.
A little life-hack
You can delete all excess blocks and keep only needed features.
Plugin will work even with this simple config:
Project provides particular Maven module with API classes.
You can get access to plugin API with ChattyApi.get() method.
Now plugin has only one event in API: ChattyMessageEvent, that calls when any player messages the chat.
Chatty uses Gradle to handle dependencies & building.
Compiling from source
You can find the output jar in /build/libs directory.
Плагин Chatty | Настрой чат, автосообщения, префиксы и суффиксы | /prefix на сервере Minecraft 1.7-1.19 [2.19.11]
Описание плагина Chatty:
Chatty — плагин для сервера Майнкрафт, который имеет очень много функций. С помощью плагина Chatty можно настроить форматы чата и создать новые (для отдельных групп игроков), создать авто сообщения в чате и в виде очивок в верхнем правом углу, настроить сообщения о входе и выходе игрока.
— Поддерживает старые версии (1.5.2 и выше);
— Поддержка серверов Thermos и Cauldron;
— Несколько всемирных, серверных или ранжированных чатов;
— Задержка между сообщениями;
— Запрет рекламы и КАПСА;
— Уведомления в чате, верхней панели (1.8+) и достижения (1.12+);
— Команда для смены префиксов и суффиксов, /prefix, /prefix clear, /suffix, /suffix clear.
Команды / Commands плагина Chatty:
/chatty — Перезагрузить плагин;
/cc, /clearchat — Очистить чат;
/chatty:ignore «ник» — Игнорировать игрока;
/m, /message, /msg «ник» «сообщение» — Отправить личное сообщение;
/prefix — Установить префикс;
/suffix — Установить суффикс;
/r, /reply — ответить игроку на личное сообщение;
/spy — Включить/выключить слежку за игроками;
/swear, /swears — Добавить слово в черный список.
Права / Permissions плагина Chatty:
— chatty.chat.»Название чата» — Разрешить писать игроку в определенный чат;
— chatty.spy — Разрешить просматривать личные сообщения;
— chatty.command.spy — Доступ к команде /spy;
— chatty.command.reload — Доступ к команде /chatty;
— chatty.command.swears — Доступ к команде /swears;
— chatty.command.clearchat — Доступ к команде /clearchat;
— chatty.command.ignore — Доступ к команде /chatty:ignore;
— chatty.command.msg — Доступ к команде /msg;
— chatty.command.reply — Доступ к команде /reply;
— chatty.command.prefix — Доступ к команде /prefix;
— chatty.command.prefix.others — Разрешить устанавливать префиксы другим игрокам;
— chatty.command.suffix — Доступ к команде /suffix;
— chatty.command.suffix.others — Разрешить устанавливать суффиксы другим игрокам;
— chatty.style.»стиль» — Разрешить писать разными стилями (colors, bold, magic, reset, italic, underline, strikethrough);
— chatty.notification.chat — Позволяет просматривать сообщения из списка уведомлений чата;
— chatty.notification.advancements — Позволяет просматривать сообщения из списка уведомлений в достижениях;
— chatty.notification.actionbar — Позволяет просматривать сообщения из списка уведомлений в верхней панели;
— chatty.moderation.advertisement — Разрешить рекламировать в чате;
— chatty.moderation.caps — Разрешить писать КАПСОМ;
— chatty.cooldown или chatty.cooldown.»Название чата» — Разрешить обход задержки между сообщениями.
Подробная инструкция по настройке плагина:
Как установить плагин?
1. Скачайте плагин.
2. Возьмите скачанный файл и перенесите в папку plugins вашего сервера.
3. Перезапустите сервер.
Для корректной работы плагина, установите плагины Vault, PlaceholderAPI и NameTagEdit.
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.
Main [back to menu]
Change font and font size by clicking on Select font .
You can select what will happen when you start Chatty:
- Do nothing — Just do nothing special
- Open connect dialog — Open dialog to connect
- Connect and join specified channels — Connect immediately and join the channels specified in the field below. You can define several channels by seperating them with a comma.
- Connect and join previously open channels — Connect immediately and join the channels you had open when you closed Chatty.
- Connect and join favorited channels — Connect immediately and join the channels that are favorited in the Channel Favorites/History dialog.
Messages [back to menu]
Deleted Messages (Timeouts/Bans)
This allows you to define how timeouts or bans are displayed in Chatty.
- There are three options for deleted messages:
- Delete Message completely replaces the message with .
- Strike through will keep the whole message displayed, but crossed out.
- Strike through, shorten is same as the previous one, but it will also shorten the message to the defined number of characters, so long spam messages don’t take as much space, but can mostly still be identified what they were about. Shortened messages are indicated by the points at the end that are not crossed out (e.g. Deleted spam message Long copy pas ..).
- Show ban messages: In addition to handling the deleted message, Chatty can also show a message like has been banned from talking once the timeout or ban is issued.
- Combine ban messages: Chatty can combine ban messages, which means if several bans/timeouts are issued for the same user within 10 seconds, only one message is shown for them, with the number of bans shown after the message, e.g. has been banned from talking (3) . Ban messages are not combined if a new message from the banned user was received in the meantime.
- Timestamp: Whether to show a timestamp in front of chat messages and what format it should have. If you want a different format from the ones provided here, you can use the command /set timestamp . The format can be anything specified by the Java SimpleDateFormat class.
- Show mod/unmod messages: Whether to show the MOD/UNMOD messages as they come in from Twitch Chat (which are used to show the moderator badge). These messages can be sometimes be kind of broken (on Twitch’s side) and can show some or all mods in the channel as being modded/unmodded.
- Show joins/parts (TC1 only): Show joins/parts, which only works on TC1 (more information). Joins/parts are always kind of delayed, so don’t take them too seriously.
- Show stream status in chat outputs the stream status (title and game) in the chat window on join and when it changes (when the stream goes offline or online or changes the title or game).
- /me messages colored: Show action messages colored like in webchat.
- Filter combining characters: Replaces a number of Unicode characters with a star (*) that are used in some languages to combine characters, but can apparently cause errors in some cases. The filter applies to the main chat window and the recent messages in the User Info Dialog.
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:
- Capitalized Names (First Letter) simply makes the first letter of names uppercase. This will be correct for many names, but by far not for all (names might have capital letters in the middle or be all-lowercase). You can enable this if you simply prefer it this way.
- Correctly Capitalized Names uses the capitalization send in the IRCv3 tag with each message and should be what the user configured. In very rare cases the display nick may differ more than the capitalization. This is enabled by default.
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.
Emoticons [back to menu]
- Show emoticons: Shows emoticons as images instead of just the text
- Enable BetterTTV Emotes: Shows some of the BetterTTV emotes. Requires a restart to take effect when you change it.
- Enable FrankerFaceZ (FFZ): Downloads FrankerFaceZ emotes and Mod Icons (where available). Requires a restart to take effect when you change it.
- Enable FFZ Mod Icon: Show the FFZ Mod Icon instead of the regular Mod Icon (where available). Requires FrankerFaceZ setting to be enabled.
- Scale: The relative size of how emotes are displayed in chat (100% is regular size).
- Maximum Height: The maximum height of emotes in chat (in pixels). Use 0 to allow any height.
- Emotes Dialog: The relative size of how emotes are displayed in the Emotes Dialog (100% is regular size).
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.
Usericons [back to menu]
- Show Usericons: Shows badges as images instead of just text
- Enable Custom Usericons: Use the custom icons defined in the table below
- Enable Bot Badge: Enables showing of the bot badge for known bots. Chatty shows a single bot badge for all known bots. The list of bot names comes from different sources: The botNames setting, the BTTV API and the FFZ API.
- BTTV: Use botnames from the BTTV API
- FFZ: Use botnames from 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:
Type The type determines whether a default icon will be replaced (if you choose 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). Restriction This is similiar to the Usercolors settings, where you can enter special restrictions the user has to match in order for the icon to be displayed. What makes the most sense in this case is probably just entering a username (e.g. 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. Specifying a Type other than Addon carries an implicit restriction, since e.g. the default moderator icons are only displayed if the user is a moderator. Normally you can only specify one restriction, but you can also add the special restriction $stop for Addon icons, which 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. Channel This is another requirement that also has to be met in order for the icon to be displayed. You can entere a channel name here, so that the icon will only be displayed in that channel. You can add an exclamation mark in front of the channel name (like !#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. Image File The image file to use for the icon. Must be a .png and should usually be about 18×18 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. You can add the special Image File name $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). You should also be able to specify the full path to an image, if you don’t want to use the dedicated image folder. A filename starting with http is interpreted as URL.
Usercolors [back to menu]
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: — A category from the Addressbook
- # — A Html color code, e.g. #0000FF for blue, which can be used to replace colors
- $color: — 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 colors
The 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.
Highlight [back to menu]
- Enable Highlight: Determines whether highlighting is enabled at all.
- Highlight own name: Makes messages that contain your own name (case-insensitive) highlighted, even if you didn’t add it to the list manually.
- Highlight follow-up: After a highlighted message, also highlight the following messages of the same user for a certain time.
- Check own text for highlights: Highlights your own messages if they match the criteria, which can be particularly useful to test whether your terms are being matched correctly. This does not mean that all your own messages are automatically highlighted, they still have to match one of the items added to the list. To match all your own messages you can use the user: prefix with your own name.
- Check ignored messages: Only checks ignored messages for highlights if this is enabled.
Add terms to be highlighted
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.
Text Matching Prefixes
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 Moderator
- s Subscriber
- a Admin
- f Staff
- b Broadcaster
- t Turbo User
- g Global Moderator
- r 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)
For example: 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 item
- info — This item applies to info messages instead of regular user messages (works only for Ignoring messages at the moment)
Ignore [back to menu]
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 Ignores the user with the name name in all channels user:name chan:tirean,gocnak Ignores the user with the name name in channels #tirean and #gocnak config:info subscribed to Ignores the x has subscribed to y info messages that you get when someone subscribes in the channel that is being hosted cat:ignore !chan:lotsofs,joshimuz Ignores users in the addressbook category ignore in all channels, except #lotsofs and #joshimuz chan:joshimuz re:!bet.* Ignores messages starting with !bet , but only in #joshimuz !status:smb chanCat:subonly Ignores any message send by users that are not a subscriber, moderator or broadcaster of the channel, but only if the channel is in the Addressbook category subonly (e.g. /ab add #joshimuz subonly , notice the leading # )
- Enable Ignore: Enable/disable the Ignore System altogether
- Ignore own messages: Also ignore own messages (if they match), can be useful for testing
- What should happen with ignored messages:
- Hide: Don’t show ignored messages in chat at all (they still get added to the Ignored dialog)
- Show count: Shows the number of ignored messages in chat every 30s (if there were any), so you know that messages were ignored
- Show names: Shows the name of the sender of any ignored messages, in a list similiar to MOD/UNMOD or JOIN/PART messages
- Only show if ignored messages dialog is not open: Only show what is configured for «What should happen with ignored messages» when the ignored messages dialog isn’t currently open.
Sounds [back to menu]
General Sound Settings
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.
Sound Types Settings
You can specify requirements, soundfile, volume and delay for different types of events:
- When a message is highlighted
- When a stream changes status (online/offline/changed title/changed game)
- When any message in received in any open channel
- When someone joins/leaves any open channel
- When a new follower is detected (this only works if the Follower Dialog is currently open)
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.
Notifications [back to menu]
You can show notifications for two kinds of things:
- Highlights — When a message in chat is highlighted
- Stream Status — When a stream changes status, e.g. offline -> online or changed title
For both these you can select separately if and when they are shown:
- Off — Never show
- When channel/app not active — Only when the channel isn’t the currently selected tab AND when the program doesn’t have focus
- When channel or app not active — Only when the channel isn’t the currently selected tab OR when the program doesn’t have focus
- When app not active — Only when the program doesn’t have focus
- When channel not active — Only when the channel isn’t the currently selected tab
- When channel active — Only when the channel IS the currently selected tab
- Always — No requirements, always show it
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.
Notification Type / Options
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:
- Position: In which corner the the notification appears on the screen
- Screen: On which screen the notification appears ( auto means it’s on the same screen as the Chatty window)
- Display Time: How long the notification will be displayed by default. This can vary a bit depending on the situation.
- No User Activity: This is a tricky one. If you enable this, then the notification will not be closed after the defined Display Time if no activity was detected in the last few seconds. This can be useful to still see notifications from a few minutes ago if you were away from the computer. The time defines when the notification will be closed no matter what, so older notifications won’t stay there forever if you are away from the computer for a bit longer.
Activity is tracked through two methods: The first method is tracking the system-wide mouse movements, which is done through an API that may not always return accurate information (e.g. if you are in a game) and it only checks the position every few seconds (only the last location is saved at any time for comparison). The second method detects activity only inside of Chatty, by tracking button presses and mouse actions (e.g. if you type a message, open a dialog etc.).
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.
Log to file [back to menu]
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:
- always — Log all channels without exception (default)
- blacklist — Log all channels, except the ones on the blacklist
- whitelist — Log no channels, except the ones on the whitelist
- off — Log no channels whatsoever
Normal chat messages are always logged, however you can log additional information:
- Chat Info refers to general chat releated info messages like connecting/disconnecting/trying to timeout someone/stream title..
- Bans/Timeouts refers to bans/timeouts in chat, which will be logged like this: [12:32:25] BAN: name, name2
- Mod/Unmod refers to when someone in chat is modded/ unmodded, which will be logged like this: [12:32:25] MOD: name1, name2
- Joins/Parts refers to when someone joins/parts the channel, which will be logged like this: [12:32:25] JOIN: name1, name2
- System Info means any info messages that are related more to Chatty than chat itself, like info about new versions, if you use settings commands..
- Viewerstats are stats about the viewercount which are logged in a semi-regular interval to give some idea about the viewercount during that time. It shows which interval it refers to, the min/max/avg viewers, the number of values and the development (first value/after offline is absolute, then +- relative change, _ means offline before/in between/after that value, e.g. [21:06:21] Viewerstats (21:03-21:06): avg:28.612 min:28.432 max:28.887 [3/28.519-87+455_] ).
- Viewercount will log the viewercount as it is updated, like this: [15:23:58] VIEWERS: 12521
Window [back to menu]
- Restore Dialogs
- Open dialogs in default location: Always open dialogs in their default location (centered on the main window) when you open them.
- Keep location during session: Puts dialogs at the same position when you reopen them during the same session (so they are put on the default location when you open them the first time after starting Chatty).
- Restore dialogs from last session: Puts dialogs at the same position they were at when you closed Chatty last session and also keeps the position during the session.
- Reopen dialogs from last session: Reopens any dialogs that were open when you closed Chatty last session and also puts them at the same position they were before.
- Attach dialogs position to main window: If enabled, moves the dialogs like Channel Info or Admin Dialog along with the main window, so they always keep the same relative position. You can still move the dialogs by themselves of course.
- Open URL Prompt: Enable this to be asked when opening a URL. Even if this is disabled, you may still asked on some occasions, but not for URLs in chat.
- Always show chat scrollbar: Always show the vertical scrollbar in the chat window (there should never be a horizontal one), even if no scrolling is necessary. This can be useful for using window capture for streaming, because you can always keep the same subregion.
- Minimize to tray: When minimizing the main Chatty window, it will be minimized to tray.
- Close to tray: Closing the main Chatty window will not actually exit the program, but instead minimize it to tray. You can actually close the program via Main — Exit or the tray icon context menu.
- Tab Order: Whether to show tabs in the order they were opened or alphabetically.
- Default Userlist Width: The default width of the userlist in pixels.
- Restore location/size: When you close a popout window then it’s location/size is saved and used for the next popout window that is opened. Each saved location/size is only used once, if there is none left then the default attributes are used. This is also saved between sessions (attributes of popouts that are open when you close Chatty are saved as well).
- Close popout when only channel: When you have a channel popout window open and close the last channel in the main window, then the popout window will automatically be closed and the channel moved to the main window. Disable this if the popout shouldn’t be closed automatically.
Commands [back to 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:
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.
Custom Command Parameters
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 First word, second word, third word etc. $1- First word, and all the words after it Equivalently $2-, $3- etc. $$1 First word, but required, meaning the command result will only be send if all the required commands are actually there Equivalently $$2, $$3- is also possible \$1- Escape any special character (like $ ) by prepending a backslash \ , which means this won’t be interpreted as a parameter and not be replaced If you actually want to use \ , 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 .
|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.
Customize User/Channel Context Menu and User Dialog
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:
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 Commands can be specified with or without forward slash / , then the name (without parameters) and space, linebreak or comma to seperate to the next command. Custom Commands in the User Dialog require the / in front. //Slap Prepending two forward slashes // 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 Adding | (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. Does not work for custom buttons in the User Dialog. /Set_color is displayed as Set color Underscores in command names are replaced with a space for display in a Context Menu or on a button.
In addition, you can define for the User Dialog Buttons:
5, 2m, 10m, 24h In addition to Custom Commands you can also specify Timeout Buttons in the User Dialog. Times are added just like Custom Commands (seperated by comma/space/linebreak). However they can only be added to the first row of buttons. They are interpreted as seconds by default, unless you add a suffix: s — seconds, m — minutes, h — hours, d — days. 120s, 120 is displayed as 120s and 2m Both definitions create a button with a 120 seconds timeout, however if you use a suffix, then the definition is used as button label directly, otherwise the label is automatically created based on the time. /Ban[B], /Unban[U], 2s[P] You can add keyboard shortcuts to buttons, that can be used while the dialog is open and focused. Add a single button in brackets (uppercase). Everything that is understood by getKeyStroke() can be used. No spaces are allowed, however a plus ( + ) can be used instead (which will be replaced with a space automatically). /Slap[NUMPAD1|Np1], /Permit[NUMPAD2|] Adding a vertical bar ( | ) 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 If that text appears anywhere in the definition, then no labels will be displayed on the buttons for the shortcuts, unless they are explicitly defined.
Other [back to menu]
- Scroll down after [..] seconds of inactivity: If you scrolled up in chat but haven’t moved scrollposition in the given number of seconds, it will scroll down if new messages come in. This prevents accidently scrolling up from hiding new messages.
- Chat buffer size: How many lines of text are kept for each channel in chat to scroll back to.
- Inform me about new versions: Checks for new versions every few days and outputs a message about it.
Write Stream Status
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:
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 viewercount
Example 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 .
Advanced [back to menu]
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.
- Server: The default server to connect to
- Port: The default port(s) to connect to (can be a list of ports, e.g. 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 .
Twitch Client Version
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.
Hotkeys [back to menu]
You can add hotkeys for certain actions. In general, there are the following types of hotkeys:
- Regular hotkeys, which will only trigger if the main Chatty window has focus (or a popout window).
- Application-wide hotkeys, which will trigger anywhere in Chatty.
- Global hotkeys, which are supposed to trigger everywhere on your computer (Windows only, Hotkey version required). However some hotkeys may not work, so just try it out.
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:
- Action: The action to perform when the hotkey is pressed. If you select Custom Command , you have to enter the command to perform in the field below (just the name of the command, see Commands).
- Hotkey: The key or key combination that has to be pressed to perform the action, click into the field and press the key or key combination you want to use.
- If the hotkey shows as being already used you may still add it, but having more than one action defined for the same hotkey will not trigger all the actions when the hotkey is pressed, but a random one, so it doesn’t really make a lot of sense. Adding it anyway can be sensible if you’re currently changing several hotkeys and will change the other hotkey afterwards, so each key combination is only used once.
- Regular: Regular hotkey, which will only trigger if the main window or a popout is focused.
- Application: Application-wide hotkey, which will trigger if any Chatty component is focused.
- Global: Global hotkey, which will trigger anywhere on your computer (only works with the hotkey version of Chatty and if it loaded properly, Windows only).
- Delay: The delay between performed actions, in 1/10th of a second, if this is 0 then there will be no delay required, otherwise specifying a delay of e.g. 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.
Completion [back to menu]
TAB Completion allows you to write the beginning characters of a nickname in chat and then press TAB to complete it.
You need to restart Chatty for these settings to take full effect.
- Show popup (and changed completion behaviour): If enabled, shows a small window with information about the current completion if there is more than one matching result. It shows at which result of how many you are when cycling through results as well as a limited overview of which results there actually are.
With the popup enabled, it also changes a bit how the completion works: When pressing TAB it only completes up to the common prefix for all found results, giving you the opportunity to add more characters if there are too many results for you to cycle through or to press TAB again which completes the first result, allowing to then cycle through by pressing TAB repeatedly. With this setting disabled, it immediately completes the first found result, allowing you to cycle through by pressing TAB repeatedly.
Custom Completion Items
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://getchatty.sourceforge.net 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 — Add an item
- /customCompletion set — Change an item that already exists
- /customCompletion remove — Remove an item
Remember that you can also use TAB Completion for commands. Kappab