From WikiChip
Difference between revisions of "mirc/commands/echo"
(→Other switches) |
Maroonbells (talk | contribs) (Add'l info and syntax) |
||
Line 1: | Line 1: | ||
{{mirc title|/echo Command}} | {{mirc title|/echo Command}} | ||
− | The '''/echo | + | 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. |
− | |||
− | |||
− | |||
== Synopsis == | == Synopsis == | ||
− | /echo [ | + | /echo [color-number] [-deghi[N]tsaqlbfnmr] [window] <text> |
− | /echo -c[ | + | /echo -c[deghi[N]tsaqlbfnmr] <color-name> [window] <text> |
== Switches == | == Switches == | ||
− | === Target window | + | === Target window switches === |
* '''-s''' - prints to the status window | * '''-s''' - prints to the status window | ||
* '''-a''' - prints to the active window | * '''-a''' - prints to the active window | ||
Line 22: | Line 19: | ||
=== Other switches === | === Other switches === | ||
− | * '''-c''' - Indicates that the < | + | * '''-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 line | + | * '''-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. | * '''-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. | * '''-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 | + | * '''-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: Custom | + | * '''-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. ( | + | * '''-q''' - Honors the $show flag. (Displays nothing if the alias was called with the . prefix) |
− | * '''-n''' - Prevents switchbar button/treebar | + | * '''-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" | + | * '''-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 == | == 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 {{mIRC|/window|/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. |
− | * '''[window]''' - The target window/channel/query | ||
* '''<text>''' - The text to be printed | * '''<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 == | == Examples == | ||
=== Example 1: Hello world === | === Example 1: Hello world === | ||
Line 67: | Line 63: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | === Example 4: | + | === Example 4: Colors === |
<syntaxhighlight lang="mIRC"> | <syntaxhighlight lang="mIRC"> | ||
− | //echo 4 -at abc $chr(22) def $chr(15) The timestamp and this text following the Ctrl-O revert to | + | //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" | + | //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" | + | //echo -at $chr(3) $+ 04 $+ abc $chr(22) def $chr(15) The timestamp and this text appear as "normal" color ( $+ $color(normal) $+ ) |
</syntaxhighlight> | </syntaxhighlight> | ||
− | === Example 5: Switchbar/treebar | + | === Example 5: Switchbar/treebar colors === |
<syntaxhighlight lang="mIRC"> | <syntaxhighlight lang="mIRC"> | ||
; See mirc-options/display | ; See mirc-options/display | ||
− | ; The 1st line causes the switchbar to change to the "event" | + | ; The 1st line causes the switchbar to change to the "event" color. |
− | ; The 2nd line -m causes the switchbar to change to the "messages" | + | ; 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 | + | ; 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 | + | ; 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:#:{ | on ^*:JOIN:#:{ | ||
Line 98: | Line 94: | ||
/window -g1 @window | /window -g1 @window | ||
/window -g1 #channel | /window -g1 #channel | ||
+ | </syntaxhighlight> | ||
− | + | <syntaxhighlight lang="mIRC"> | |
− | + | 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 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 02:44, 10 January 2018
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