Advertisement
SaNCaK

mIRC Channel Log Analyzer

Apr 19th, 2014
481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 8.35 KB | None | 0 0
  1. menu channel {
  2.   Log Analyzer:/loganalyzer
  3. }
  4. dialog loganalyzer {
  5.   title "Channel Log Analyzer"
  6.   size -1 -1 432 285
  7.   option dbu
  8.   button "Load from File", 3, 274 13 71 10
  9.   button "Load from Channel Buffer", 5, 274 25 146 10
  10.   button "Load from Clipboard", 6, 349 13 71 10
  11.   box "Removing Masks, Shitlisting, Banning, X-Banning, G-lining", 7, 268 150 158 129
  12.   list 1, 12 11 245 262, size extsel
  13.   box "Hostmasks", 4, 6 3 257 276
  14.   button "Save Hostmasks to Analyzed Log File", 14, 274 92 146 10
  15.   box "Select Channel to Ban/X-Ban Hostmasks on", 9, 274 221 146 52
  16.   button "Mass-G-Line Selected Hostmasks", 2, 274 184 146 10
  17.   button "Mass-Shitlist Selected Hostmasks", 8, 274 172 146 10
  18.   button "Remove Selected Masks", 10, 274 160 146 10
  19.   button "Mass-Ban Selected Hostmasks on Channel", 11, 274 196 146 10
  20.   list 12, 279 45 135 39, size
  21.   box "Select Channel to Load Buffer from", 13, 274 37 146 52
  22.   list 15, 279 229 135 39, size
  23.   box "Log Loading and Saving", 16, 268 3 158 105
  24.   button "Mass-X-Ban Selected Hostmasks on Channel", 17, 274 208 146 10
  25.   box "Filtering", 20, 268 110 158 37
  26.   check "Joins", 21, 281 119 28 10
  27.   check "Parts", 22, 335 119 28 10
  28.   check "Quits", 23, 388 119 28 10
  29.   button "Remove Events of Selected Type(s)", 24, 274 131 146 10
  30. }
  31.  
  32. alias all.chans {
  33.   var %allchans = $null, %a = 1
  34.   while (%a <= $chan(0)) {
  35.     var %allchans = $addtok(%allchans,$chan(%a),44)
  36.     inc %a 1
  37.   }
  38.   return %allchans
  39. }
  40.  
  41. alias massbanmasks {
  42.   set %mb.masks $addtok(%mb.masks,$2,32)
  43.   if ($numtok(%mb.masks,32) == 6) {
  44.     mode $$1 + $+ $str(b,$numtok(%mb.masks,32)) %mb.masks
  45.     .timermbban off
  46.     unset %mb.masks
  47.   }
  48.   if (%mb.masks) {
  49.     .timermbban 1 3 mode $$1 + $+ $str(b,$numtok(%mb.masks,32)) %mb.masks
  50.     .timermbban2 1 3 unset %mb.masks
  51.   }
  52. }
  53.  
  54. alias loganalyzer {
  55.   dialog -md loganalyzer loganalyzer
  56.   didtok loganalyzer 12 44 $all.chans
  57.   didtok loganalyzer 15 44 $all.chans
  58. }
  59.  
  60. alias laline {
  61.   return $gettok($$1,2-,32)
  62. }
  63.  
  64. on 1:dialog:loganalyzer:sclick:3:{
  65.   did -r loganalyzer 1
  66.   set %x 1
  67.   set %file $sfile(logs\)
  68.   while (%x <= $lines(%file)) {
  69.     set %z none
  70.     set %y $line(%logchan,%x)
  71.     set %z.1 *(*@*)*has*joined*#*
  72.     set %z.2 *(*@*)*quit*(*)*
  73.     set %z.3 *(*@*)*has*left*#*
  74.     if (%z.1 iswm %y) { set %z [JOIN]  }
  75.     else if (%z.2 iswm %y) { set %z [QUIT]  }
  76.     else if (%z.3 iswm %y) { set %z [PART]  }
  77.     if (%z != none) {
  78.       tokenize 32 %y
  79.       if ($chr(58) isin $1) {
  80.         set %a $3
  81.         set %b $4
  82.       }
  83.       else {
  84.         set %a $2
  85.         set %b $3
  86.       }
  87.       set %c $remove(%a,+,@)
  88.       set %d $remove(%b,$chr(40),$chr(41))
  89.       set %e %z $+(%c,!,%d)
  90.       ;      if (!$didwm(loganalyzer,1,%e)) {
  91.       ;if (!$didwm(loganalyzer,1,$mask(%e,2))) {
  92.       if (x*cservice@undernet.org !iswm %e) {
  93.         did -a loganalyzer 1 %e
  94.       }
  95.       ;}
  96.     }
  97.     inc %x 1
  98.   }
  99. }
  100.  
  101. on 1:dialog:loganalyzer:sclick:5:{
  102.   did -r loganalyzer 1
  103.   set %logchan $did(loganalyzer,12).seltext
  104.   if (%logchan) {
  105.     set %x 1
  106.     while (%x <= $line(%logchan,0)) {
  107.       set %z none
  108.       set %y $line(%logchan,%x)
  109.       set %z.1 *(*@*)*has*joined*#*
  110.       set %z.2 *(*@*)*quit*(*)*
  111.       set %z.3 *(*@*)*has*left*#*
  112.       if (%z.1 iswm %y) { set %z [JOIN]  }
  113.       else if (%z.2 iswm %y) { set %z [QUIT]  }
  114.       else if (%z.3 iswm %y) { set %z [PART]  }
  115.       if (%z != none) {
  116.         tokenize 32 %y
  117.         if ($chr(58) isin $1) {
  118.           set %a $3
  119.           set %b $4
  120.         }
  121.         else {
  122.           set %a $2
  123.           set %b $3
  124.         }
  125.         set %c $remove(%a,+,@)
  126.         set %d $remove(%b,$chr(40),$chr(41))
  127.         set %e %z $+(%c,!,%d)
  128.         if (x*cservice@undernet.org !iswm %e) {
  129.           did -a loganalyzer 1 %e
  130.         }
  131.       }
  132.       inc %x 1
  133.     }
  134.   }
  135. }
  136.  
  137. on 1:dialog:loganalyzer:sclick:6:{
  138.   did -r loganalyzer 1
  139.   set %logchan $did(loganalyzer,12).seltext
  140.   if (%logchan) {
  141.     set %x 1
  142.     while (%x <= $cb(0)) {
  143.       set %z none
  144.       set %y $cb(%x)
  145.       set %z.1 *(*@*)*has*joined*#*
  146.       set %z.2 *(*@*)*quit*(*)*
  147.       set %z.3 *(*@*)*has*left*#*
  148.       if (%z.1 iswm %y) { set %z [JOIN]  }
  149.       else if (%z.2 iswm %y) { set %z [QUIT]  }
  150.       else if (%z.3 iswm %y) { set %z [PART]  }
  151.       if (%z != none) {
  152.         tokenize 32 %y
  153.         if ($chr(58) isin $1) {
  154.           set %a $3
  155.           set %b $4
  156.         }
  157.         else {
  158.           set %a $2
  159.           set %b $3
  160.         }
  161.         set %c $remove(%a,+,@)
  162.         set %d $remove(%b,$chr(40),$chr(41))
  163.         set %e %z $+(%c,!,%d)
  164.         if (x*cservice@undernet.org !iswm %e) {
  165.           did -a loganalyzer 1 %e
  166.         }
  167.       }
  168.       inc %x 1
  169.     }
  170.   }
  171. }
  172.  
  173. on 1:dialog:loganalyzer:sclick:14:{
  174.   if ($did(loganalyzer,12).seltext) {
  175.     set %file logs\Analyzed $+ $did(loganalyzer,12).seltext $+ .log
  176.     .remove %file
  177.     write %file Log Analyzer Output for $did(loganalyzer,12).seltext
  178.     write %file -
  179.     set %x 1
  180.     write %file ** Full Hostmasks **
  181.     while (%x <= $did(loganalyzer,1).lines) {
  182.       write %file $laline($did(loganalyzer,1,%x))
  183.       inc %x 1
  184.     }
  185.     write %file -
  186.     write %file ** Type 2 Masks **
  187.     write %file -
  188.     set %x 1
  189.     while (%x <= $did(loganalyzer,1).lines) {
  190.       write %file $mask($laline($did(loganalyzer,1,%x)),2)
  191.       inc %x 1
  192.     }
  193.     run %file
  194.   }
  195. }
  196.  
  197. on 1:dialog:loganalyzer:sclick:10:{
  198.   while ($did(loganalyzer,1,0).sel) {
  199.     did -d loganalyzer 1 $did(loganalyzer,1,1).sel
  200.   }
  201. }
  202.  
  203. on 1:dialog:loganalyzer:sclick:8:{
  204.   set %x 1
  205.   while (%x <= $did(loganalyzer,1,0).sel) {
  206.     set %sel $did(loganalyzer,1,%x).sel
  207.     auser shitlist $mask($laline($did(loganalyzer,1,%sel)),2) Mass Shitlist
  208.     inc %x 1
  209.   }
  210. }
  211.  
  212.  
  213. on 1:dialog:loganalyzer:sclick:2:{
  214.   set %x 1
  215.   while (%x <= $did(loganalyzer,1,0).sel) {
  216.     set %sel $did(loganalyzer,1,%x).sel
  217.     echo -a os gline $right($mask($laline($did(loganalyzer,1,%sel)),2),-2) 10000000 Drones are not welcomed in this Network. Contact Gline@Beirut.com for help.
  218.     inc %x 1
  219.   }
  220. }
  221.  
  222. on 1:dialog:loganalyzer:sclick:11:{
  223.   if ($did(loganalyzer,15).seltext) {
  224.     set %loganalyzerchan $did(loganalyzer,15).seltext
  225.     set %loganalyzerbans $ibl(%loganalyzerchan,0)
  226.     set %loganalyzerbansleft $calc(45 - %loganalyzerbans)
  227.     set %loganalyzerbansel $did(loganalyzer,1,0).sel
  228.     if (%loganalyzerbansel > %loganalyzerbansleft) {
  229.       set %loganalyzerbansel %loganalyzerbansleft
  230.     }
  231.     ; msg %loganalyzerchan I have $did(loganalyzer,1,0).sel masks selected for mass banning.  The banlist now holds %loganalyzerbans bans.  That means I can mass ban %loganalyzerbansleft masks before reaching limit of 45.  This means I'll be setting %loganalyzerbansel bans right now.
  232.     set %x 1
  233.     while (%x <= %loganalyzerbansel) {
  234.       set %sel $did(loganalyzer,1,%x).sel
  235.       massbanmasks %loganalyzerchan $mask($laline($did(loganalyzer,1,%sel)),2)
  236.       inc %x 1
  237.     }
  238.   }
  239. }
  240.  
  241. on 1:dialog:loganalyzer:sclick:17:{
  242.   if ($did(loganalyzer,15).seltext) {
  243.     set %loganalyzerchan $did(loganalyzer,15).seltext
  244.     set %x 1
  245.     while (%x <= $did(loganalyzer,1,0).sel) {
  246.       set %sel $did(loganalyzer,1,%x).sel
  247.       .timerx.loganalyzer. [ $+ [ %x ] ] 1 $calc(%x * 5) msg x ban %loganalyzerchan $mask($laline($did(loganalyzer,1,%sel)),2) Mass X Ban
  248.       inc %x 1
  249.     }
  250.   }
  251. }
  252.  
  253. on 1:dialog:loganalyzer:sclick:24:{
  254.   if ($did(loganalyzer,21).state == 1) {
  255.     set %x 1
  256.     while (%x <= $did(loganalyzer,1).lines) {
  257.       set %y $did(loganalyzer,1,%x)
  258.       set %z $gettok(%y,1,32)
  259.       if (*join* iswm %z) { did -d loganalyzer 1 %x }
  260.       else { inc %x 1 }
  261.     }
  262.   }
  263.   if ($did(loganalyzer,22).state == 1) {
  264.     set %x 1
  265.     while (%x <= $did(loganalyzer,1).lines) {
  266.       set %y $did(loganalyzer,1,%x)
  267.       set %z $gettok(%y,1,32)
  268.       if (*part* iswm %z) { did -d loganalyzer 1 %x }
  269.       else { inc %x 1 }
  270.     }
  271.   }
  272.   if ($did(loganalyzer,23).state == 1) {
  273.     set %x 1
  274.     while (%x <= $did(loganalyzer,1).lines) {
  275.       set %y $did(loganalyzer,1,%x)
  276.       set %z $gettok(%y,1,32)
  277.       if (*quit* iswm %z) { did -d loganalyzer 1 %x }
  278.       else { inc %x 1 }
  279.     }
  280.   }
  281. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement