From WikiChip
Difference between revisions of "mirc/commands/parseline"
< mirc‎ | commands

(Switches)
 
(5 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{mirc title|/parseline Command}}{{mIRC menu}}
+
{{mirc title|/parseline command}}'''/parseline''' can be used to inject lines as though mIRC was receiving or sending them from/to IRC servers. It can also be used to modify the line being received/sent from the {{mIRC|on parseline}} event.
The '''/parseline command''' can be used to inject lines as though mIRC was receiving or sending them from/to IRC servers. It can also be used to modify the line being received/sent from the {{mIRC|on parseline}} event.
 
  
 
'''Warning''': This feature should only be used, for example, to support features and/or protocols that mIRC does not already support, not to modify standard lines. mIRC maintains internal states based on incoming and outgoing lines. If lines are modified, mIRC may not work correctly
 
'''Warning''': This feature should only be used, for example, to support features and/or protocols that mIRC does not already support, not to modify standard lines. mIRC maintains internal states based on incoming and outgoing lines. If lines are modified, mIRC may not work correctly
 +
  
 
== Synopsis ==
 
== Synopsis ==
/parseline -iotbpnuN [text|&binvar]
+
/parseline -aiotbpnuN [text|&binvar]
  
/parseline -q[iotbpnuN] [text|&binvar]
+
/parseline -q[aiotbpnuN] [text|&binvar]
  
 
== Switches ==
 
== Switches ==
Line 19: Line 19:
 
* '''-q''' - Can be used to add a new line to the end of the in/out queue, they are processed after the end of the script execution.
 
* '''-q''' - Can be used to add a new line to the end of the in/out queue, they are processed after the end of the script execution.
 
** '''Note''': Without -q, you're changing the current line from the {{mIRC|on parseline}} event, you'll get an error otherwise.
 
** '''Note''': Without -q, you're changing the current line from the {{mIRC|on parseline}} event, you'll get an error otherwise.
 +
* '''-a''' - modifier for -t and -b, codepoints 128-255 are not encoded to UTF8 if no codepoint above 255 is found
 
* '''-p''' - Used with -q, indicate the line must trigger on parseline
 
* '''-p''' - Used with -q, indicate the line must trigger on parseline
* '''-n''' - Add a {{mIRC|$crlf}} to the end of the lien if the line doesn't already end with a $crlf
+
* '''-n''' - Add a {{mIRC|$crlf}} to the end of the line if the line doesn't already end with a $crlf
 
* '''-uN''' - Enable/Disable utf8 encoding/decoding of the line. Use N = 1 to enable, 0 to disable
 
* '''-uN''' - Enable/Disable utf8 encoding/decoding of the line. Use N = 1 to enable, 0 to disable
 
** '''Note''': A script must check $parseutf to know whether mIRC will be UTF-8 encoding/decoding a line.
 
** '''Note''': A script must check $parseutf to know whether mIRC will be UTF-8 encoding/decoding a line.
Line 34: Line 35:
 
//parseline -qitn bipartite.nj.us.SwiftIRC.net PRIVMSG #mIRCScripting :test
 
//parseline -qitn bipartite.nj.us.SwiftIRC.net PRIVMSG #mIRCScripting :test
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
Keep a window open after parting the channel is now possible:
 +
<syntaxhighlight lang="mIRC">
 +
on *:PARSELINE:in:?* PART #*:if ($gettok($mid($parseline,2),1,33) == $me) .parseline -it
 +
</syntaxhighlight>
 +
'''Note''': You'll have to use "/parseline -qot join #channel" to join the channel back, this is because /join does not /join if the window exist, assuming you're on the channel
  
 
== Compatibility ==
 
== Compatibility ==
 
{{mIRC compatibility|7.42}}
 
{{mIRC compatibility|7.42}}
  
 
+
== See also ==  
== See also ==
+
* {{mIRC|on parseline}}
 +
* {{mIRC|$parseutf}}
 
* [[List of commands - mIRC|List of commands]]
 
* [[List of commands - mIRC|List of commands]]
 
* [[List of identifiers - mIRC|List of identifiers]]
 
* [[List of identifiers - mIRC|List of identifiers]]
* {{mIRC|on parseline}}
 
* {{mIRC|$parseutf}}
 
  
 
{{mIRC command list}}
 
{{mIRC command list}}
  
[[Category:mIRC commands|abook command - mIRC]]
+
[[Category:mIRC commands|parseline]]

Latest revision as of 12:00, 11 May 2023

/parseline can be used to inject lines as though mIRC was receiving or sending them from/to IRC servers. It can also be used to modify the line being received/sent from the on parseline event.

Warning: This feature should only be used, for example, to support features and/or protocols that mIRC does not already support, not to modify standard lines. mIRC maintains internal states based on incoming and outgoing lines. If lines are modified, mIRC may not work correctly


Synopsis[edit]

/parseline -aiotbpnuN [text|&binvar]

/parseline -q[aiotbpnuN] [text|&binvar]

Switches[edit]

Required

  • -i or -o - Specify an input or output message
  • -t or -b - Specify a text or binvar parameter

Optional

  • -q - Can be used to add a new line to the end of the in/out queue, they are processed after the end of the script execution.
    • Note: Without -q, you're changing the current line from the on parseline event, you'll get an error otherwise.
  • -a - modifier for -t and -b, codepoints 128-255 are not encoded to UTF8 if no codepoint above 255 is found
  • -p - Used with -q, indicate the line must trigger on parseline
  • -n - Add a $crlf to the end of the line if the line doesn't already end with a $crlf
  • -uN - Enable/Disable utf8 encoding/decoding of the line. Use N = 1 to enable, 0 to disable
    • Note: A script must check $parseutf to know whether mIRC will be UTF-8 encoding/decoding a line.
    • For outgoing lines, if $parseutf is $true, mIRC will UTF-8 encode the line before sending it to the server after the PARSELINE event. You can prevent this by using -u0.
    • For incoming lines, if $parseutf is $true, after the PARSELINE event, mIRC will UTF-8 decode the line before processing it. You can prevent this by using -u0.

Parameters[edit]

  • [text|&binvar] - The text or binvar parameter depending on if you used the -t or -b switch

Example[edit]

//parseline -qitn bipartite.nj.us.SwiftIRC.net PRIVMSG #mIRCScripting :test

Keep a window open after parting the channel is now possible:

on *:PARSELINE:in:?* PART #*:if ($gettok($mid($parseline,2),1,33) == $me) .parseline -it

Note: You'll have to use "/parseline -qot join #channel" to join the channel back, this is because /join does not /join if the window exist, assuming you're on the channel

Compatibility[edit]

Added: mIRC v7.42
Added on: 17 Jul 2015
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.


See also[edit]


v · d · e mIRC commands list

A /abook, /action, /add, /ajinvite, /alias, /aline, /ame, /amsg, /anick, /aop, /auser, /auto, /autojoin, /avoice, /away

B /background, /ban, /bcopy, /beep, /bindip, /bread, /break, /breplace, /bset, /btrunc, /bunset, /bwrite

C /channel, /clear, /clearall, /clearial, /cline, /clipboard, /close, /closechats, /closedccs, /closefserves, /closemsg, /cnick, /color, /colour, /comclose, /comlist, /commands, /comopen, /comreg, /continue, /copy, /creq, /ctcp, /ctcpreply, /ctcps

D /dcc, /dccserver, /dde, /ddeserver, /debug, /dec, /describe, /dialog, /did, /didtok, /disable, /disconnect, /dlevel, /dline, /dll, Template:mIRC/donotdisturb, /dns, /dqwindow, /drawcopy, /drawdot, /drawfill, /drawline, /drawpic, /drawrect, /drawreplace, /drawrot, /drawsave, /drawscroll, /drawsize /drawtext

E /ebeeps, /echo, /editbox, /else, /elseif, /emailaddr, /enable, /events, /exit

F /fclose, /filter, /findtext, /finger, /firewall, /flash, /flist, /flood, /flush, /flushini, /fnord, /font, /fopen, /fseek, /fsend, /fserve, /fullname, /fupdate, /fwrite

G /ghide, /gload, /gmove, /gopts, /goto, /gplay, /gpoint, /gqreq, /groups, /gshow, /gsize, /gstop, /gtalk, /gunload, /guser

H /hadd, /halt, /haltdef, /hdec, /hdel, /help, /hfree, /hinc, /hload, /hmake, /hotlink, /hop, /hsave

I /ial, /ialclear, /ialmark, /identd, /if, /ignore, /iline, /inc, /iuser

J /join

L /leave, /linesep, /links, /list, /load, /loadbuf, /localinfo, /log, /logview

M /maxdepth, /mdi, /me, /menubar, /mkdir, /mnick, /mode, /msg

N /noop, /notice, /notify

O /onotice, /omsg

P /pareline, /part, /partall, /pdcc, /perform, /play, /playctrl, /pop, /protect, /proxy, /pvoice

Q /qme, /qmsg, /query, /queryrn, /quit, /quote

R /raw, /registration, /reload, /remini, /remote, /remove, /rename, /renwin, /reseterror, /resetidle, /return, /returnex, /rlevel, /rline, /rmdir, /run, /ruser

S /save, /savebuf, /saveini, /say, /scid, /scon, /server, /set, /setlayer, /showmirc, /signal, /sline, /sockaccept, /sockclose, /socklist, /socklisten, /sockmark, /sockopen, /sockpause, /sockread, /sockrename, /sockudp, /sockwrite, /sound, /speak, /splay, /sreq, /strip, /switchbar

T /timer, /timestamp, /tip, /tips, /titlebar, /tnick, /tokenize, /toolbar, /topic /tray, /treebar

U /ulist, /unload, /unset, /unsetall, /updatenl, /url, /username, /uwho

V /var, /vcadd, /vcmd, /vcrem, /vol

W

X /xyzzy