From WikiChip
/echo Command - mIRC
Commands & Identifiers
Basics
Events
Matching Tools
Data Storage
Control Structures
GUI Scripting
Sockets
Advanced Scripting
Additional Resources
Security
Other
The /echo command prints text to the specified window. This command does not send anything to the server; text is only shown in the window.
Contents
Synopsis
/echo [color-number] [-deghi[N]tsaqlbfnmr] [window] <text> /echo -c[deghi[N]tsaqlbfnmr] <color-name> [window] <text>
Switches
Target window switches
- -s - prints to the status window
- -a - prints to the active window
- -d - prints to the single message window
Settings Related:
- -r - Applies the strip settings to the text (as defined in mIRC Options / IRC / Messages).
- -l - Applies the highlight settings to the text (as defined in mIRC Address Book / Highlight).
- -b - Applies the windows beep settings (to beep if mIRC is not the active application) as defined in mIRC Options / Sounds and any individual window override.
- -f - Applies the flash settings to the window (to flash the mIRC System Tray icon) as defined in mIRC Options / IRC / Options and any individual window override.
Other switches
- -c - Indicates that the <color-name> parameter is provided as the 1st parameter following the switch(es).
- -e - Encloses the text with a pair of lines containing the line separator. Note: does not add a leading line if it already consists entirely of the line separator.
- -g - Prevents the text from being logged if the window has logging on.
- -h - Applies a hard-wrap on the text so that the wrap point does not change when the window is resized. Text is not wrapped if it is echoed to a custom listbox window.
- -i[N] - Indents wrapped lines by [N] characters. The default mIRC indent is 2 spaces if N not used. Note: When using a proportional font, the indented width is a constant width regardless of the width of the characters echoed.
- -t - Adds a timestamp to the text if the timestamp is enabled for that window. Without this, the line will not be timestamped even if the window has timestamping set. Note: -t shows timestamp in Custom Windows even though they do not have a timestamp setting, but only if timestamping has been enabled in mirc-options/irc/messages/"timestamp events".
- -q - Honors the $show flag. (Displays nothing if the alias was called with the . prefix)
- -n - Prevents switchbar button/treebar color change
- -m - Treats the line as an user message, colors the window button in the switchbar/treebar with the "Message" color defined in the option alt+o>Display.
Parameters
- [color-number] - A numeric color value (0 to 99) Note: 99 is $color(listbox text) instead of $color(normal) even in #channel and Status window where background is $color(background). If $color(listbox text) is the same index as $color(background), 99 tries $color(normal) then $color(gray) searching for a color that doesn't match the background color.
- <color-name> - When the -c switch is used, the next parameter must be one of the following: action, ctcp, highlight, info, info2, invite, join, kick, mode, nick, normal, notice, notify, other, own, part, quit, topic, wallops, whois, "listbox text", gray, listbox, "treebar text", treebar Note: Quotes are needed for items which are 2 words. Note: If color for that name matches $color(background) it is displayed as $color(normal) until the color index for background is changed. Note: If color name not in the list of recognized names, defaults to 'normal'. Note: If you later change the color index for a color name, the echoed lines change to that color.
- [window] - The target @window/#channel/query Note: If you use /echo to send text to a custom @window which has been opened by /window -s, the line will be added at the bottom of the window rather than being inserted in the correct sort position. Note: If target is a listbox @window created using the -l switch, the output echoes to the Status Window instead.
- <text> - The text to be printed
Note: regardless whether or not -e switch is used, echo will not create a 2nd consecutive line consisting of the line separator, unless the existing last line was created in a @window using /aline.
Examples
Example 1: Hello world
/echo -a Hello World!
Example 2: A loop prints a few lines
alias example { var %x = 5 while (%x) { echo -a This is example line $v1 $+ . dec %x } }
The above will print:
This is example line 5. This is example line 4. This is example line 3. This is example line 2. This is example line 1.
Example 3: Timestamps
echo #test This line never has a timestamp echo -t #test This line has a timestamp only if timestamping is enabled within #test echo #test $timestamp This line always has a timestamp
Example 4: Colors
//echo 4 -at abc $chr(22) def $chr(15) The timestamp and this text following the Ctrl-O revert to color 4 (red) //echo -act ctcp abc $chr(22) def $chr(15) The timestamp and this text following the Ctrl-O revert to "ctcp" color ( $+ $color(ctcp) $+ ) //echo -at $chr(3) $+ 04 $+ abc $chr(22) def $chr(15) The timestamp and this text appear as "normal" color ( $+ $color(normal) $+ )
Example 5: Switchbar/treebar colors
; See mirc-options/display ; The 1st line causes the switchbar to change to the "event" color. ; The 2nd line -m causes the switchbar to change to the "messages" color, overriding the default EVENT color. ; The 3rd line -n leaves the switchbar color unchanged. ; Note that Chanserv giving the joined nick OP level is a separate event, and mIRC will change the -m override, and that event will color the switchbar as the EVENT color. on ^*:JOIN:#:{ echo $color(join) -t # * $nick $+($chr(40),$gettok($fulladdress,2-,33),$chr(41)) has joined # $comchan($nick,0) echo $color(join) -tm # * $nick $+($chr(40),$gettok($fulladdress,2-,33),$chr(41)) has joined # $comchan($nick,0) echo $color(join) -tn # * $nick $+($chr(40),$gettok($fulladdress,2-,33),$chr(41)) has joined # $comchan($nick,0) haltdef }
/echo -m @window test /echo -m #channel test ;has the same effect as: /echo @window test /echo #channel test /window -g1 @window /window -g1 #channel
The echo command modifies <text> by hiding duplicate spaces and non-printable characters including $chr(9) tab. //var %a abc $+ $chr(32) $+ $chr(32) $+ def | echo -a $len(%a) %a returns: 8 abc def ... where the duplicate space is not displayed. //var %a abc $chr(9) def | echo -a $len(%a) %a returns: 9 abc def ... where there are 2 spaces appearing next to each other because they were not consecutive prior to the non-printable tab being hidden. All 6 letters are displayed on the same line because $crlf is non-printable: //var %a $+(abc,$crlf,def) | echo -a %a Echo a blank line because it contains only non-printable characters: //echo -a $crlf
Compatibility
Added: mIRC v3.7
Added on: 12 Oct 1995
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.
See also
mIRC commands list