|  |  | <!doctype html>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | <title>CodeMirror: mIRC mode</title>
 | 
						
						
						
							|  |  | <meta charset="utf-8"/>
 | 
						
						
						
							|  |  | <link rel=stylesheet href="../../doc/docs.css">
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | <link rel="stylesheet" href="../../lib/codemirror.css">
 | 
						
						
						
							|  |  | <link rel="stylesheet" href="../../theme/twilight.css">
 | 
						
						
						
							|  |  | <script src="../../lib/codemirror.js"></script>
 | 
						
						
						
							|  |  | <script src="mirc.js"></script>
 | 
						
						
						
							|  |  | <style>.CodeMirror {border: 1px solid black;}</style>
 | 
						
						
						
							|  |  | <div id=nav>
 | 
						
						
						
							|  |  |   <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   <ul>
 | 
						
						
						
							|  |  |     <li><a href="../../index.html">Home</a>
 | 
						
						
						
							|  |  |     <li><a href="../../doc/manual.html">Manual</a>
 | 
						
						
						
							|  |  |     <li><a href="https://github.com/codemirror/codemirror">Code</a>
 | 
						
						
						
							|  |  |   </ul>
 | 
						
						
						
							|  |  |   <ul>
 | 
						
						
						
							|  |  |     <li><a href="../index.html">Language modes</a>
 | 
						
						
						
							|  |  |     <li><a class=active href="#">mIRC</a>
 | 
						
						
						
							|  |  |   </ul>
 | 
						
						
						
							|  |  | </div>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | <article>
 | 
						
						
						
							|  |  | <h2>mIRC mode</h2>
 | 
						
						
						
							|  |  | <form><textarea id="code" name="code">
 | 
						
						
						
							|  |  | ;AKA Nick Tracker by Ford_Lawnmower irc.GeekShed.net #Script-Help
 | 
						
						
						
							|  |  | ;*****************************************************************************;
 | 
						
						
						
							|  |  | ;**Start Setup
 | 
						
						
						
							|  |  | ;Change JoinDisplay, below, for On Join AKA Display. On = 1 - Off = 0
 | 
						
						
						
							|  |  | alias -l JoinDisplay { return 1 }
 | 
						
						
						
							|  |  | ;Change MaxNicks, below, to the number of nicknames you want to store for each hostmask. I wouldn't go over 400 with this ;/
 | 
						
						
						
							|  |  | alias -l MaxNicks { return 20 }
 | 
						
						
						
							|  |  | ;Change AKALogo, below, To the text you want displayed before each AKA result.
 | 
						
						
						
							|  |  | alias -l AKALogo { return 06 05A06K07A 06 }
 | 
						
						
						
							|  |  | ;**End Setup
 | 
						
						
						
							|  |  | ;*****************************************************************************;
 | 
						
						
						
							|  |  | On *:Join:#: {
 | 
						
						
						
							|  |  |   if ($nick == $me) { .timer 1 1 ialupdateCheck $chan }
 | 
						
						
						
							|  |  |   NickNamesAdd $nick $+($network,$wildsite)
 | 
						
						
						
							|  |  |   if ($JoinDisplay) { .timerNickNames $+ $nick 1 2 NickNames.display $nick $chan $network $wildsite }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | on *:Nick: { NickNamesAdd $newnick $+($network,$wildsite) $nick }
 | 
						
						
						
							|  |  | alias -l NickNames.display {
 | 
						
						
						
							|  |  |   if ($gettok($hget(NickNames,$+($3,$4)),0,126) > 1) {
 | 
						
						
						
							|  |  |     echo -g $2 $AKALogo $+(09,$1) $AKALogo 07 $mid($replace($hget(NickNames,$+($3,$4)),$chr(126),$chr(44)),2,-1)
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | alias -l NickNamesAdd {
 | 
						
						
						
							|  |  |   if ($hget(NickNames,$2)) {
 | 
						
						
						
							|  |  |     if (!$regex($hget(NickNames,$2),/~\Q $+ $replacecs($1,\E,\E\\E\Q) $+ \E~/i)) {
 | 
						
						
						
							|  |  |       if ($gettok($hget(NickNames,$2),0,126) <= $MaxNicks) {
 | 
						
						
						
							|  |  |         hadd NickNames $2 $+($hget(NickNames,$2),$1,~)
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |       else {
 | 
						
						
						
							|  |  |         hadd NickNames $2 $+($mid($hget(NickNames,$2),$pos($hget(NickNames,$2),~,2)),$1,~)
 | 
						
						
						
							|  |  |       }
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   else {
 | 
						
						
						
							|  |  |     hadd -m NickNames $2 $+(~,$1,~,$iif($3,$+($3,~)))
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | alias -l Fix.All.MindUser {
 | 
						
						
						
							|  |  |   var %Fix.Count = $hfind(NickNames,/[^~]+[0-9]{4}~/,0,r).data
 | 
						
						
						
							|  |  |   while (%Fix.Count) {
 | 
						
						
						
							|  |  |     if ($Fix.MindUser($hget(NickNames,$hfind(NickNames,/[^~]+[0-9]{4}~/,%Fix.Count,r).data))) {
 | 
						
						
						
							|  |  |       echo -ag Record %Fix.Count - $v1 - Was Cleaned
 | 
						
						
						
							|  |  |       hadd NickNames $hfind(NickNames,/[^~]+[0-9]{4}~/,%Fix.Count,r).data $v1
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     dec %Fix.Count
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | alias -l Fix.MindUser { return $regsubex($1,/[^~]+[0-9]{4}~/g,$null) }
 | 
						
						
						
							|  |  | menu nicklist,query {
 | 
						
						
						
							|  |  |   -
 | 
						
						
						
							|  |  |   .AKA
 | 
						
						
						
							|  |  |   ..Check $$1: {
 | 
						
						
						
							|  |  |     if ($gettok($hget(NickNames,$+($network,$address($1,2))),0,126) > 1) {
 | 
						
						
						
							|  |  |       NickNames.display $1 $active $network $address($1,2)
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     else { echo -ag $AKALogo $+(09,$1) 07has not been known by any other nicknames while I have been watching. }
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   ..Cleanup $$1:hadd NickNames $+($network,$address($1,2)) $fix.minduser($hget(NickNames,$+($network,$address($1,2))))
 | 
						
						
						
							|  |  |   ..Clear $$1:hadd NickNames $+($network,$address($1,2)) $+(~,$1,~)
 | 
						
						
						
							|  |  |   ..AKA Search Dialog:dialog $iif($dialog(AKA_Search),-v,-m) AKA_Search AKA_Search
 | 
						
						
						
							|  |  |   -
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | menu status,channel {
 | 
						
						
						
							|  |  |   -
 | 
						
						
						
							|  |  |   .AKA
 | 
						
						
						
							|  |  |   ..AKA Search Dialog:dialog $iif($dialog(AKA_Search),-v,-m) AKA_Search AKA_Search
 | 
						
						
						
							|  |  |   ..Clean All Records:Fix.All.Minduser
 | 
						
						
						
							|  |  |   -
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | dialog AKA_Search {
 | 
						
						
						
							|  |  |   title "AKA Search Engine"
 | 
						
						
						
							|  |  |   size -1 -1 206 221
 | 
						
						
						
							|  |  |   option dbu
 | 
						
						
						
							|  |  |   edit "", 1, 8 5 149 10, autohs
 | 
						
						
						
							|  |  |   button "Search", 2, 163 4 32 12
 | 
						
						
						
							|  |  |   radio "Search HostMask", 4, 61 22 55 10
 | 
						
						
						
							|  |  |   radio "Search Nicknames", 5, 123 22 56 10
 | 
						
						
						
							|  |  |   list 6, 8 38 190 169, sort extsel vsbar
 | 
						
						
						
							|  |  |   button "Check Selected", 7, 67 206 40 12
 | 
						
						
						
							|  |  |   button "Close", 8, 160 206 38 12, cancel
 | 
						
						
						
							|  |  |   box "Search Type", 3, 11 17 183 18
 | 
						
						
						
							|  |  |   button "Copy to Clipboard", 9, 111 206 46 12
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | On *:Dialog:Aka_Search:init:*: { did -c $dname 5 }
 | 
						
						
						
							|  |  | On *:Dialog:Aka_Search:Sclick:2,7,9: {
 | 
						
						
						
							|  |  |   if ($did == 2) && ($did($dname,1)) {
 | 
						
						
						
							|  |  |     did -r $dname 6
 | 
						
						
						
							|  |  |     var %search $+(*,$v1,*), %type $iif($did($dname,5).state,data,item), %matches = $hfind(NickNames,%search,0,w). [ $+ [ %type ] ]
 | 
						
						
						
							|  |  |     while (%matches) {
 | 
						
						
						
							|  |  |       did -a $dname 6 $hfind(NickNames,%search,%matches,w). [ $+ [ %type ] ]
 | 
						
						
						
							|  |  |       dec %matches
 | 
						
						
						
							|  |  |     }
 | 
						
						
						
							|  |  |     did -c $dname 6 1
 | 
						
						
						
							|  |  |   }
 | 
						
						
						
							|  |  |   elseif ($did == 7) && ($did($dname,6).seltext) { echo -ga $AKALogo 07 $mid($replace($hget(NickNames,$v1),$chr(126),$chr(44)),2,-1) }
 | 
						
						
						
							|  |  |   elseif ($did == 9) && ($did($dname,6).seltext) { clipboard $mid($v1,$pos($v1,*,1)) }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | On *:Start:{
 | 
						
						
						
							|  |  |   if (!$hget(NickNames)) { hmake NickNames 10 }
 | 
						
						
						
							|  |  |   if ($isfile(NickNames.hsh)) { hload  NickNames NickNames.hsh }
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | On *:Exit: { if ($hget(NickNames)) { hsave NickNames NickNames.hsh } }
 | 
						
						
						
							|  |  | On *:Disconnect: { if ($hget(NickNames)) { hsave NickNames NickNames.hsh } }
 | 
						
						
						
							|  |  | On *:Unload: { hfree NickNames }
 | 
						
						
						
							|  |  | alias -l ialupdateCheck {
 | 
						
						
						
							|  |  |   inc -z $+(%,ialupdateCheck,$network) $calc($nick($1,0) / 4)
 | 
						
						
						
							|  |  |   ;If your ial is already being updated on join .who $1 out.
 | 
						
						
						
							|  |  |   ;If you are using /names to update ial you will still need this line.
 | 
						
						
						
							|  |  |   .who $1
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | Raw 352:*: {
 | 
						
						
						
							|  |  |   if ($($+(%,ialupdateCheck,$network),2)) haltdef
 | 
						
						
						
							|  |  |   NickNamesAdd $6 $+($network,$address($6,2))
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | Raw 315:*: {
 | 
						
						
						
							|  |  |   if ($($+(%,ialupdateCheck,$network),2)) haltdef
 | 
						
						
						
							|  |  | }
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  | </textarea></form>
 | 
						
						
						
							|  |  |     <script>
 | 
						
						
						
							|  |  |       var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
 | 
						
						
						
							|  |  |         theme: "twilight",
 | 
						
						
						
							|  |  |         lineNumbers: true,
 | 
						
						
						
							|  |  |         matchBrackets: true,
 | 
						
						
						
							|  |  |         indentUnit: 4,
 | 
						
						
						
							|  |  |         mode: "text/mirc"
 | 
						
						
						
							|  |  |       });
 | 
						
						
						
							|  |  |     </script>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |     <p><strong>MIME types defined:</strong> <code>text/mirc</code>.</p>
 | 
						
						
						
							|  |  | 
 | 
						
						
						
							|  |  |   </article>
 |