### CAPAB Addon v2.0 for mIRC ### Written by KIA (#script @ irc.gamesurge.net) ### io.dll written by Saturn ### Sep 10, 2007 #Contents #1. What this script supports #2. What does this addon do? #3. Using the script #3.1. Loading and starting #3.2. Commands #3.3. Advanced usage #4. Bugs/suggestions/comments #5. Version history #1. What this script supports This addon is intended for • mIRC version 6.14-6.3 - Note that the dll used in this script is very complicated and may need to be updated for new versions of mIRC • Networks supporting CAPAB IDENTIFY-MSG commands - Mainly the freenode IRC network (irc.freenode.net). In most cases, this script will not affect other networks. For support on this script, or for comments/suggestions, plese visit #script on irc.gamesurge.net #2. What does this addon do? On the Freenode IRC network (and possibly others networks that support it, I'm not sure), you can enable CAPAB. What this does is prefixes all messages sent by users with either a + if they are identified with netowrk services, or a - if they are not. This allows you to easily see if somebody is identified as they are talking. The boring, technical details: It may not sound like there is much that a script needs to do to support this protocol. Anybody can type the single raw command, "/raw CAPAB IDENTIFY-MSG" to enable the protocol. However, mIRC is not designed to handle the prefixed messages. Emotes, as they are really a special case of a regular private message, do not show up as private messages, and will show up as gibberish. In this case, other people's emotes will not trigger ACTION events, but will trigger TEXT events. All scripts that you may have would no longer work as the beginning of each received line would be prefixed with either a + or -. That is where this addon comes in. After CAPAB is enabled, this script tricks mIRC into thinking that the +/- prefixes are not there, allowing it to trigger events and display on the screen properly. So what is the point of all of this then if we're getting rid of the prefixes? This script then changes the format of all messages seen on servers with CAPAB enabled, so even though mIRC ignores the +/-, you still see them. Also, this allows other scripts to see if nicknames are identified (see section 3.3) #3. Using the Script #3.1. Loading and starting • Upon downloading the file, extract the files to your mIRC scripts directory. By default, it should create a subdirectory /capab, but that is not neccessary. • In mIRC, type "/load -rs capab/capab.mrc" to load the script (if you did not use the capab subdirectory, modify the path accordingly). mIRC will tell you that there are commands the script needs to run to start the script. This is fine, and should be allowed. The script should now be loaded, and will display some text in your status window. • By default, the script is turned ON when loaded, but needs to be started manually the first time for servers you wish to use it on. After loading the script, follow the onscreen instructions to enable the script. #3.2. Commands The script has the following commands /capab - Shows a mini-help with the rest of the commands /capab on - Attempts to turn on CAPAB for the current server. This will override the default settings. /capab enable - This will only change the default settings for the script. It will NOT turn on CAPAB. /capab disable - This will only disable the default settings for the script. It will NOT turn off CAPAB. Note: The only way to turn off CAPAB once it has been turned off is to disable CAPAB by default, and then *reconnect* to the server. #3.3. Advanced Usage • /msg, /me, /describe commands The addon comes with /msg /me and /describe aliases that replace mIRC's default commands. If it is found that you already have replacement commands for these, the commands that come with this script will be *disabled* by default. The purpose of these aliases is add your own identification status to your input. These can be enabled/disabled by typing "/enable #repmsg" and "/disable #repmsg", respectively. Note: These commands assume usermode +e means you are identified with network services. Future versions of this script may allow you to change this, though I'm not sure if there is a generic method to determining your own identification status. • $capab.auth identifier There is an identifier included with this addon that allows you to see if the person who triggered a TEXT/ACTION/NOTICE event is identified with network services. Please note that while this may be used in another type of event, it would be extremely unreliable. Usage: $capab.auth($nick) Returns $true if they are identified, $false if they are not identified, and $null if it is unknown. The server only sends this information with TEXT, ACTION, and NOTICE messages, so this identifier is meant to only be used by those events, and only with the user who triggered the event. • Custom themes/scripts If you have a custom theme or script that formats output in your own format, this script will NOT conflict with it. It is suggested that your custom themes are loaded before capab.mrc so that your own theme has priority. To create/modify your own themed events to display users' identification status, be sure to use the $capab.auth identifier (explained above), and to make sure your event has higher priority over capab.mrc. • mIRC's messaging options This script attempts to preserve your messaging options from the options dialog. Mode prefix settings (@nick instead of nick), nick coloring, line highlighting and in some cases showing events in the active window, are preserved. Please let me know if you find any issues with this as I tend to use mostly default formatting. #4. Bugs/suggestions/comments If you find any bugs or have any suggestions, please either submit a comment on a download site where this addon was uploaded by me (KIA), or connect to irc.gamesurge.net and look for me in #script. #5. Version information 2.0 Oct 10, 2007 - Complete rewrite of the script to work with io.dll in order to maximize mIRC's handling of the CAPAB protocol. 1.0 Sep 09, 2007 - Original version of the script. Very buggy due to the nature of the protocol