Jump to content

coders-irc_Bot

Administrators
  • Posts

    427
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by coders-irc_Bot

  1. We have just opened a new room for sports fan on Buzzen and with the help of my good friend err0r who made us a sports feeder of various sports news. And we also have made a sports bot for Trivia. Hope to see you all in there soon  🏐🏀🏒

     

     

    1000_F_287040016_RlNIBFKHVklWiF3O2Zaglug0eBIVFILX.jpg

  2. I like to Thank err0r for a great job he's doing on Relay Radio website. He has done so much for the site and added stuff that will make all the DJ's Happy. So with that said thanks Bro appreciate all you do for us.


                                ⋆*⁎ ᎢℋᎪɳᏦ ᎩӫᏌ ⁎*⋆
  3. Since a few things have changed on Buzzen pertaining to staff wise and few new staff, Buzzen has been getting more and more active. Once called the Lobby is now called Chill Zone. Also Relay Radio has grown with more DJ's and has become a Buzzen favorite radio station. Plus Buzzen Sports Bar has been vastly growing and becoming the no.1 chatroom, its great seeing chat come alive again !! 

     

     

    default.jpg

  4. The Chat Server has been upgraded with ssl (https) so Antivirus software and browsers should no longer give warnings about insecure connections. If you bookmarked a room in your browser you will have to update it from http to https or remove and re-add it after joining the room again. If you notice any issue report it to helpdesk or the support ticket system if no staff are available. 
  5. Kullanımı
    Sadece oplara göndermek için : / Mesaj #kanal op mesajınız
    Sadece normal kullanıcılara göndermek için : /mesaj #kanal user mesajınız.
    Kanaldaki tüm kullanıcılara göndermek için : /mesaj #kanal tümü mesajınız .

     

    alias mesaj {
      var %k = $1,%m = $3-,%p
      if ($2 = user) { set %p r }
      if ($2 = op) { set %p o }
      if ($2 = tümü) { set %p a }
      var %i 1
      while (%i <= $nick($1,0,%p)) {
        .msg $nick($1,%i,%p) %m
        inc %i
      }
    }

     

  6. Benzer aktivite kullami vardır Duration ve identifiers ile. Aşağıda paylaşım yaptığım parametre seçenek ile birlikte gün saat ve dakika olarak ayrı ayrı alabilirsiniz .




    Kullanımı : $dur(saniye)
    Properties : days, hours, minutes
    Örnek : ” //echo -a $dur(1258745) ” komutunu uyguladığınızda “ 1258745 ” saniyenin ” 14 days, 13:39 ” zaman birimine eşit olduğunu görürüz. Buda 14 gün 13 saat ve 39 dakika olduğunu söyler.

    Örnek : ” //echo -a $dur(1258745).hours ” komutunu uyguladığınızda ” 13 ” verisini alırız. Burada gün ve dakika harici sadece saatin gösterilmesini sağlamış olursunuz.

     

    ALIAS dur {
    var %uptime.days = 0, %uptime.time
    if ($regex($duration($1),/(\d+)wk/)) { %uptime.days = $calc($regml(1) * 7) }
    if ($regex($duration($1),/(\d+)day/)) { inc %uptime.days $regml(1) }
    var %uptime.dummy1 = $regex(hr,$duration($1),/(\d+)hr/), %uptime.dummy2 = $regex(min,$duration($1),/(\d+)min/)
    %uptime.time = $+($iif($regml(hr,0),$iif($len($regml(hr,1)) == 1,$+(0,$regml(hr,1)),$regml(hr,1)),00),:,$iif($regml(min,0),$iif($len($regml(min,1)) == 1,$+(0,$regml(min,1)),$regml(min,1)),00))
    if ($prop == days) return %uptime.days
    if ($prop == hours) return $gettok(%uptime.time,1,58)
    if ($prop == minutes) return $gettok(%uptime.time,2,58)
    else { return %uptime.days $+(day,$iif(%uptime.days &gt; 1,s),$chr(44)) %uptime.time }
    }

     

  7. Selam arkadaşlar ;
    Sunucarimizda ne kadar da /Motd (message of the day) 'da yasaklı olduğunu belirtsek de giriş yapan kullanıcılar için pek bir fayda etmemektedir.
    Örneğin : ahmet16 veya ayse17 gibi nicklerin giriş yapması kaçınılmaz bir durumdadır .
    Bu tarz nicklerin sunucuya giriş yaptığında otomatik olarak atılmasına yarayacak bir kodu sizlere sunmak istedim .
    Bu işlemler aktif olduğunda @Dikkat penceresine ya sayacaktir.
    İsteğe göre zline yerine $nick seçebilirsiniz.

     

    on *:join:#cinsellik: {
      if $len($regsubex($nick,/\D+/g,\1) == 2) && $regex($regsubex($nick,/\D+/g,\1),/^(12|13|14|15|16|17)$/i) && !$regex($regsubex($remove($nick,_,-,],[,^,|,`),/\d/g,\1),/(cm|sant[iİı]m|ya[sŞş]|sntm|snt|sntm|cantim)/i) && !$regex($regsubex($remove($nick,_,-,],[,^,|,`),/\D/g,\1),/(1[234567]cm|1[234567]ya[Şş]|1[234567]santim|1[234567]santm|cm1[234567]|santim1[234567])/i) {
    zline $nick - 18_Yaş_Giriş_Yasaktır.
     $iif(!$window(@dikkat),window -en @dikkat)
        echo 2 @dikkat $timestamp $nick nicki atıldı. | echo @dikkat -
     }
    }

     

  8. Botnix - A highly modular perl bot for IRC.

    Botnix is a highly modular, highly portable IRC bot designed to be connected to multiple networks at any one time. It is lightweight, fast and expandable, written in Perl. Botnix supports SSL, IPv6 and proxies, and is currently in beta stages of development. Many modules are already tested and working, such as modules to imitate an InfoBot, or to track when users were last seen. You can download it from our subversion repository or visit our forums below. There is a sizeable amount of documentation on our wiki, and more documentation will follow as it is needed.

    What is required to run Botnix?

    Perl (5.8.0 or above) with the Socket6 module and Digest::SHA1 module (bundled with perl or available from CPAN). For SSL support you also require the Net::SSLeay module. I can't get ActiveState perl to install Socket6 through PPM!

    A lot of the time you will find that PPM fails to install Socket6 (simply because ActiveState broke the package!). If you have problems you should install it with one of the following commands:

    ppm install http://www.botnix.org/ppm/Socket6.ppd
    ppm install http://www.open.com.au/radiator/free-downloads/Socket6.ppd
    

    These are precompiled binary packages which will work in ActiveState perl 5.8 and will run correctly. If one command fails, this is because the required tarballs are not on the server, please try the next command in this list. If you wish to mirror this directory structure, you may find a zip of the /ppm directory here.

    What is required for Gentoo users to run Botnix?

    For the very lazy:

    emerge Socket6 Digest-SHA1 Net-SSLeay.
    

    Do i need the Socket6 module even if my machine does not have ipv6 enabled?

    Yes. This is essentially a wrapper over Socket, so it is still required. It should still compile, so long as your operating system has the neccessary headers (e.g. if it's newer than around five years old... which it should be unless you like to run insecure software!)

    Can i have more than one logging module at a time?

    Yes, why not? 🙂 Remember to configure all the modules you use.

    Does the DCC module depend on the CTCP module, with DCC technically being a CTCP?

    No, we decided that this would be a somewhat pointless and annoying dependency.

    Why Perl?

    Because we felt like it. No, really... Perl is a text processing language, and IRC is essentially just text. Compared to high level languages like C and object languages like Python, Perl is able to process IRC text in a much more efficient manner, plus its support for regexps and its portability are second to none.

    Can i link my botnix bots together?

    Not yet.

    Why isn't my bot responding to any commands?

    You probably haven't loaded the modules/irc/cli.pm module. This module is essential if you want to issue any commands on channel or in private message. Please see the Annotated Example Config for more information.

    Are passwords case sensitive?

    Yes, also for the time being, network names are also case sensitive.

    I have the global owner flag, why won't the bot op me?

    In botnix, no flag should ever indirectly give the privilages of another flag. Therefore even if you are the bot owner you must add the 'operator' flag for yourself (addflags handle * * operator) for the bot to be able to op you.

    Where does botnix store its data?

    Botnix stores its data in two files which are specified in your configuration file. These two files are the userfile (usually with the extension .uf) and the store file (usually with the extension .store). All modules store their data in the store file, centralizing the information. Both are plaintext, however it is not recommended you edit these by hand unless you absolutely must, otherwise you may corrupt your settings.

    Can the bot join completely different channels on different networks?

    Yes, you could for example connect your bot to both ircnet and efnet, and have the bot on #one on ircnet and #two on efnet, or even on #three on both, at the same time. There are no real limitations on what can be joined and where.

    Do i have to use the same nick for my bot on all networks?

    No, you can configure a different nick, ident and GECOS (fullname field) for every network you connect your bot to.

    What does botnix support?

    Because botnix is beta software it does not yet have a full feature set. However it does support a large number of features already based upon what was learned from previous projects such as WinBot and IRC Defender, as shown below:

    Support for both IPv4 and IPv6 connections
    Support for HTTP Proxies
    SSL-encrypted IRC connections (over both IPv4 and IPv6)
    SQL Support
    Channel Mirroring (relay channel text between multiple networks)
    Support for multiple network connections in one bot process
    Modular support for CTCP
    Modular support for DCC CHAT
    Modular bot channel commands such as .OP and .BAN
    Sticky-ban support
    Powerful API with nonblocking sockets, timers and events
    Simplified bind-style configuration file format
    Mode queueing (merge several +b or +o into one line)
    Support for unrealircd founder/protect/halfop plus many InspIRCd modes and features
    Userfile and user manipulation with login/logout
    Local and global user flags (global to a network or to all networks)
    Mode enforcement (modelock)
    Channel key management
    'Floating' channel limits
    Modular command interpreter (load/unload the ability to issue commands in message or on channel etc)
    Flood protection
    Clone protection
    Support for telnet control of the bot (via a module)
    

    Why is botnix spamming my console?

    You didn't load a logging module. You must load and configure at least one logging module. If you do not want to log you should probably load the 'null' logging module, modules/log/null.pm.

    Why did you name this project 'botnix'? What does it mean?

    The name just sounded kind of cool. No, really.

    Actually the name has two origins... Firstly, it comes from a character from the video game "Sonic The Hedgehog", called Dr Robotnik. This project being an IRC robot, it seemed perfectly apt. Not just that, but, if you take the two words bot and unix.... well, you get the idea...

    When i load botnix on windows, it says its going into the background, but then it hangs!

    It hasn't actually hung. If you have text like this in your command prompt:

    Botnix 0.4.5
    Initializing: STORE MODULES CONFIG USERS
    Done, switching to background using SW_HIDE...
    

    Then all you need to do is press enter, and you will return to the command prompt again. The bot will continue to run in the background.

    On windows, when i close the window that started botnix, it takes botnix with it!

    There is nothing we can do about this. You should probably bug the perl win32 maintainers and get them to fix the severely broken fork emulation on windows which stops perl programs forking normally.

    If this bugs you, find another use for the console after you spawn botnix. Fire up lynx or something.

    Will botnix let me connect the same bot multiple times to the same network with different nicks?

    Yes, but why would you want to do this legitimately? To do this, simply give each connection a different network name.

    botnix-master.zip

  9. ;remotes
    ;usage: /agreet <nick> <message>
    ;will only activate one every 5 seconds for each nick. remove the set line to disable it.
    on *:join:#coders-irc-lounge: { 
      var %e $+($nick,.txt)
      if ($read(%e) && !%flood. [ $+ [ $nick ] ]) {
        echo -a $readn
        msg # $read(%e, $rand(1,$readn))
        set -u5 $+(%,flood,.,$nick) 1
      }
    }
    alias agreet {
      write -a $+($1,.txt) $2- 
    }

     

  10. IRC × OAuth 2.0

    In the past few days I’ve been working on better integrating IRC with OAuth 2.0. In a nutshell, my goal is to make IRC clients obtain a token by interacting with an OAuth 2.0 server, and then use that token to authenticate with the IRC server. This effort has resulted in various patches for meta.sr.ht’s OAuth 2.0 server, for the soju IRC bouncer and for the gamja & goguma IRC clients.

    Read more here

  11. I've been playing with Bot Manager v2.2 by entropy 

    Its amazing all what you need for a bot control in your room and server. I congradulate him on a well done job on this.

    I have it running on my server and in my room #coders-irc-lounge 0n irc.coders-irc.net 6667

    This addon has many exceptiona l feature and commands if you looking to download it get it here or mircscripts

    logo.png

  12. Beta v7.71.1275 changes:
    1.Item 1, https://forums.mirc.com/ubbthreads.php/topics/270820
    2.Item 2, changed.
    3.Item 3, https://forums.mirc.com/ubbthreads.php/topics/270870
      These test scripts have been added to my if/while/bracket/
      separator unit tests.
    4.Item 4, https://forums.mirc.com/ubbthreads.php/topics/270870
    5.Item 5, https://forums.mirc.com/ubbthreads.php/topics/270870
    6.Item 6, https://forums.mirc.com/ubbthreads.php/topics/270888
    7.Item 7, https://forums.mirc.com/ubbthreads.php/topics/270837
              https://forums.mirc.com/ubbthreads.php/topics/270785
    8.Item 8, updated.
    9.Item 9, https://forums.mirc.com/ubbthreads.php/topics/270754
      Experimental. See forum post for details.
    10.Item 10, https://forums.mirc.com/ubbthreads.php/topics/270754
      Now automatically detects an overflow and switches to big float
      for large numbers.
    
    Changes:
    1.Changed /nick, /mnick, /anick, to override /server -i local
      settings when not connected to a server.
    2.Changed $wrap() to allow an empty switch parameter.
    3.Fixed script parser bug when handling non-while/if { } brackets.
    4.Fixed /var parsing bug in single-line scripts split across
      multiple lines using combinations of {} and |.
    5.Fixed nested single-line if/while bug.
    6.Fixed scripts editor not allowing multiple empty alias files.
    7.Fixed scripts editor Listen and View menu bugs when in the
      users/variables sections.
    8.Updated zlib library to v1.2.13.
    9.Added support for big float calculations using MAPM library.
      This can be enabled with the command /bigfloat [on|off] for the
      whole script or by using a %var.bf variable name to enable it
      for a command/identifier. The $bigfloat identifier can be used
      to check the current bigfloat state.
    10.Extended $base() to handle big numbers.
    
     
     
  13. This is a forum request made by toclafane1 who wants a script to be able to report the info about a snippet or script's title, likes, average score, date added, and last updated via its link when posted.> check out www.hawkee.com/snippet/9097/

    Title: RottenTomato Movie Search Likes: 2 like(s) Average Score: 6.5 (of 2 scores) Date Added: Oct 23, 2011 Last Updated: Oct 24, 2011> let's see about this link: http://www.hawkee.com/scripts/23905971/ Title: Password Character Picker Developer: Jonesy44 Likes: 0 like(s) Date Added: Nov 12, 2011 ```mirc on *:exit: if ($isfile(hawkee)) .remove hawkee on *:sockclose:hawkeesnippet_*:{ .play -c $token($sock($sockname).mark,4,32) hawkee 2000 } on *:sockopen:hawkeesnippet_*:{ if (!$sockerr) { write -c hawkee tokenize 32 $sock($sockname).mark var %hawkee = sockwrite -nt $sockname %hawkee GET $2 HTTP/1.0 %hawkee Host: $+($sock($sockname).addr,$str($crlf,2)) %hawkee Connection: close } else $3-4 $sock($sockname).addr is having a technical difficulty. Try again later. } on $*:text:/(http\072\/\/)?w{3}\.hawkee\.com(\/s(nippet|cripts).*\/)/:#:{ if (!$play(#)) { var %hawkeee = $+(hawkeesnippet_script,$site,$str($ticks,3)) var %hawkeeinfo = $remove($+($regml(1),$regml(2)),http://) sockopen %hawkeee www.hawkee.com 80 sockmark %hawkeee $!bvar(&hawkee,1-).text %hawkeeinfo .msg # } } on *:sockread:hawkeesnippet_*:{ tokenize 32 $sock($sockname).mark | sockread &hawkee if (!$sockerr) { var %d = /(?s)(Description)(\s*\K.+?(?=\s*).*)/ var %t = /(.*)-/, %l = /(\d+)<\/b>( like\(s\))<\/span>/ var %s = /px">(.*)<\/b>.*(\(.*\))<\/span>/, %a = /(.*)/ var %lu = /(?s)Last Updated <\/td>(\s*\K.+?(?=\s*).*)/ if ($regex([ [ $1 ] ],%t)) { write hawkee $3-4 $+($chr(2),Title:,$chr(2)) $regml(1) } if ($regex([ [ $1 ] ],/-bottom: 6px;">(.*)

    on *:sockclose:hawkeesnippet_*:{
      .msg %HawkeeC [14TiTLE] $+(7,%Hawkee_Title,) $+($iif(%Hawkee_Score,$+(15,$chr(40),,$v1)),$iif(%Hawkee_Likes,$+($chr(32),14-4#14-) $v1 $+(3like,$iif($v1 > 1,s),15,$chr(41),))) 14Added: $iif(%Hawkee_DateA != %Hawkee_DateU,$v1 5Updated: $v2,$v1) $iif(%Hawkee_Devl,14by: $v1) | unset %Hawkee*
    }
    on *:sockopen:hawkeesnippet_*:{
      if ($sockerr) { $3-4 $sock($sockname).addr is having a technical difficulty. Try again later. | return }
      tokenize 32 $sock($sockname).mark 
      var %hawkee = sockwrite -nt $sockname
      %hawkee GET $2 HTTP/1.0
      %hawkee Host: $+($sock($sockname).addr,$str($crlf,2))
      %hawkee Connection: close
    }
    on $*:text:/(http\072\/\/)?w{3}\.hawkee\.com(\/s(nippet|cripts).*\/)/:#:{
      if (!%Hawkee) { set -u30 %HawkeeC #
        var %hawkeee = $+(hawkeesnippet_script,$site,$str($ticks,3)) 
        var %hawkeeinfo = $remove($+($regml(1),$regml(2)),http://)
        sockopen %hawkeee www.hawkee.com 80
        sockmark %hawkeee $!bvar(&hawkee,1-).text %hawkeeinfo .msg #
      }
    }
    on *:sockread:hawkeesnippet_*:{
      tokenize 32 $sock($sockname).mark | sockread &hawkee 
      if ($sockerr) { $3-4 $sock($sockname).addr is having a technical difficulty. Try again later. | return }
      ;********************************************************************************************************
      var %d = /(?s)(Description)</h1>(\s*\K.+?(?=\s*).*)/
      var %t = /<title>(.*)-/, %l = /<b>(\d+)<\/b>( like\(s\))<\/span>/
      var %s = /px"><b>(.*)<\/b>.*(\(.*\))<\/span>/, %a = /(.*)</b></td>/
      var %lu = /(?s)Last Updated&nbsp;<\/td>(\s*\K.+?(?=\s*).*)/
      ;********************************************************************************************************
      if ($regex([ [ $1 ] ],%t)) { set %Hawkee_Title $regml(1) }
      if ($regex([ [ $1 ] ],/-bottom: 6px;">(.*)</div>/)) { set %Hawkee_Devl $regml(1) }
      if ($regex([ [ $1 ] ],%l)) { set %Hawkee_Likes $regml(1) }
      if ($regex([ [ $1 ] ],%s)) { set %Hawkee_Score $+($regml(1),14/10) }
      if (date added isin [ [ $1 ] ]) && ($regex($v2,%a)) { set %Hawkee_DateA $token($regml(1),-1,62) }
      if ($regex([ [ $1 ] ],%lu)) { set %Hawkee_DateU $token($token($regml(1),3,62),1,60) }
      if ($regex([ [ $1 ] ],/6px;"><b>(\S+ \d+, \d{4})/)) { set %Hawkee_DateA $regml(1) }
      if ($regex([ [ $1 ] ],/center;">(\S+ \d+, \d{4})/)) { set %Hawkee_DateU $regml(1) }
      ;********************************************************************************************************
    }

     

  14. This is a forum request made by maria who wishes to have the latest comment checked via reddit.com. The script will then send the info to a channel with its title, short link and by whom. I thought I'd make this a snippet submission to benefit those who find it useful or usable.

    Usage: right-click on your channel or nick list to toggle "Reddit On" and "Reddit Off" to get started.

    Edit: I've updated the script to include the latest post as requested by maria previously.

    alias -l reddit {
      var %i = 1, %socks = reddit reddit2
      while ($gettok(%socks,%i,32)) {
        var %v1 = $v1
        if ($sock(%v1)) sockclose $v1
        sockopen %v1 www.reddit.com 80
        sockmark %v1 msg $1
        inc %i
      }
    }
    alias -l trans {
      return $replace($1,&lt;,<,&gt;,>,&quot;,",&nbsp;,$chr(160),&amp;,&,&amp;#39;,')
    }
    on *:sockclose:reddit*:{
      if ($sock($sockname).name == reddit) {
        if ($hget(data2)) && ($hget(data3)) && ($hget(data4)) {
          $sock($sockname).mark $+($chr(2),Latest Comment:,$chr(2)) $&
            [ [ $remove($+($hget(data2,1).item,$chr(32),$hget(data2,1).data),r/) ] ]
          $sock($sockname).mark $+($chr(2),Latest Post:,$chr(2)) $&
            $+($hget(data3,1).item,$chr(32),$hget(data3,1).data) - $&
            $hget(data4,1).item by $hget(data5,1).item 
          hfree -w data*
        }
      }
      else { 
        if ($sock(reddit2)) sockclose $v1
        sockopen reddit2 www.reddit.com 80
        sockmark reddit2 msg $1
      }
    }
    menu channel,nicklist {
      Reddit
      .ON {
        if (!%reddits) {
          set -e %reddits $$?"Which Reddit to Watch?"
          set -e %reddittime $$?"How often do you want the latest post checked $&
            and sent to the channel in seconds?"
          $+(.timer,#,$network) 0 %reddittime reddit #
          echo 2 # * Reddit Set for: $+($chr(2),%reddits)
          echo 2 # * Time Interval in Seconds: $+($chr(2),%reddittime)
          if (%true) unset $v1
        }
        else echo 4 # * Reddit is Already Switched On!
      }
      .OFF { 
        if (%reddits) {
          $+(.timer,#,$network) off 
          echo 2 * Reddit Has Been Turned Off!
          unset %reddit* %true
        }
        else echo 4 # * Reddit is Already Switched Off!
      }
    }
    on *:sockopen:reddit*:{
      if ($sockerr) { 
        echo 4 $gettok($sock(reddit).mark,2,32) Error Connecting to $sock(reddit).addr
        sockclose reddit
      }
      if ($sock($sockname).name == reddit) {
        var %reddit = sockwrite -nt reddit
        %reddit GET $+(/r/,%reddits,/comments?limit=1) HTTP/1.0
        %reddit Connection: close
        %reddit Host: $+($sock(reddit).addr,$str($crlf,2))
      }
      else {
        var %reddit2 = sockwrite -nt reddit2
        %reddit2 GET $+(/r/,%reddits,/new.json?sort=new) HTTP/1.0
        %reddit2 Connection: close
        %reddit2 Host: $+($sock(reddit).addr,$str($crlf,2))
      }
    }
    on *:sockread:reddit*:{
      if ($sockerr) { 
        echo 4 $gettok($sock(reddit).mark,2,32) Error Reading $sock(reddit).addr
        sockclose reddit
      }
      if ($sock($sockname).name == reddit) {
        sockread &reddit
        var %g = $regsubex($bvar(&reddit,1-).text,/\/r\/|&#\d+;/g,)
        if ($regex(%g,/<\/div><\/form><ul class="flat-list buttons">(.*)/)) {
          hadd -m data $+($sock(reddit).addr,/tb/,$gettok($iif($regex($regml(1),$&
            /\/comments\/(\S+)\//),$trans($regml(1))),1,47))
        }
        if ($regex(%g,/class="title" rel="nofollow" >(.*)class="author/)) {
          hadd -m data2 $gettok($trans($regml(1)),1,60) - $&
            $!+($chr(3),12,$hget(data,1).item,$chr(3)) by $+($chr(3),05,$&
            $iif($regex($regml(1),/\/user\/(\S+)"/),$regml(1)))
        }
      }
      else {
        sockread &reddit2
        var %g2 = $bvar(&reddit2,1-).text
        if ($regex(%g2,/"title"\: "(.*)"/)) {
          hadd -m data3 $gettok($trans($regml(1)),1,34) 
        }
        if ($regex(%g2,/"id"\: "(.*)"/)) {
          hadd -m data4 $+($chr(3),12,$gettok($+(http://redd.it/,$&
            $trans($regml(1))),1,34),$chr(3))
          sockclose $sockname
        }
        if ($regex(%g2,/"author"\: "(.*)"/)) { 
          hadd -m data5 $+($chr(3),05,$gettok($regml(1),1,34))
        }
      }
    }
    on me:*:join:#:{
      if (%true) notice $me Reddit has been toggled off. Right-click on $&
        the nicklist or channel to toggle it on. | unset %true
    }
    on *:disconnect: if (%reddits) $+(.timer,#,$network) off | set -e %true 1
    on me:*:part:#: if (%reddits) $+(.timer,#,$network) off | set -e %true 1
    on *:kick:#:{
      if ($knick == $me) && (%reddits) $+(.timer,#,$network) off
      set -e %true 1
    }
    on *:quit:{
      if ($nick == $me) && (%reddits) {
        var %c = 1
        while ($comchan($me,%c)) {
          $+(.timer,$v1,$network) off
          set -e %true 1
          inc %c
        }
      }
    }

     

  15. This work below is yet another forum request that I've decided to submit as a part of my snippet collection. For those who find this snippet useful, It's for the bot client, and the trigger is either !facts, @facts, .facts or !jokes, @jokes, .jokes.

    on $*:text:/^[!@.](fact|joke)s$/iS:#:{
      if (!%f) { 
        inc -u3 %f
        var %s = $+(rjf,$str($ticks,2),$site)
        if ($sock(%s)) sockclose $v1
        sockopen %s www.randomfunfacts.com 80
        sockmark %s .msg # $regml(1)
      }
    }
    on *:sockclose:rjf*:{
      tokenize 32 $sock($sockname).mark
      var %s = $+(rjf,$str($ticks,2),$site)
      if ($sock(%s)) sockclose $v1
      sockopen %s www.jokesclean.com 80
      sockmark %s $1-2
    }
    on *:sockopen:rjf*:{
      tokenize 32 $sock($sockname).mark
      if ($sockerr) {
        $1-2 Error: Connection Issue...
        sockclose $sockname
      }
      else {
        if ($3 == fact) {
          var %rjf = sockwrite -nt $sockname
          %rjf GET / HTTP/1.1
          %rjf Connection: close
          %rjf Host: $+($sock($sockname).addr,$str($crlf,2))
        }
        else {
          var %rjf = sockwrite -nt $sockname
          %rjf GET /OneLiner/Random/ HTTP/1.0
          %rjf Host: $+($sock($sockname).addr,$str($crlf,2))
        }
      }
    }
    on *:sockread:rjf*:{
      tokenize 32 $sock($sockname).mark
      if ($sockerr) {
        $1-2 Error: Issues in Reading...
        sockclose $sockname
        halt
      }
      goto $iif($3 == fact,fact,joke)
      :fact
      sockread &rjf
      var %info = $regsubex($bvar(&rjf,1-).text,/<[^>]*>|\t$&
        $+ RLOpenInNewWindow|"1";|var RLRepeatKeywords/g,$chr(32))
      if ($gettok($replace(%info,&nbsp;,$chr(94)),2,94)) {
        $1-2 $remove($gettok($v1,11-,32),24c6)
        sockclose $sockname | halt
        :joke
        var %jokes
        sockread %jokes
        if ($regex(%jokes,/(.*)<\/font><\/p>/)) {
          $sock($sockname).mark $replace($gettok($regml(1),3-,62),&nbsp;,$chr(32))
          sockclose $sockname
        }
        halt
      }
    }

     

  16. MASS JOIN KICKER II

    Stomps out large amounts of clones/spam bots from entering your channel. Triggered at 7 joins in 5 seconds, it automatically locks down the channel and kicks out all the clones/spam bots that come in.

    Just copy and paste to your remotes After loading if it asks to run initialization commands, click "Yes". Then right click and go down to MASS JOIN KICKER II and it can be toggled on and off.

    ;MASS JOIN KICKER II
    ;By Neo Nemesis
    ;Contributors: Jethro_
    ;Thanks to: Hawkee Forums
    
    on *:START: { massjoin }
    on *:LOAD: { massjoin }
    on *:CONNECT: { massjoin }
    
    alias -l massjoin { if ($hget(massjoin) == $null) { hmake massjoin 750 } }
    alias -l abmj { 
      echo -a 12,1*!14 MASS JOIN KICKER II 12!*
      echo -a 12,1*!14 By Neo Nemesis 12!*
      echo -a 12,1*!14 http://mirc-deluxe.webs.com 12!* 
    }
    
    on @*:JOIN:#: {
      if (%massjoin == $true) {
        set -u15 %mj1 $addtok(%mj1,$nick,44)
        hinc -mu5 massjoin JOIN 1
        if ($hget(massjoin,JOIN) >= 7) {
          if (%modechan != $true) {
            mode $chan +im
            set -u15 %modechan $true
            set -u15 %mj2 1
            notice $chan 12*! 4MASS JOIN DETECTED12 !* 2- 12channel locked down for4 5-7 minuets.12 Sorry for any inconvenience this may cause.
            .timermjs 1 300 mode $chan -im
          }
          while (%mj2 <= $numtok(%mj1,44)) {
            if ($gettok(%mj1,%mj2,44) ison $chan) && ($gettok(%mj1,%mj2,44) !isreg $chan) {
              if (%mj2 <= 8) { .timermj $+ %mj2 -m 1 $calc(780 * %mj2 kick $chan $gettok(%mj1,%mj2,44) 2MASS JOIN KICKER II - By Neo Nemesis }
              elseif (%mj2 > 8) { .timermj $+ %mj2 -m 1 $calc(897 * %mj2) kick $chan $gettok(%mj1,%mj2,44) 2MASS JOIN KICKER II - By Neo Nemesis }
            }
            inc %mj2
          }
        }
      }
    }
    menu status,query,nicklist,channel {
      MASS JOIN KICKER II - $iif(%massjoin = $true,ON,OFF)
      .ON:/set %massjoin $true
      .OFF:/set %massjoin $false
      .About:/abmj
    }

     

  17. Using mIRC's raw numeric events, this script modifies the information that is shown when you do /whois or /whowas. Shows more info on the user.

    DeluXe Whois II - By Neo Nemesis
    ;whois script
    
    raw 311:*: { echo -a  $+ $color(whois) $+ - | echo -a 12*!*14 DeluXe Whois II 12*!*4 ( $+ $2 $+ )12 *!* | echo -a 4Hostmask: $+ $color(whois) *!*@ $+ $4 $+  | echo -a 4E-mail: $+ $color(whois) $3 $+  | echo -a 4Fullname: $+ $color(whois) $6- $+  | halt }
    raw 307:*: { echo -a 4Registered: $+ $color(whois) $4- $+  | halt }
    raw 319:*: { echo -a 4Channels: $+ $color(whois) $3- $+  | halt }
    raw 312:*: { if (%whowas != $true) { echo -a 4Server: $+ $color(whois) $3 $+  | echo -a 4IRCd: $+ $color(whois) $4- $+  | halt } | elseif (%whowas == $true) { echo -a 4Server: $+ $color(whois) $3 | echo -a 4Date: $+ $color(whois) $4- | unset %whowas | halt } }
    raw 317:*: { echo -a 4Idle time: $+ $color(whois) $duration($3) $+  | echo -a 4Sign on: $+ $color(whois) $asctime($4) $+  | halt }
    raw 313:*: { echo -a 4IRCop: $+ $color(whois) $5- $+  | halt }
    raw 310:*: { echo -a 4Helpful: $+ $color(info) $3- $+  | halt }
    raw 309:*: { echo -a 4Language: $+ $color(info) $3- $+  | halt }
    raw 325:*: { echo -a 4Language Filter: $+ $color(info) $3- $+  | halt }
    raw 301:*: { echo -a 4Away: $+ $color(info) $3- $+  | halt }
    raw 318:*: { echo -a 12*!*14 End of /whois 12*!* | echo -a  $+ $color(whois) $+ - | halt }
    raw 314:*: { %whowas = $true | echo -a  $+ $color(whois) $+ - | echo -a 12*!*14 DeluXe Whowas 12*!*4 ( $+ $2 $+ )12 *!* | echo -a 4Hostkmask: $+ $color(whois) *!*@* $+ $4 $+  | echo -a 4E-mail: $+ $color(whois) $3 $+  | echo -a 4Fullname: $+ $color(whois) $6-  | halt }
    raw 406:*: { echo -a  $+ $color(whois) $+ - | echo -a 12*!*14 $2 there was no such nickname. 12*!* | halt }
    raw 369:*: { echo -a 12*!*14 End of /whowas 12*!* | echo -a  $+ $color(whois) $+ - | halt }
    raw 344:*: { echo -a 4SSL: $+ $color(whois) $4- $+  | halt }
    raw 334:*: { if (interests isin $1-) { echo -a 4Interests: $+ $color(whois) $4- $+  } | elseif (location isin $1-) { echo -a 4Location: $+ $color(whois) $4- $+  } | elseif (occupation isin $1-) { echo -a 4Occupation: $+ $color(whois) $4- $+  } | halt }
    raw 379:*: { echo -a 4User Modes: $+ $color(whois) $6- | halt }
    raw 671:*: { echo -a 4Secure Connection: $+ $color(whois) $3- | halt }
    raw 320:*: { echo -a 4Info: $+ $color(whois) $3- | halt }
    raw 338:*: { echo -a 4IP: $+ $color(whois) $3- | halt }
    raw 340:*: { echo -a 4IP: $+ $color(whois) $2- | halt }

     

  18. Updated to version 1.81, fixed the bugs from 1.76

    DeluXe MP3 1.81 is a nice MP3 player for your mIRC. It works nicely and doesn't require you moving any MP3 files into a certain directory, and can play mp3 files that are stored anywhere on your computer! It can play only .mp3 format sound files. Has a customizable colour pop-up (for music info) As well as a built in volume control and iconic buttons. It also has a nice "size efficient" look and fits nicely right at the top of your screen, under the toolbar or wherever you want to put it! Much more better than its built-into-the-custom-toolbar counter-part version 1.5 which will be featured in mIRC-DeluXe 1.5.5 (Hopefully to be released soon).

    Made by request for Shizuma ❤️

    Available to everyone, try it out let me know what you think.

    PLEASE READ THE README!!! FILE LOCATED IN THE ZIP FILE IT CONTAINS SPECIAL LOADING INSTRUCTIONS THAT MUST BE FOLLOWED IN ORDER FOR THE SCRIPT INITIATE PROPERLY. WORKS THE BEST IN C:\mIRC\

    Works best on mIRC 6.35 and Windows XP. As for Windows Vista and Windows 7 I am unsure how they will work. Version 1.76 had compatibility problems with Windows Vista for some reason, hopefully those problems were eliminated in 1.81

    DeluXeMP3181.zip

  19. ntended for a channel bot.

    Just copy and paste into remotes.

    mIRC 6.35+

    Gives information on youtube links when posted in the channel, and can now also do YOUTBUE SEARCHES!

    Triggered when YouTube link is posted in chat....

    YouTube Link Info:

    [15:42] <@Neo-Nemesis> http://www.youtube.com/watch?v=rwY3Ftfdy6M
    [15:42] <@Boris_III> YouTube Title: Iron Maiden - Killers
    [15:42] <@Boris_III> YouTube Info: Iron Maiden - Killers Members: Paul Di'Anno - vocals Steve Harris - bass guitar Dave Murray - guitar Adrian Smith - guitar Clive Burr - drums Iron Maiden's o...

    Triggered when user types !youtube

    YouTube Search:

    [15:43] <@Neo-Nemesis> !youtube Iron Maiden
    [15:43] <@Boris_III> YouTube Search - About 105,000 results - http://www.youtube.com/results?search_query=Iron+Maiden&aq=f
    [15:43] <@Boris_III> YouTube Official YouTube Channel Link http://www.youtube.com/user/ironmaiden?blend=1
    [15:43] <@Boris_III> YouTube Iron Maiden Wasted Years Link: http://www.youtube.com/watch?v=SwB9zg7Tbx8
    [15:43] <@Boris_III> YouTube Iron Maiden, ACDC and Guns N Roses 4 LIFE Link http://www.youtube.com/user/benoitiginla12?blend=3
    [15:43] <@Boris_III> YouTube aces high Link: http://www.youtube.com/watch?v=4Sam5omG0v0

    ;YouTube Info 2.0
    ;By Neo Nemesis
    on *:TEXT:*youtube*:#: {
      if ($1 == !youtube) { 
        %c.ytb = $chan
        YouTube search $2-
      }
      else {
        %c.ytb = $chan
        YouTube $1
      }
    }
    alias s.YTB.Parse {
      if (&amp; isin $remove($gettok($1-,2,32),href=",$chr(34))) { return $replace($remove($gettok($remove($1-,<h3>,<b>,</b>,</h3>),2,62),</a),&quot;,$chr(34),&#39;,$chr(39),&amp;,$chr(38)) 4Link15 http://www.youtube.com $+ $gettok($remove($gettok($1-,2,32),href=",$chr(34)),1,38) }
      else { return $replace($remove($gettok($remove($1-,<h3>,<b>,</b>,</h3>),2,62),</a),&quot;,$chr(34),&#39;,$chr(39),&amp;,$chr(38)) 4Link:15 http://www.youtube.com $+ $remove($gettok($1-,2,32),href=",$chr(34)) }
    }
    alias YouTube {
      if ($1 == search) {
        ;search
        unset %ysrc*
        sockclose s.ytb
        %ysrch = /results?search_query= $+ $replace($2-,$chr(32),$chr(43)) $+ &aq=f
        sockopen s.ytb www.youtube.com 80
      }
      else {
        unset %ytb*
        sockclose ytb
        %ytb1 = $remove($1,http://,www.,youtube,.com)
        sockopen ytb www.youtube.com 80
      }
    }
    on *:SOCKOPEN:s.ytb: {
      sockwrite -n $sockname GET %ysrch HTTP/1.1
      sockwrite -n $sockname Host: www.youtube.com
      sockwrite -n $sockname Connection: Close
      sockwrite -n $sockname Content-Type: text/html
      sockwrite -n $sockname $crlf
    }
    on *:SOCKREAD:s.ytb: {
      sockread %ysrc.1
      if (About <strong> isin %ysrc.1) { 
        .timerYTB6 1 1 msg %c.ytb 1,0You0,4Tube15,1 Search - $remove(%ysrc.1,<strong>,</strong>) - http://www.youtube.com $+ %ysrch
        %ysrc.3 = $true
      }
      if (dir="ltr" title=" isin %ysrc.1) && (%ysrc.3 == $true) {
        if (%ysrc.2) { inc %ysrc.2 }
        else { %ysrc.2 = 1 }
        if (%ysrc.2 <= 4) { .timerYTBb $+ %ysrc.2 1 $calc(%ysrc.2 + $rand(1,2)) msg %c.ytb 1,0You0,4Tube15,1 $s.YTB.Parse(%ysrc.1) }
        else { sockclose s.ytb } 
      }
    }
    on *:SOCKOPEN:ytb: {
      sockwrite -n $sockname GET %ytb1 HTTP/1.1
      sockwrite -n $sockname Host: www.youtube.com
      sockwrite -n $sockname Connection: Close
      sockwrite -n $sockname Content-Type: text/html
      sockwrite -n $sockname $crlf 
    }
    on *:SOCKREAD:ytb: {
      sockread %ytb2
      if (<meta name=" isin %ytb2) {
        if (="title" content=" isin %ytb2) { 
          %ytb.title = $remove(%ytb2,<meta name="title" content=",">) 
          .timerYTB1 1 1 msg %c.ytb 1,0You0,4Tube15,1 Title: $replace(%ytb.title,&#39;,$chr(39),&quot;,$chr(34),&amp;,$chr(38)) $+ 
        }
        if (="description" content=" isin %ytb2) { 
          %ytb.desc = $remove(%ytb2,<meta name="description" content=",">)
          .timerYTB2 1 2 msg %c.ytb 1,0You0,4Tube15,1 Info: $replace(%ytb.desc,&#39;,$chr(39),&quot;,$chr(34),&amp;,$chr(38)) $+ 
        }
        if (%ytb.title) && (%ytb.desc) { sockclose ytb }
      }
    }

     

  20. Simple LAZOR script. Variation of the FIRIN' MAH LAZOR snippet.

    Contributors: Maximus

    Commands
    /minilazor

    Examples:

    /minilazor
    This fires the mini lazor at the active window.

    /minilazor napa182
    This fires the mini lazor at napa182

    /minilazor #channel
    This fires the mini lazor at #channel

    Paste in remotes or in aliases file. If your going to paste in the aliases file, remove the "alias" infront of MiniLazor in the code snippet below.

    alias MiniLazor {
      if ($1 == $null) && ($active != status window) { %minilazor = $active }
      elseif ($1 != $null) { %minilazor = $1 } 
      .timermlzr -m 10 1000 msg %minilazor 7,4./¯/_____________________________\
      .timermlzr1 -m 10 1050 msg %minilazor 7,4| 4,7D7,4R4,7. 7,4O4,7C7,4T4,7O7,4G4,7O7,4N4,7A7,4P4,7U7,4S4,7! 7,4B7,4L4,7A7,4R4,7R7,4R4,7R7,4G4,7G7,4G7,4H4,7H7,4!4,4***7,4|
      .timermlzr2 -m 10 1075 msg %minilazor 7,4.\_\¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯/
  21. A nice protection script, has channel protections from Deop, Ban, Kick and also has flood protections.

     

    ;Protection Script Z31
    ;Made for mIRC Script Z31 
    ;By Neo Nemesis
    ;Version 1.1
    
    on *:LOAD: {
      writeini z31.ini main protect on,on,on,on,on,on,2,5,on
      echo -a  $+ $color(info) $+ * Protection Script Z31 Loaded successfuly! Use /protection for the options menu!
    }
    
    menu channel,nicklist,query,status {
      Protection Script Z31:/protection
    }
    
    alias protection {
      if (!$1) { dialog -m protect protect }
      if ($1 == op) { 
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,1,44) }
        elseif (!$2) { return $gettok($protect.file,1,44) }
      }
      if ($1 == kick) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,2,44) }
        elseif (!$2) { return $gettok($protect.file,2,44) }
      }
      if ($1 == ban) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,3,44) }
        elseif (!$2) { return $gettok($protect.file,3,44) }
      }
      if ($1 == massjoin) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,4,44) }
        elseif (!$2) { return $gettok($protect.file,4,44) }
      }
      if ($1 == flood) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,5,44) }
        elseif (!$2) { return $gettok($protect.file,5,44) }
      }
      if ($1 == iflood) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,6,44) }
        elseif (!$2) { return $gettok($protect.file,6,44) }
      }
      if ($1 == timer) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,7,44) }
        elseif (!$2) { return $gettok($protect.file,7,44) }
      }
      if ($1 == num) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,8,44) }
        elseif (!$2) { return $gettok($protect.file,8,44) }
      }
      if ($1 == pmflood) {
        if ($2) { writeini z31.ini Main Protect $puttok($protect.file,$2,9,44) }
        elseif (!$2) { return $gettok($protect.file,9,44) }
      }
    }
    
    alias protect.file { return $readini(z31.ini,Main,Protect) }
    
    alias z31.file { return $readini(z31.ini,$1,$2) }
    
    alias exempt {
      if ($1 == chan) {
        if (!$2) { return $z31.file(exempt,01) }
        if ($2 == add) { writeini z31.ini exempt 01 $addtok($z31.file(exempt,01),$3,44) }
        if ($2 == del) {
          if ($z31.file(exempt,01) == $3) { remini z31.ini exempt 01 }
          elseif ($z31.file(exempt,01) != $3) { writeini z31.ini exempt 01 $remtok($z31.file(exempt,01),$3,1,44) }
        }
        elseif ($2) {
          if ($z31.file(exempt,01)) {
            %Z31.1 = 1
            while (%Z31.1 <= $numtok($z31.file(exempt,01),44)) {
              if ($gettok($z31.file(exempt,01),%Z31.1,44) == $2) { return $true }
              else { inc %Z31.1 }
            }
          }
          return $false
        }
      }
      if ($1 == user) {
        if (!$2) { return $z31.file(exempt,02) }
        if ($2 == add) { writeini z31.ini exempt 02 $addtok($z31.file(exempt,02),$3,44) }
        if ($2 == del) {
          if ($z31.file(exempt,02) == $3) { remini z31.ini exempt 02 }
          elseif ($z31.file(exempt,02) != $3) { writeini z31.ini exempt 02 $remtok($z31.file(exempt,02),$3,1,44) }
        }
        elseif ($2) {
          if ($z31.file(exempt,02)) {
            %Z31.2 = 1
            while (%Z31.2 <= $numtok($z31.file(exempt,02),44)) {
              if ($gettok($z31.file(exempt,02),%Z31.2,44) == $2) { return $true }
              else { inc %Z31.2 }
            }
          }
          return $false
        }
      }
      if ($1 == host) {
        if (!$2) { return $z31.file(exempt,03) }
        if ($2 == add) { writeini z31.ini exempt 03 $addtok($z31.file(exempt,03),$3,44) }
        if ($2 == del) {
          if ($z31.file(exempt,03) == $3) { remini z31.ini exempt 03 }
          elseif ($z31.file(exempt,03) != $3) { writeini z31.ini exempt 03 $remtok($z31.file(exempt,03),$3,1,44) }
        }
        elseif ($2) {
          if ($z31.file(exempt,03)) {
            %Z31.3 = 1
            while (%Z31.3 <= $numtok($z31.file(exempt,03),44)) {
              if ($gettok($z31.file(exempt,03),%Z31.3,44) == $2) { return $true }
              else { inc %Z31.3 }
            }
          }
          return $false
        }
      }
    }
    
    dialog protect { 
      size -1 -1 445 272
      title Protection
      box "Protections"1, 5 5 140 205
      check "DeOP Protection"2, 10 20 98 15
      check "Kick Protection"3, 10 35 90 15
      check "Ban Protection"4, 10 50 88 15
      check "Mass Join Protection"5, 10 65 115 15
      check "Flood Protection"6, 10 80 95 15
      check "Invite Flood Protection"7, 10 95 128 15
      text "Flood trigger:"8, 10 110 80 15
      edit ""9, 20 125 40 23
      text "Joins/Messages"10, 65 130 75 15
      text "in"11, 23 150 15 15
      edit ""12, 20 165 40 23
      text "seconds."13, 65 170 50 15
      check "PM Flood Protection"28, 10 190 113 15
      box "Exceptions"14, 150 5 293 265
      tab "Channels"15, 155 20 280 245
      tab "Users"16
      tab "Hostmasks"17
    
      ;tab 15
      list 18, 160 45 270 200,vsbar,tab 15
      button "Add"19, 160 235 80 23,tab 15
      button "Remove"20, 245 235 80 23,tab 15
    
      ;tab 16
      list 21, 160 45 270 200,vsbar,tab 16
      button "Add"22, 160 235 80 23,tab 16
      button "Remove"23, 245 235 80 23,tab 16
    
      ;tab 17
      list 24, 160 45 270 200,vsbar,tab 17
      button "Add"25, 160 235 80 23,tab 17
      button "Remove"26, 245 235 80 23,tab 17
    
      button "Close"27, 35 225 80 23,ok
    }
    
    on *:DIALOG:protect:init:*: {
      if ($protection(op) == on) { did -c protect 2 }
      if ($protection(kick) == on) { did -c protect 3 }
      if ($protection(ban) == on) { did -c protect 4 }
      if ($protection(massjoin) == on) { did -c protect 5 }
      if ($protection(flood) == on) { did -c protect 6 }
      if ($protection(iflood) == on) { did -c protect 7 }
      did -a protect 9 $protection(num)
      did -a protect 12 $protection(timer)
    
      if ($exempt(chan)) {
        %Z31.4 = 1
        while (%Z31.4 <= $numtok($exempt(chan),44)) {
          did -a protect 18 $gettok($exempt(chan),%Z31.4,44)
          inc %Z31.4
        }
      }
    
      if ($exempt(user)) {
        %Z31.5 = 1
        while (%Z31.5 <= $numtok($exempt(user),44)) {
          did -a protect 21 $gettok($exempt(user),%Z31.5,44)
          inc %Z31.5
        }
      }
    
      if ($exempt(host)) {
        %Z31.6 = 1
        while (%Z31.6 <= $numtok($exempt(host),44)) {
          did -a protect 24 $gettok($exempt(host),%Z31.6,44)
          inc %Z31.6
        }
      }
      if ($protection(pmflood) == on) { did -c protect 28 }
      unset %Z31.*
    }
    
    on *:DIALOG:protect:sclick:*: {
      if ($did == 2) {
        if ($did(2).state == 1) { protection op on }
        else { protection op off }
      }
      if ($did == 3) {
        if ($did(3).state == 1) { protection kick on }
        else { protection kick off }
      }
      if ($did == 4) {
        if ($did(4).state == 1) { protection ban on }
        else { protection ban off }
      }
      if ($did == 5) {
        if ($did(5).state == 1) { protection massjoin on }
        else { protection massjoin off }
      }
      if ($did == 6) {
        if ($did(6).state == 1) { protection flood on }
        else { protection flood off }
      }
      if ($did == 7) {
        if ($did(7).state == 1) { protection iflood on }
        else { protection iflood off }
      }
      if ($did == 19) {
        %z31.7 = $input(Please enter the channel you wish to add to the exception list.,oe,Protection)
        if ($chr(35) !isin %z31.7) { %z31.dump = $input(You must enter the # symbol before the channel name.,oh,Protection) }
        elseif ($chr(35) isin %z31.7) {
          exempt chan add %z31.7
          did -a protect 18 %z31.7
        }
      }
      if ($did == 20) {
        if (!$did(18).sel) { %z31.dump = $input(Please select the channel you wish to remove from the exception list first.,oh,Protection) }
        elseif ($did(18).sel) {
          %z31.dump = $input(Are you sure you want to remove $did(18).seltext from the exception list?,yw,Protection)
          if (%z31.dump == $true) {
            exempt chan del $did(18).seltext
            did -r protect 18
            if ($exempt(chan)) {
              %Z31.4 = 1
              while (%Z31.4 <= $numtok($exempt(chan),44)) {
                did -a protect 18 $gettok($exempt(chan),%Z31.4,44)
                inc %Z31.4
              }
            }
          }
        }
      }
      if ($did == 22) {
        %z31.8 = $input(Please enter the user name you wish to add to the exception list.,oe,Protection)
        if (%z31.8 != $false) && (%z31.8 != $null) {
          exempt user add %z31.8
          did -a protect 21 %z31.8
        }
      }
      if ($did == 23) {
        if (!$did(21).sel) { %z31.dump = $input(Please select the user name you wish to remove from the exception list first.,oh,Protection) }
        elseif ($did(21).sel) {
          %z31.dump = $input(Are you sure you want to remove $did(21).seltext from the exception list?,yw,Protection)
          if (%z31.dump == $true) {
            exempt user del $did(21).seltext
            did -r protect 21
            if ($exempt(user)) {
              %Z31.5 = 1
              while (%Z31.5 <= $numtok($exempt(user),44)) {
                did -a protect 21 $gettok($exempt(user),%Z31.5,44)
                inc %Z31.5
              }
            }
          }
        }
      }
      if ($did == 25) {
        %z31.9 = $input(Please enter the hostmask you wish to add to the exception list. NOTE: It must be a valid hostmask!,oe,Protection)
        if ($chr(46) !isin %z31.9) || ($chr(64) !isin %z31.9) || ($chr(33) !isin %z31.9) { %z31.dump = $input(%z31.9 is not a valid host mask.,oh,Protection) }
        elseif ($chr(46) isin %z31.9) && ($chr(64) isin %z31.9) && ($chr(33) isin %z31.9) {
          exempt host add %z31.9
          did -a protect 24 %z31.9
        }
      }
      if ($did == 26) {
        if (!$did(24).sel) { %z31.dump = $input(Please select the hostmask you wish to remove from the exception list first.,oh,Protection) }
        elseif ($did(24).sel) {
          %z31.dump = $input(Are you sure you want to remove $did(24).seltext from the exception list?,yw,Protection)
          if (%z31.dump == $true) {
            exempt host del $did(24).seltext
            did -r protect 24
            if ($exempt(host)) {
              %Z31.6 = 1
              while (%Z31.6 <= $numtok($exempt(host),44)) {
                did -a protect 24 $gettok($exempt(user),%Z31.6,44)
                inc %Z31.6
              }
            }
          }
        }
      }
      if ($did == 28) {
        if ($did(28).state == 1) { protection pmflood on }
        else { protection pmflood off }
      }
      :end
      unset %z31.*
    }
    
    on *:DIALOG:protect:edit:9: {
      if ($did(9).text) { protection num $did(9).text }
    }
    
    on *:DIALOG:protect:edit:12: {
      if ($did(12).text) { protection timer $did(12).text }
    }
    
    alias IsExempt {
      if ($1) {
        if ($exempt(chan,$1) == $true) { return $true }
        if ($exempt(user,$1) == $true) { return $true }
        if ($exempt(host,$address($1,0)) == $true) { return $true }
        if ($exempt(host,$address($1,1)) == $true) { return $true }
        if ($exempt(host,$address($1,2)) == $true) { return $true }
        if ($exempt(host,$address($1,3)) == $true) { return $true }
        if ($exempt(host,$address($1,4)) == $true) { return $true }
        if ($exempt(host,$address($1,5)) == $true) { return $true }
        if ($exempt(host,$address($1,6)) == $true) { return $true }
        if ($exempt(host,$address($1,7)) == $true) { return $true }
        if ($exempt(host,$address($1,8)) == $true) { return $true }
        if ($exempt(host,$address($1,9)) == $true) { return $true }
        else { return $false }
      }
    }
    
    on *:DEOP:#: {
      if ($protection(op) == on) {
        if ($nick == $me) || ($nick == ChanServ) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        if ($opnick == $me) {
          %z31-op = $true
          %z31-chan = $chan
          %z31-nick = $nick
          .timerZ31.1 1 1 chanserv op $chan $me
        }
      }
      :end
    }
    
    on *:OP:%z31-chan: {
      if (%z31-op == $true) || (%z31-kick == $true) || (%z31-ban == $true) {
        if (%z31-nick ison $chan) {
          mode $chan -ob %z31-nick %z31-banmask
          .timerZ31.3 -m 1 1500 kick $chan %z31-nick Kicked by $me 4(OP Abuse)
        }
      }
      unset %z31-*
    }
    
    on @*:KICK:#: {
      if ($protection(kick) == on) {
        if ($nick == $me) || ($nick == ChanServ) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        if ($knick == $me) {
          %z31-kick = $true
          %z31-chan = $chan
          %z31-nick = $nick
          .timerZ31.4 1 1 join %z31-chan
        }
      }
      :end
    }
    
    alias IsBanned {
      if ($me isin $1) { return $true }
      if ($address($me,0) == $1) { return $true }
      if ($address($me,1) == $1) { return $true }
      if ($address($me,2) == $1) { return $true }
      if ($address($me,3) == $1) { return $true }
      if ($address($me,4) == $1) { return $true }
      if ($address($me,5) == $1) { return $true }
      if ($address($me,6) == $1) { return $true }
      if ($address($me,7) == $1) { return $true }
      if ($address($me,8) == $1) { return $true }
      if ($address($me,9) == $1) { return $true }
      if ($gettok($host,4,46) isin $1) { return $true }
      else { return $false }
    }
    
    on @*:BAN:#: {
      if ($protection(ban) == on) {
        if ($nick == $me) || ($nick == ChanServ) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        if ($IsBanned($banmask) == $true) {
          set -u8 %z31-ban $true
          set -u8 %z31-banmask $banmask
          set -u8 %z31-chan $chan
          set -u8 %z31-nick $nick
          .timerZ31.6 1 1 mode $chan -bo $banmask $nick
          .timerZ31.7 1 2 kick $chan $nick Kicked by $me 4(OP Abuse)
        }
      }
      :end
    }
    
    raw *:*: {
      if (%z31-kick == $true) {
        if ($numeric == 471) || ($numeric == 473) || ($numeric == 474) || ($numeric == 475) {
          .timerZ31.5 1 1 chanserv invite %z31-chan
          halt
        }
      }
    }
    
    on ^*:NOTICE:*:*: {
      if (%z31-op == $true) || (%z31-kick == $true) || (%z31-ban == $true) && ($nick == ChanServ) {
        %chanserv = $strip($1-)
        if (access denied isin %chanserv) || (permission denied isin %chanserv) || (You do not have access isin %chanserv) { 
          echo -a  $+ $color(info) $+ * ChanServ could not complete the operation on %z31-chan $+ . (Access Denied)
          unset %z31-*
        }
        if (not registered isin %chanserv) {
          echo -a  $+ $color(info) $+ * ChanServ could not complete the operation on %z31-chan $+ . (Channel not registered)
          unset %z31-*
        }
        unset %chanserv
        halt
      }
    }
    
    on @*:JOIN:#: {
      if ($protection(massjoin) == on) {
        if ($IsExempt($chan) == $true) || ($nick isreg $chan) { goto end }
        inc % [ $+ [ $chan ] ]
        %clones. [ $+ [ $chan ] ] = $addtok(%clones. [ $+ [ $chan ] ],$nick,44)
        .timerJOINS1 1 $protection(timer) unset % [ $+ [ $chan ] ]
        .timerJOINS2 1 $protection(timer) unset %clones. [ $+ [ $chan ] ]
        if (% [ $+ [ $chan ] ] >= $protection(num)) {
          mode $chan +dim
          .timerJOINS* off
          .timerMODE 1 300 mode $chan -dim
          clonek $chan
        }
      }
      :end
    }
    
    alias clonek {
      %kick = 1
      while (%kick <= $numtok(%clones. [ $+ [ $1 ] ],44)) {
        if ($gettok(%clones. [ $+ [ $1 ] ],%kick,44) ison $1) { .timerCK $+ %kick -m 1 $calc(1300 * %kick + 660) kick $chan $gettok(%clones. [ $+ [ $1 ] ],%kick,44) Mass Join 4(Clone) }
        inc %kick
      }
      if (!$timerKICK*) { .timerKICK $+ $rand(1,999) 1 $calc($numtok(%clones. [ $+ [ $1 ] ],44) + 2) ck.us $1 }
    }
    
    alias ck.us {
      unset % [ $+ [ $1 ] ]
      unset %clones. [ $+ [ $1 ] ]
      unset %kick
    }
    
    on *:TEXT:*:#: {
      if ($protection(flood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc % [ $+ [ $nick ] ]
        if (!$timer($nick)) { .timer $+ $nick 1 $protection(timer) unset % $+ $nick }
        if (% [ $+ [ $nick ] ] >= $protection(num)) { 
          if ($me isop $chan) { .timer $+ $nick $+ 1 1 1 kick $chan $nick Slow down! 4(Flooding) }
          elseif ($me !isop $chan) {
            .ignore -u180 $nick $+ !*@*
            .echo -a  $+ $color(info) $+ * 4Flooding Detected: $+ $color(info) $chan by $nick - Ignored for 3 minutes.
          }
          unset % [ $+ [ $nick ] ]
        }
      }
      :end
    }
    
    on *:NOTICE:*:#: {
      if ($protection(flood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc % [ $+ [ $nick ] ]
        if (!$timer($nick)) { .timer $+ $nick 1 $protection(timer) unset % $+ $nick }
        if (% [ $+ [ $nick ] ] >= $protection(num)) { 
          if ($me isop $chan) { .timer $+ $nick $+ 1 1 1 kick $chan $nick Slow down! 4(Flooding) }
          elseif ($me !isop $chan) {
            .ignore -u180 $nick $+ !*@*
            .echo -a  $+ $color(info) $+ * 4Flooding Detected: $+ $color(info) $chan by $nick - Ignored for 3 minutes.
          }
          unset % [ $+ [ $nick ] ]
        }
      }
      :end
    }
    
    on *:ACTION:*:#: {
      if ($protection(flood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc % [ $+ [ $nick ] ]
        if (!$timer($nick)) { .timer $+ $nick 1 $protection(timer) unset % $+ $nick }
        if (% [ $+ [ $nick ] ] >= $protection(num)) { 
          if ($me isop $chan) { .timer $+ $nick $+ 1 1 1 kick $chan $nick Slow down! 4(Flooding) }
          elseif ($me !isop $chan) {
            .ignore -u180 $nick $+ !*@*
            .echo -a  $+ $color(info) $+ * 4Flooding Detected: $+ $color(info) $chan by $nick - Ignored for 3 minutes.
          }
          unset % [ $+ [ $nick ] ]
        }
      }
      :end
    }
    
    on *:TEXT:*:?: {
      if ($protection(pmflood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc % [ $+ [ $nick ] ]
        if (!$timer($nick)) { .timer $+ $nick 1 $protection(timer) unset % $+ $nick }
        if (% [ $+ [ $nick ] ] >= $protection(num)) {
          .ignore -u180 $nick $+ !*@*
          .echo -a  $+ $color(info) $+ * 4Flooding Detected: $+ $color(info) Private Message by $nick - Ignored for 3 minutes.
          close -m $nick
          unset % [ $+ [ $nick ] ]
        }
      }
      :end
    }
    
    on *:ACTION:*:?: {
      if ($protection(pmflood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc % [ $+ [ $nick ] ]
        if (!$timer($nick)) { .timer $+ $nick 1 $protection(timer) unset % $+ $nick }
        if (% [ $+ [ $nick ] ] >= $protection(num)) {
          .ignore -u180 $nick $+ !*@*
          .echo -a  $+ $color(info) $+ * 4Flooding Detected: $+ $color(info) Private Message by $nick - Ignored for 3 minutes.
          close -m $nick
          unset % [ $+ [ $nick ] ]
        }
      }
      :end
    }
    
    on *:NOTICE:*:?: {
      if ($protection(flood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc % [ $+ [ $nick ] ]
        if (!$timer($nick)) { .timer $+ $nick 1 $protection(timer) unset % $+ $nick }
        if (% [ $+ [ $nick ] ] >= $protection(num)) {
          .ignore -u180 $nick $+ !*@*
          .echo -a  $+ $color(info) $+ * 4Flooding Detected: $+ $color(info) Notice by $nick - Ignored for 3 minutes.
          close -m $nick
          unset % [ $+ [ $nick ] ]
        }
      }
      :end
    }
    
    on *:INVITE:#: {
      if ($protection(iflood) == on) {
        if (Serv isin $nick) || ($IsExempt($chan) == $true) || ($IsExempt($nick) == $true) { goto end }
        inc %invites
        if (!$timer(invite)) { .timerinvite 1 $protection(timer) unset %invites }
        if (%invites >= $calc($protection(num) - 1)) {
          ignore -iu240 *!*@*
          echo -a  $+ $color(info) $+ * - 4Flooding Detected: $+ $color(info) Invite Flood - All invites ignored for 4 minutes.
        }
      }
      :end
    }

     

  22. V5 - Better, faster, stronger.

    About IRC Guard 5000: http://CodersElite.site90.net/PG5KHelp.htm

    First:
    Just copy snippet below. Open notepad and paste code into notepad, the SAVE FILE AS
    criptnamehere.mrc into your mIRC directory.

    Then:
    In mIRC press ALT+R when the script editor pops up go to FILE select LOAD and select scriptnamehere.mrc and click okay, allow initialization commands to run.

    Or:
    Once the file is saved into the mIRC directory use: /load -rs scriptnamehere.mrc and allow the initialization commands to run.

    IRC Guard 5000 (V5) is a blacklist made to repel pedophiles, creeps, trolls and other undesirable users on IRC. you must have channel operator (+o) status on a channel to use this script!

    Please report all bugs here!

    Looking for V4? Get the source code here: http://CodersElite.site90.net/PG5K.htm

     

    ;IRC Guard 5000 (V5)
    ;Better, Faster, Stronger.
    ;By Neo Nemesis
    ;Basically a black list designed to 
    ;repel IRC stalkers, creepers, pedos
    ;and other undesirables
    ;Special thanks to Jethro_, Bofh, Gemstone, Manit and gasak :D
    ;And thanks to the memebers of Hawkee forums!
    ;List Update check on start
    on *:LOAD: {
      echo -a * IRC Guard 5000 (V5) is loading...
      ;set -u0 %crl.01 on,on,on,on,on,ban,2,You are not welcome here!
      ;checking for older versions
      if ($isfile(PG5K.ini) == $true) {
        if ($creep.file(01)) { 
          set -u0 %CRP_DUMP $input(Do you wish to save old entries from V4?,yi,IRC Guard 5000 $chr(40) $+ V5 $+ $chr(41))
          if (%CRP_DUMP == $true) {
            echo -a * Saving old entries and options...
            ;saving old entries. Most of them save 
            ;right over except for user white list. 
            ;$creep.file(05) is parsed.
            if ($creep.file(02)) { set -u0 %crl.ubl $creep.file(02) }
            if ($creep.file(03)) { set -u0 %crl.ibl $creep.file(03) }
            if ($creep.file(04)) { set -u0 %crl.cwl $creep.file(04) }
            if ($creep.file(05)) {
              set -u0 %num 1
              while (%num <= $numtok($creep.file(05),44)) {
                if ($chr(33) isin $gettok($creep.file(05),%num,44)) && ($chr(64) isin $gettok($creep.file(05),%num,44)) { set -u0 %crl.hwl $addtok(%crl.hwl,$gettok($creep.file(05),$num,44),44) }
                else { set -u0 %crl.uwl $addtok(%crl.uwl,$gettok($creep.file(05),$num,44),44) }
                inc %num
              }
              if ($creep.file(06)) { set -u0 %crl.nwl $creep.file(06) }
              ;if ($creep.file(kickmsg) != You are not welcome here!) { set -u0 %crl.opt on,on,on,on,on,ban,2, $+ $remove($creep.file(kickmsg),$chr(44)) }
              set -u0 %crl.opt on,on,on,on,on,ban,2,You are not welcome here!
              remini PG5K.ini PG5K    
            }      
          }
        }
      }
      if (%crl.opt) { writeini PG5K.ini PG5K 01 %crl.opt }
      elseif (!%crl.opt) { writeini PG5K.ini PG5K 01 on,on,on,on,on,ban,2,You are not welcome here! }
      if (%crl.ubl) { writeini PG5K.ini PG5K 02 %crl.ubl }
      if (%crl.ibl) { writeini PG5K.ini PG5K 03 %crl.ibl }
      if (%crl.cwl) { writeini PG5K.ini PG5K 06 %crl.cwl }
      if (%crl.uwl) { writeini PG5K.ini PG5K 07 %crl.uwl }
      if (%crl.hwl) { writeini PG5K.ini PG5K 08 %crl.hwl }
      echo -a * IRC Guard 5000 V5 has finished loading. Use /creep to access the main menu, you can also use /creep help for help, or you can select it from the popup menus throughout mIRC.
    }
    on *:START: { 
      if ($creep(enable) == on) { PG5K_Update GET }
    }
    alias creep {
      if (!$1) && (!$dialog(creep)) { dialog -m creep creep }
      if ($1 == enable) {
        if ($isid == $true) { return $gettok($creep.file(01),1,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,1,44) }
      }
      if ($1 == update) {
        if ($isid == $true) { return $gettok($creep.file(01),2,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,2,44) }
      }
      if ($1 == scan1) {
        if ($isid == $true) { return $gettok($creep.file(01),3,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,3,44) }
      }
      if ($1 == scan2) {
        if ($isid == $true) { return $gettok($creep.file(01),4,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,4,44) }
      }
      if ($1 == scan3) {
        if ($isid == $true) { return $gettok($creep.file(01),5,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,5,44) }
      }
      if ($1 == action) {
        if ($isid == $true) { return $gettok($creep.file(01),6,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,6,44) }
      }
      if ($1 == bantype) {
        if ($isid == $true) { return $gettok($creep.file(01),7,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2,7,44) }
      }
      if ($1 == kickmsg) {
        if ($isid == $true) { return $gettok($creep.file(01),8,44) }
        else { writeini PG5K.ini PG5K 01 $puttok($creep.file(01),$2-,8,44) }
      }
      if ($1 == add) { writeini PG5K.ini PG5K $2 $addtok($creep.file($2),$3-,44) }
      if ($1 == del) {
        if ($creep.file($2) == $3-) { remini PG5K.ini PG5K $2 }
        else { writeini PG5K.ini PG5K $2 $remtok($creep.file($2),$3-,1,44) }
      }
      if ($1 == help) { run http://CodersElite.site90.net/PG5KHelp.htm }
      if ($1 == cmsg1) { return 4/!\ CREEP ALERT /!\ $gettok($creep.file(01),8,44) }
      if ($1 == cmsg2) { return 4/!\ CREEP ALERT /!\ You have been added to my black list creep! }
    }
    alias creep.file { return $readini(PG5K.ini,PG5K,$1) }
    alias IsListed { return $istok($creep.file($1),$2,44) }
    alias IsListed_WC {
      set -u0 %CRP_WC 1
      while (%CRP_WC <= $numtok($creep.file(05),44)) {
        if ($remove($gettok($creep.file(05),%CRP_WC,44),$chr(42)) isin $1) { return $true }
        inc %CRP_WC
      }
      return $false
    }
    alias C_LMngr {
      if ($1 == gui_bl) && (!$dialog(C_LMngr)) { dialog -mo C_LMngr C_LMngr }
      if ($1 == gui_wl) && (!$dialog(C_LMngr_)) { dialog -mo C_LMngr_ C_LMngr_ }
      ;/C_LMngr add -iuihwcUHnd <info>
      if ($1 == add) {
        if ($2 === -u) { %CLM_ = user name,02,07,0 | goto parse }
        if ($2 === -i) { %CLM_ = ident,03,00,0 | goto parse }
        if ($2 === -h) { %CLM_ = host mask,04,08,0 | goto parse }
        if ($2 === -w) { %CLM_ = wildcard,05,00,0 | goto parse }
        if ($2 === -c) { %CLM_ = channel,06,00,1 | goto parse }
        if ($2 === -U) { %CLM_ = user name,07,02,1 | goto parse }
        if ($2 === -H) { %CLM_ = host mask,08,04,1 | goto parse }
        if ($2 === -n) { %CLM_ = network,09,00,1 | goto parse }
        if ($2 === -d) { ;add to update list }
        else { goto end }
        :parse 
        %CLM_p = $gettok(%CLM_,1,44)
        %CLM_al = $gettok(%CLM_,2,44)
        %CLM_ol = $gettok(%CLM_,3,44)
        %CLM_c = $gettok(%CLM_,4,44)
        if ($IsListed(%CLM_al,$3-) == $true) { 
          if (%CLM_c == 0) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is already listed in the black list.,oh,IRC Guard 5000) | goto end }
          elseif (%CLM_c == 1) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is already listed in the white list.,oh IRC Guard 5000) | goto end }
        }
        if (%CLM_ol != 00) && ($IsListed(%CLM_ol,$3-) == $true) {
          if (%CLM_c == 0) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is white listed and cannot be added to the black list.,oh,IRC Guard 5000) | goto end }
          elseif (%CLM_c == 1) { set -u0 %CRP_DUMP $input(The %CLM_p ' $+ $3- $+ ' is black listed and caoont be added to the white list.,oh,IRC Guard 5000) | goto end }
        }
        else {
          creep add %CLM_al $3-
          if ($dialog(creep)) { did -a creep $iif(%CLM_c = 0,2,30) $3- }
          else { 
            if (%CLM_c == 0) { echo -a  $+ $color(info) $+ * $3- added to the black list. }
            elseif (%CLM_c == 1) { echo -a  $+ $color(info) $+ * $3- added to the white list. }
          }
          if (%CLM_p == user name) {
            set -u0 %CRP_Sca 1
            while (%CRP_Sca <= $chan(0)) {
              if ($3 ison $chan(%CRP_Sca)) && ($me isop $chan(%CRP_Sca)) { CR_J $3 $chan(%CRP_Sca) }
              inc %CRP_Sca
            }
          }        
          goto end
        }
      }
      if ($1 == del) {
        %CLM_r = 2
        while (%CLM_r <= 9) {
          if ($IsListed(0 $+ %CLM_r,$2-) == $true) { creep del 0 $+ %CLM_r $2- }
          else { inc %CLM_r }
        }
      }
      if ($1 == clear) {
        if ($2 == bl) { 
          did -r creep 2
          set -u0 %CRP_bln 2
          while (%CRP_bln <= 5) {
            remini PG5K.ini PG5K 0 $+ %CRP_bln
            inc %CRP_bln
          }
        }
        elseif ($2 == wl) {
          did -r creep 30
          set -u0 %CRP_wln 6
          while (%CRP_wln <= 9) {
            remini PG5K.ini PG5K 0 $+ %CRP_wln
            inc %CRP_wln
          }
        }
      }
      if ($1 == load) {
        set -u0 %CLM_l 2
        while (%CLM_l <= 9) {
          if (%CLM_l <= 5) { %CLM_id = 2 }
          elseif (%CLM_l > 5) { %CLM_id = 30 }
          if ($creep.file(0 $+ %CLM_l)) { didtok creep %CLM_id 44 $creep.file(0 $+ %CLM_l) }
          inc %CLM_l
        }
        goto end
      }
      :end
      unset %CLM_*
    }
    alias CR_J {
      if ($IsListed(06,$2) == $true) || ($IsListed(07,$1) == $true) || ($IsListed(09,$network) == $true) { goto end }
      set -u0 %CR_Jwl 0
      while (%CR_Jwl <= 9) {
        if ($IsListed(08,$address($1,%CR_Jwl)) == $true) { goto end }
        inc %CR_Jwl
      }
      if ($creep(scan1) == on) {
        if ($IsListed(03,$gettok($gettok($address($1,5),2,33),1,64)) == $true) {
          if ($IsListed(02,$1) == $false) { creep add 02 $1 }
          goto User_Check
        }
        elseif ($IsListed(03,$gettok($gettok($address($1,5),2,33),1,64)) == $false) {
          if ($IsListed(02,$1) == $true) { creep add 03 $gettok($gettok($address($1,5),2,33),1,64) }
          goto User_Check
        }
      }
      :User_Check
      if ($IsListed(02,$1) == $true) { goto User_Run }
      if ($IsListed_WC($address($1,5)) == $true) { goto User_Run }
      set -u0 %CR_N 0
      while (%CR_N <= 9) {
        if ($IsListed(04,$address($1,%CR_N)) == $true) { goto User_Run }
        inc %CR_N
      }
      goto end
      :User_Run
      if ($creep(action) == ban) { CR_K $creep(bantype) $2 $1 }
      else { CR_K 11 $2 $1 }
      :end
    }
    alias CR_K {
      if ($1 <= 9) {
        mode $2 +b $address($3,$1)
        goto kick
      }
      if ($1 == 10) {
        mode $2 +b $3 $+ !*@*
        goto kick
      }
      if ($1 == 11) { goto kick }
      :kick
      .timerCRP $+ $rand(1,99999) -m 1 $rand(800,1600) kick $2 $3 $creep(cmsg1)
    }
    ;Auto Update
    alias PG5K_Update { 
      if ($1 == GET) {
        sockclose PG5K
        sockopen PG5K coderselite.site90.net 80
      }
      if ($1 == Run) {
        if ($IsListed(10,$2) == $true) { set -u0 %CRP_DUMP $input(You already have this list update.,oh,IRC Guard 5000) }
        else { 
        set -u0 %CRP_DUMP $input(Are you sure you want to acquire the ' $+ $2 $+ ' list update?,yw,IRC Guard 5000) }
        if (%CRP_DUMP == $true) {
          did -r PG5K_U 5
          did -a PG5K_U 5 UPDATING PLEASE WAIT
          ;UGH >.< Below Necessary for faster processing through large lists.
          if ($gettok($gettok(% [ $+ [ $2 ] ],3,164),2,61) != none) { AL_U 02 $gettok($gettok(% [ $+ [ $2 ] ],3,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],4,164),2,61) != none) { AL_U 03 $gettok($gettok(% [ $+ [ $2 ] ],4,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],5,164),2,61) != none) { AL_U 04 $gettok($gettok(% [ $+ [ $2 ] ],5,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],6,164),2,61) != none) { AL_U 05 $gettok($gettok(% [ $+ [ $2 ] ],6,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],7,164),2,61) != none) { AL_U 06 $gettok($gettok(% [ $+ [ $2 ] ],7,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],8,164),2,61) != none) { AL_U 07 $gettok($gettok(% [ $+ [ $2 ] ],8,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],9,164),2,61) != none) { AL_U 08 $gettok($gettok(% [ $+ [ $2 ] ],9,164),2,61) }
          if ($gettok($gettok(% [ $+ [ $2 ] ],10,164),2,61) != none) { AL_U 09 $gettok($gettok(% [ $+ [ $2 ] ],10,164),2,61) }
          creep add 10 $remove($gettok(% [ $+ [ $2 ] ],1,164) - $gettok(% [ $+ [ $2 ] ],2,164),$chr(44))
          did -r PG5K_U 5
          did -a PG5K_U 5 Update complete :)
          set -u0 %CRP_DUMP $input(List update ' $+ $2 $+ ' complete.,o,IRC Guard 5000)
          did -r PG5K_U 6
          didtok PG5K_U 6 44 $creep.file(10)
          did -r PG5K_U 5
          did -a PG5K_U 5 My updates
        }
      }
    }
    alias AL_U {
      set -u0 %AL_U 1
      while (%AL_U <= $numtok($2-,44)) {
        if ($IsListed($1,$gettok($2-,%AL_U,44)) == $true) { goto inc }
        else { 
          creep add $1 $gettok($2-,%AL_U,44)
          if ($dialog(creep)) {
            if ($remove($1,0) <= 5) { did -a creep 2 $gettok($2-,%AL_U,44) }
            elseif ($remove($1,0) >= 6) { did -a creep 30 $gettok($2-,%AL_U,44) }
          }
        }
        :inc
        inc %AL_U
      }
    } 
    on *:SOCKOPEN:PG5K: {
      sockwrite -n $sockname GET /PG5KProtocol_II.htm HTTP/1.1
      sockwrite -n $sockname Host: coderselite.site90.net
      sockwrite -n $sockname Connection: Close
      sockwrite -n $sockname Content-Type: text/html
      sockwrite -n $sockname $crlf
    }
    on *:SOCKREAD:PG5K: {
      sockread %PG5K_Ur
      if (%PG5K_Ur == <br>) { noop }
      if ($gettok(%PG5K_Ur,1,62) == PACKAGES) { %PG5K_UP = $gettok(%PG5K_Ur,2,62) }
      if (%PG5K_UP) && ($chr(164) isin %PG5K_Ur) {
        %PG5K_UT = $gettok(%PG5K_Ur,1,62)
        % [ $+ [ %PG5K_UT ] ] = $gettok(%PG5K_Ur,2,62)
      }
      if (%PG5K_Ur == CONTENT>END) { 
        sockclose PG5K
        if (!$dialog(PG5K_U)) { dialog -m PG5K_U PG5K_U }
        else {
          did -r PG5K_U 1,2,6
          did -a PG5K_U 1 There are $numtok(%PG5K_UP,44) updates
          didtok PG5K_U 2 44 %PG5K_UP
          if ($creep.file(10)) { didtok PG5K_U 6 44 $creep.file(10) }
          did -z PG5K_U 6
        }
      }
    }
    ;placement
    alias PG5K_U {
      if ($1 == x) {
        if ($dialog(creep)) { return $calc($dialog(creep).x - 306) }
        else { return -1 }
      }
      if ($1 == y) {
        if ($dialog(creep)) { return $dialog(creep).y }
        else { return -1 }
      }
    }
    dialog PG5K_U {
      size $PG5K_U(x) $PG5K_U(y) 300 300
      title IRC Guard 5000 - List Updates
      box ""1, 5 5 290 130
      list 2, 10 20 280 100
      button "Get Update"3, 10 107 80 23
      button "Get Info"4, 95 107 80 23
      box "My Updates"5, 5 140 290 130
      list 6, 10 155 280 100,sort,hsbar
      button "Remove"7, 10 242 80 23
      button "Help"8, 95 242 80 23
      button "Close"9, 110 274 80 23,ok
    }
    on *:DIALOG:PG5K_U:init:*: {
      did -a PG5K_U 1 There are $numtok(%PG5K_UP,44) updates
      didtok PG5K_U 2 44 %PG5K_UP
      if ($creep.file(10)) { didtok PG5K_U 6 44 $creep.file(10) }
      did -z PG5K_U 6
    }
    on *:DIALOG:PG5K_U:sclick:*: {
      if ($did == 3) { 
        if (!$did(2).sel) { set -u0 %CRP_DUMP $input(Please select the list update package you would like to acquire.,oh,IRC Guard 5000) }
        else { PG5K_Update Run $did(2).seltext }
      }
      if ($did == 4) { 
        if (!$did(2).sel) { set -u0 %CRP_DUMP $input(Please select the list update package you would like information about.,oh,IRC Guard 5000) }
        else { set -u0 %CRP_DUMP $input($gettok(% [ $+ [ $did(2).seltext ] ],2,164),oi,IRC Guard 5000 - $gettok(% [ $+ [ $did(2).seltext ] ],1,164)) }
      }
      if ($did == 7) {
        if (!$did(6).sel) { set -u0 %CRP_DUMP = $input(Please select the list update you would like to remove.,oh,IRC Guard 5000) }
        else { 
          set -u0 %CRP_DUMP $input(Are you sure you want to remove ' $+ $did(6).seltext $+ ' ?,yw,IRC Guard 5000)
          if (%CRP_DUMP == $true) {
            creep del 10 $did(6).seltext
            did -r PG5K_U 6
            if ($creep.file(10)) { didtok PG5K_U 6 44 $creep.file(10) }
          }
        }
      }
      if ($did == 8) { creep help }
    }
    dialog C_LMngr {
      size -1 -1 300 100
      title IRC Guard 5000 - Add to Black List
      box "Entry to add"1, 5 5 290 45
      edit ""2, 10 20 280 23
      radio "User name"3, 24 55 70 15
      radio "Host mask"4, 95 55 70 15
      radio "Ident"5, 165 55 45 15
      radio "Wildcard"6, 212 55 60 15
      button "Add"7, 25 75 80 23
      button "Close"8, 110 75 80 23,cancel
      button "Help"9, 195 75 80 23
    }
    on *:DIALOG:C_LMngr:init:*: {
      %C_LM = -u
      did -c C_LMngr 3
    }
    on *:DIALOG:C_LMngr:sclick:*: {
      if ($did == 3) { %C_LM = -u }
      if ($did == 4) { %C_LM = -h }
      if ($did == 5) { %C_LM = -i }
      if ($did == 6) { %C_LM = -w }
      if ($did == 7) { 
        if (!$did(2).text) {
          set -u0 %CRP_DUMP $input(Please enter what you would like to enter into the black list and select the appropriate category.,oh,IRC Guard 5000) 
          goto end
        }
        else {
          if (%C_LM == -u) {
            if ($chr(42) isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid user name.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          elseif (%C_LM == -h) {
            if ($chr(33) !isin $did(2).text) || ($chr(64) !isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid host mask.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          elseif (%C_LM == -i) {
            if ($chr(42) isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid ident.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          elseif (%C_LM == -w) {
            if ($chr(42) !isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid wildcard.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          :add
          C_LMngr add %C_LM $did(C_LMngr,2).text 
          dialog -x C_LMngr
          unset %C_LM
        }
      }
      :end
    }
    on *:DIALOG:C_LMngr:close:*: { unset %C_LM }
    dialog C_LMngr_ {
      size -1 -1 300 100
      title IRC Guard 5000 - Add to White List
      box "Entry to add"1, 5 5 290 45
      edit ""2, 10 20 280 23
      radio "Channel"3, 17 55 58 15
      radio "User name"4, 78 55 68 15
      radio "Host mask"5, 148 55 71 15
      radio "Network"6, 218 55 60 15
      button "Add"7, 25 75 80 23
      button "Close"8, 110 75 80 23,cancel
      button "Help"9, 195 75 80 23
    }
    on *:DIALOG:C_LMngr_:init:*: {
      %CLM = -c
      did -c C_LMngr_ 3
    }
    on *:DIALOG:C_LMngr_:sclick:*: {
      if ($did == 3) { %CLM = -c }
      if ($did == 4) { %CLM = -U }
      if ($did == 5) { %CLM = -H }
      if ($did == 6) { %CLM = -n }
      if ($did == 7) {
        if (!$did(2).text) {
          set -u0 %CRP_DUMP $input(Please enter what you would like to enter into the white list and select the appropriate category.,oh,IRC Guard 5000)
          goto end
        }
        else {
          if (%CLM == -c) {
            if ($chr(35) !isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid channel.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          if (%CLM == -U) {
            if ($chr(42) isin $did(2).text) || ($chr(33) isin $did(2).text) || ($chr(64) isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid user name.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          if (%CLM == -H) {
            if ($chr(33) !isin $did(2).text) || ($chr(64) !isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid host mask.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          if (%CLM == -n) {
            if ($chr(32) isin $did(2).text) {
              set -u0 %CRP_DUMP $input(' $+ $did(2).text $+ ' is not a valid network.,oh,IRC Guard 5000)
              goto end
            }
            else { goto add }
          }
          :add
          C_LMngr add %CLM $did(2).text
          dialog -x C_LMngr_
          unset %CLM
        }
      }
      :end
    }
    on *:DIALOG:C_LMngr_:close:*: { unset %CLM }
    dialog creep {
      size -1 -1 300 311
      title IRC Guard 5000 [/creep]
      box "Black List"1, 5 5 290 275
      list 2, 10 20 280 240,sort
      button "Add"3, 25 251 80 23
      button "Remove"4, 110 251 80 23
      button "Clear"5, 195 251 80 23
      button "Help"6, 70 284 80 23
      button "Close"7, 155 284 80 23,ok
      check ":D"8, 270 289 25 18,push
      ;tabs
      tab "Options"9, 5 284 290 200
      tab "White List"10
      tab "About"11
      button "Help"12, 70 485 80 23
      button "Close"13, 155 485 80 23,cancel
      check ":D"14, 270 490 25 18,push
      ;tab 9 "Options"
      check "Enable black list"15, 10 310 93 15,tab9
      box "List Update"16, 10 325 145 45,tab9
      check "Enable"17, 15 343 50 15,tab9
      button "Check updates"18, 70 341 80 20,tab9
      box "User Scan5K"19, 10 370 145 65,tab9
      check "Scan user ident"20, 15 385 91 15,tab9
      check "Scan nick changes"21, 15 400 105 15,tab9
      check "Scan channel on join"22, 15 415 115 15,tab9
      box "Action"23, 160 310 130 50,tab9
      radio "Kick user"24, 165 325 60 15,tab9
      radio "Kick/ban user"25, 165 340 83 15,tab9
      box "Ban Type"26, 160 360 130 45,tab9
      combo 27, 165 375 120 150,drop,tab9
      box "Kick Message"28, 10 435 280 42,tab9
      edit ""29, 15 449 270 23,tab9
      ;tab 10 "white list"
      list 30, 10 315 280 145,sort,tab10
      button "Add"31, 25 445 80 23,tab10
      button "Remove"32, 110 445 80 23,tab10
      button "Clear"33, 195 445 80 23,tab10
      ;tab 11 "about"
      text "IRC Guard 5000"34, 98 345 80 15,tab11
      text "Version: 5.0.0 V5"35, 96 385 100 15,tab11
      text "By: Neo Nemesis"36, 98 400 80 15,tab11
      link "http://CodersElite.site90.net"37, 75 420 150 15,tab11
    }
    on *:DIALOG:creep:init:*: { 
      did -h creep 9
      C_LMngr load
      did -a creep 27 0: *!user@host
      did -a creep 27 1: *!*user@host
      did -a creep 27 2: *!*@host
      did -a creep 27 3: *!*user@*.host
      did -a creep 27 4: *!*@*.host
      did -a creep 27 5: nick!user@host
      did -a creep 27 6: nick!*user@host
      did -a creep 27 7: nick!*@host
      did -a creep 27 8: nick!*user@*.host
      did -a creep 27 9: nick!*@*.host
      did -a creep 27 10: nick!*@*
      if ($creep(enable) == on) { did -c creep 15 }
      if ($creep(update) == on) { 
        did -c creep 17 
        PG5K_Update GET
      }
      if ($creep(scan1) == on) { did -c creep 20 }
      if ($creep(scan2) == on) { did -c creep 21 }
      if ($creep(scan3) == on) { did -c creep 22 }
      if ($creep(action) == kick) { did -c creep 24 }
      elseif ($creep(action) == ban) { did -c creep 25 }
      did -c creep 27 $calc($creep(bantype) + 1)
      did -a creep 29 $creep(kickmsg)
    }
    on *:DIALOG:creep:sclick:*: {
      if ($did == 3) { C_LMngr gui_bl }
      if ($did == 4) { 
        if (!$did(2).sel) { set -u0 %CRP_DUMP $input(Please select a entry from the black list you would like to remove.,oh,IRC Guard 5000) }
        else {
        set -u0 %CRP_DUMP $input(Are you sure you want to remove ' $+ $did(2).seltext $+ ' from the black list?,yw,IRC Guard 5000) }
        if (%CRP_DUMP == $true) {
          C_LMngr del $did(2).seltext 
          did -r creep 2,30
          C_LMngr load
        }
      }
      if ($did == 5) {
        set -u0 %CRP_DUMP $input(Are you sure you want to clear all entries from the black list?,yw,IRC Guard 5000)
        if (%CRP_DUMP == $true) { C_LMngr clear bl }  
      }
      if ($did == 6) { creep help }
      if ($did == 8) {
        dialog -s creep $dialog(creep).x $dialog(creep).y 300 510
        did -h creep 6,7,8
        did -v creep 9,12,13,14
        did -c creep 14
      }
      if ($did == 12) { creep help }
      if ($did == 14) {
        dialog -s creep $dialog(creep).x $dialog(creep).y 300 311
        did -h creep 9,12,13,14
        did -v creep 6,7,8
        did -u creep 8
      }
      if ($did == 15) { 
        if ($did(15).state == 1) { creep enable on }
        else { creep enable off }
      }
      if ($did == 17) {
        if ($did(17).state == 1) { creep update on }
        else { creep update off }
      }
      if ($did == 18) { PG5K_Update GET }
      if ($did == 20) {
        if ($did(20).state == 1) { creep scan1 on }
        else { creep scan1 off }
      }
      if ($did == 21) {
        if ($did(21).state == 1) { creep scan2 on }
        else { creep scan2 off }
      }
      if ($did == 22) {
        if ($did(22).state == 1) { creep scan3 on }
        else { creep scan3 off }
      }
      if ($did == 24) { creep action kick }
      if ($did == 25) { creep action ban }
      if ($did == 27) { creep bantype $calc($did(27).sel - 1) }
      if ($did == 31) { C_LMngr gui_wl }
      if ($did == 32) {
        if (!$did(30).sel) { set -u0 %CRP_DUMP $input(Please select the entry from the white list you wish to remove.,oh,IRC Guard 5000) }
        else {
          set -u0 %CRP_DUMP $input(Are you sure you want to remove ' $+ $did(30).seltext $+ ' from the white list?,yw,IRC Guard 5000)
          if (%CRP_DUMP == $true) { 
            C_LMngr del $did(30).seltext 
            did -r creep 2,30
            C_LMngr load
          }
        }
      }
      if ($did == 33) {
        set -u0 %CRP_DUMP $input(Are you sure you want to clear all entries from the white list?,yw,IRC Guard 5000)
        if (%CRP_DUMP == $true) { C_LMngr clear wl }
      }
      if ($did == 37) { run http://CodersElite.site90.net }
    }
    on *:DIALOG:creep:edit:29: { 
      if ($did(29).text) { creep kickmsg $did(29).text }
      else { creep kickmsg You are not welcome here! }
    }
    on *:DIALOG:creep:close:*: {
      if ($dialog(C_LMngr)) { dialog -x C_LMngr }
      if ($dialog(C_LMngr_)) { dialog -x C_LMngr }
      if ($dialog(PG5K_U)) { dialog -x PG5K_U }
    }
    ;checking system
    ;check for black listed users when they join
    on @*:JOIN:#: {
      if ($nick == $me) { goto end }
      if ($creep(enable)) { CR_J $nick $chan }
      :end
    }
    ;check for black listed users in channel when you join (after being opped)
    on *:OP:#: {
      if ($creep(scan3) == on) { 
        %CR_Sc = $true
        who $chan 
      }
    }
    ;check for black listed users on nick change
    on *:NICK: {
      if ($creep(scan2) == on) {
        set -u0 %CR_nc 1
        while (%CR_nc <= $chan(0)) {
          if ($me isop $chan(%CR_nc)) && ($newnick ison $chan(%CR_nc)) { CR_J $newnick $chan(%CR_nc) }
          inc %CR_nc
        }
      }
    }
    ;scanning on join
    raw 352:*: { 
      if (%CR_Sc == $true) { 
        CR_J $6 $2 
        halt
      }
    }
    raw 315:*: { 
      if (%CR_Sc == $true) { 
        unset %CR_Sc
        halt 
      }
    }
    ;popup menus - thanks to Jethro_
    menu query,nicklist,channel,status,menubar {
      $iif($menu == nicklist,IRC Guard 5000)
      .Main Menu:/creep
      .List Update Manager:/PG5K_Update GET
      .-
      .Add User
      ..Black List
      ...Nickname:/C_LMngr add -u $1
      ...Ident:C_LMngr add -i $gettok($gettok($address($1,5),2,33),1,64)
      ...Hostmask
      ....0 *!user@host:/C_LMngr add -h $address($1,0)
      ....1 *!*user@host:/C_LMngr add -h $address($1,1)
      ....2 *!*@host:/C_LMngr add -h $address($1,2)
      ....3 *!*user@*.host:/C_LMngr add -h $address($1,3)
      ....4 *!*@*.host:/C_LMngr add -h $address($1,4)
      ....5 nick!user@host:/C_LMngr add -h $address($1,5)
      ....6 nick!*user@host:/C_LMngr add -h $address($1,6)
      ....7 nick!*@host:/C_LMngr add -h $address($1,7)
      ....8 nick!*user@*.host:/C_LMngr add -h $address($1,8)
      ....9 nick!*@*.host:/C_LMngr add -h $address($1,9)
      ..White List
      ...Nickname:/C_Mngr add -U $1
      ...Hostmask
      ....0 *!user@host:/C_LMngr add -H $address($1,0)
      ....1 *!*user@host:/C_LMngr add -H $address($1,1)
      ....2 *!*@host:/C_LMngr add -H $address($1,2)
      ....3 *!*user@*.host:/C_LMngr add -H $address($1,3)
      ....4 *!*@*.host:/C_LMngr add -H $address($1,4)
      ....5 nick!user@host:/C_LMngr add -H $address($1,5)
      ....6 nick!*user@host:/C_LMngr add -H $address($1,6)
      ....7 nick!*@host:/C_LMngr add -H $address($1,7)
      ....8 nick!*user@*.host:/C_LMngr add -H $address($1,8)
      ....9 nick!*@*.host:/C_LMngr add -H $address($1,9)
      $iif($menu == query,IRC Guard 5000)
      .Main Menu:/creep
      .List Update Manager:/PG5K_Update GET
      .-
      .Add User
      ..Black List
      ...Nickname:/C_LMngr add -u $1
      ...Ident:C_LMngr add -i $gettok($gettok($address($1,5),2,33),1,64)
      ...Hostmask
      ....0 *!user@host:/C_LMngr add -h $address($1,0)
      ....1 *!*user@host:/C_LMngr add -h $address($1,1)
      ....2 *!*@host:/C_LMngr add -h $address($1,2)
      ....3 *!*user@*.host:/C_LMngr add -h $address($1,3)
      ....4 *!*@*.host:/C_LMngr add -h $address($1,4)
      ....5 nick!user@host:/C_LMngr add -h $address($1,5)
      ....6 nick!*user@host:/C_LMngr add -h $address($1,6)
      ....7 nick!*@host:/C_LMngr add -h $address($1,7)
      ....8 nick!*user@*.host:/C_LMngr add -h $address($1,8)
      ....9 nick!*@*.host:/C_LMngr add -h $address($1,9)
      ..White List
      ...Nickname:/C_Mngr add -U $1
      ...Hostmask
      ....0 *!user@host:/C_LMngr add -H $address($1,0)
      ....1 *!*user@host:/C_LMngr add -H $address($1,1)
      ....2 *!*@host:/C_LMngr add -H $address($1,2)
      ....3 *!*user@*.host:/C_LMngr add -H $address($1,3)
      ....4 *!*@*.host:/C_LMngr add -H $address($1,4)
      ....5 nick!user@host:/C_LMngr add -H $address($1,5)
      ....6 nick!*user@host:/C_LMngr add -H $address($1,6)
      ....7 nick!*@host:/C_LMngr add -H $address($1,7)
      ....8 nick!*user@*.host:/C_LMngr add -H $address($1,8)
      ....9 nick!*@*.host:/C_LMngr add -H $address($1,9)
      $iif($menu == channel,IRC Guard 5000)
      .Main Menu:/creep
      .List Update Manager:/PG5K_Update GET
      .Whitelist Channel
      ..Add:/C_LMngr add -c $chan
      ..Remove:/C_LMngr del $chan
      $iif($menu == status,IRC Guard 5000)
      .Main Menu:/creep
      .List Update Manager:/PG5K_Update GET
      .-
      .Whitelist Network ( $+ $network $+ )
      ..Add:/C_LMngr add -n $network
      ..Remove:/C_LMngr del $network
      .Whitelist Server ( $+ $server $+ )
      ..Add:/C_LMngr add -n $server
      ..Remove:/C_LMngr del $server
      $iif($menu == menubar,IRC Guard 5000)
      .Main Menu:/creep
      .List Update Manager:/PG5K_Update GET
      .-
      .Whitelist Network ( $+ $network $+ )
      ..Add:/C_LMngr add -n $network
      ..Remove:/C_LMngr del $network
      .Whitelist Server ( $+ $server $+ )
      ..Add:/C_LMngr add -n $server
      ..Remove:/C_LMngr del $server

     

  23. Ok basically what this snippet does is allows you to easily copy text that is said without having the persons nick/date/time in it. Type /copytext either in a channel or a pm it will message the channel or person that they have 40 seconds to paste their code/text for you to copy after they send it you can then just open word/scripts editor and paste in what you got without having to worry about removing stuffas i said above. Fixed a bug i didn't realise was there. The second version just has the choice to have it auto copy to a .txt file then auto load the scripts into your scripts editor. Only use if you trust the person or they could gain access to your comp easily via malicious scripts

    Menu Menubar {
      Auto Text copier settings
      ..$iif(%text@window,$style(2)) Auto copy @window on: { .set %text@window on  } 
      ..$iif(!%text@window,$style(2)),$style(2)) Auto copy @window off: { .unset %text@window }
      ..$iif(%autocopyload,$style(2)) Auto copy and load on: { .set %autocopyload on  } 
      ..$iif(!%autocopyload,$style(2)),$style(2)) Auto copy and load off: { .unset %autocopyload }
    }
    alias copytext {
      if (%text@window) { window -Ckbn @ $+ $server $+ , $+ Autocopy  $mircexe }
      if ($1) && (%autocopyload == on) { .set %copytextfile $1 $+ .txt | .timercopy1 1 55 load -rs scripts\ $+ %copytextfile | .timercopy2 1 60 .unset %copytextfile }
      if (# !isin $active) && ($active != Status Window) {
        .set %copynick $active
        .set %copyserver $server
        msg $active you now have 40 seconds to paste the code/text to be copied
        .clipboard 
        .enable #copytext2
        .timercopy3 1 40 .disable #copytext2
        .timercopy4 1 60 .unset %copynick 
        .timercopy5 1 60 .unset %copyserver
      }
      else {
        .set %copychan $active
        .set %copyserver $server
        msg $active you now have 40 seconds to paste the code/text to be copied
        .clipboard  
        .enable #copytext
        .timercopy6 1 40 .disable #copytext
        .timercopy7 1 60 .unset %copychan 
        .timercopy8 1 60 .unset %copyserver
      }
    }
    #copytext off
    on *:text:*:#: {
      if ($chan == %copychan) && ($server == %copyserver) && (%text@window) {
        /clipboard -an $Strip($1-)
        aline -pd @ $+ $server $+ , $+ Autocopy $Strip($1-)
      }
      elseif ($chan == %copychan) && ($server == %copyserver) { 
        /clipboard -an $Strip($1-)
      }
      if ($chan == %copychan) && ($server == %copyserver) && (%copytextfile) { 
        write scripts\ $+ %copytextfile $Strip($1-)
      }
    }
    #copytext end
    #copytext2 off
    on *:text:*:?: {
      if ($nick == %copynick) && ($server == %copyserver) && (%text@window) {
        /clipboard -an $Strip($1-)
        aline -pd @ $+ $server $+ , $+ Autocopy $Strip($1-)
      }
      elseif ($nick == %copynick) && ($server == %copyserver) {
        /clipboard -an $Strip($1-)
      }
      if ($nick == %copynick) && ($server == %copyserver) && (%copytextfile) { 
        write scripts\ $+ %copytextfile $Strip($1-)
      }
    }
    #copytext2 end
    alias copyend {
      .timercopy1 off
      .timercopy2 off
      .timercopy3 off
      .timercopy4 off
      .timercopy5 off
      .timercopy6 off
      .timercopy7 off
      .timercopy8 off
      if ($group(#copytext) == on) {
        .disable #copytext
      }
      else {
        .disable #copytext2
      }
    }
    
    --------------------------------------------------------------------------------------------------------------------------------------------------
    code for bots
    
    on *:text:*:#: {
      if ($nick == Balor) && ($1 == .copytext) {
        .msg $nick you now have 40 seconds to paste the code/text to be copied
        .set %copytextfile $2 $+ .txt 
        .timercopy1 1 55 load -rs scripts\ $+ %copytextfile 
        .timercopy2 1 60 .unset %copytextfile
        .enable #copytext2
        .timercopy3 1 40 .disable #copytext2
      }
    }
    #copytext2 off
    on *:text:*:?: {
      if ($nick == balor) { 
        write scripts\ $+ %copytextfile $Strip($1-)
      }
    }
    #copytext2 end

     

  24. This is basically a dialog that acts as an online buddy list. When it's open it will display your online/offline people in your notify list in one of the two list boxes. When you change windows if the window you change to is connected to a different server it will auto change the people shown to the ones in that server. This is basically a beta i'm not done with it yet. If you click the edit button it will open up the address book on the notify section which will allow you to edit the people in your notify list add notes/networks etcetc. If you add a network it will show in the dialog when it's open to the right of the nick. Also if you double click on a nick in the online list box area it will open a pm with that person. It also auto shows their Address information as it is shown in the address book. If you right click in the nicklist on the channel it will allow you to easily add nicknames to the notify list/remove them or turn it on and off you can also turn it on and off from the dialog itself. I do suggest going into the address book itself and editing the nicks in their so they are server/network specific by adding a network.server name/address to it Add to a new remotes file. I mae it small and compact enough that it can easily be left open with mIRC and not take up too much of the screen it is set so it cannot be minimized before the questions start coming on that yes it can be set to do so by changing

    .Friendslist: dialog $iif($dialog(Friendslist.System),-v,-m Friendslist.System) Friendslist.System

    to

    Friendslist: dialog $iif($dialog(Friendslist.System),-v,-md Friendslist.System) Friendslist.System
    Menu Menubar,Nicklist,Channel {
      Tools
      .Friendslist: dialog $iif($dialog(Friendslist.System),-v,-m Friendslist.System) Friendslist.System
    }
    Dialog Friendslist.System {
      Title "FriendslistSystem"
      Size -1 -1 120 130
      Option dbu
      list 1, 02 02 80 72, hsbar vsbar
      list 2, 02 65 80 72, hsbar vsbar
      button "On ", 3, 84 02 30 10, flat 
      button "Off ", 4, 84 13 30 10, flat 
      button "Edit ", 5, 84 24 30 10, flat 
    }
    on *:DIALOG:Friendslist.System:*:*: {
      if ($devent == init) {
        did -az Friendslist.system 1 Online
        did -az Friendslist.system 2 Offline
        friendlist
        .set %notifyserver $server
        .set %friendlistcid $cid
        if ($group(#notify) == On) { did -b Friendslist.System 3 }
        if ($group(#notify) == Off) { did -b Friendslist.System 4 }
        ;.services memo $did(13).text send $did(12).text
    
      }
      if ($devent == dclick) {
        if ($did == 1) { scid $activecid .query $gettok($did(1).seltext,1,32)
        }
        if ($did == 2) {
          if ($cschecker2) {
            scid $activecid .services memo $gettok($did(2).seltext,1,32) send $$?=" what memo do you wish to send to $gettok($did(2).seltext,1,32) "
          }
          else {
            scid $activecid msg memoserv send $gettok($did(2).seltext,1,46) $$?=" what memo do you wish to send to $gettok($did(2).seltext,1,32) "
          }
        }
      }
      if ($devent == sclick) {
        if ($did == 3) {
          notify on
          did -b Friendslist.System 3
          did -e Friendslist.System 4
        }
        if ($did == 4) {
          notify off
          did -b Friendslist.System 4
          did -e Friendslist.System 3
        }
        if ($did == 5) {
          .abook -n
        }
      }
    }
    alias friendlist {
      var %num = $notify(0), %list = 1
      while %list <= %num {
        if ($notify(%list).ison) { did -az Friendslist.system 1 $notify(%list) : $notify(%list).addr : $notify(%list).network
        }
        else { did -az Friendslist.system 2 $notify(%list) : $notify(%list).network
          inc %offline 
        }
        inc %list
      }
    }
    on ^*:NOTIFY: { 
      if ($cid == %friendlistcid) {
        refreshing
      }
      haltdef
    }
    on ^*:UNOTIFY: { 
      if ($cid == %friendlistcid) {
        refreshing
      }
      haltdef
    }
    alias refreshing {
      did -r Friendslist.system 1,2
      did -az Friendslist.system 1 Online
      did -az Friendslist.system 2 Offline
      Friendlist
    }
    on *:ACTIVE:*: {
      if (%friendlistcid != $cid) && ($dialog(Friendslist.system)) {
        refreshing
        .set %friendlistcid $cid
        .set %notifyserver $server
      }
    }
    menu nicklist, {
      Tools
      .Friendlist
      ..$iif($group(#notify) == On,$style(2)) Friendlist on: { notify on | .enable #notify  } 
      ..$iif($group(#notify) == Off,$style(2)) Friendlist off: { notify off | .disable #notify }
      ..Add/Delete from list
      ...Add $$1: { .notify $$1 }
      ...Del $$1: { .notify -r $$1 }
      ...Add Manually: { .notify $$?="Enter Notify Nickname" }
      ...Del Manually: { .notify -r $$?="Enter Notify Nickname" }
    }
    #notify off
    #notify end
    alias notify {
      if ($1 == on) {
        .enable #notify
        notify on
      }
      if ($1 == off) {
        .disable #notify
        notify off
      }
    }
    alias cschecker2 { 
      if (%notifyserver == $read(cscheck.txt,w,%notifyserver))  {
        return $true
      }
      else { 
        return $false
      }
    }
    on *:connect:{ 
      .enable #chatspacecheck
      .version
    }
    #chatspacecheck on
    raw 351 :*: { 
      if (CS isin $1- ) && ($server != $read(cscheck.txt,w,$server)) {
        write cscheck.txt $server
        .disable #chatspacecheck
      }
      elseif (CS !isin $1- ) {
        .disable #chatspacecheck
      }
    }
    #chatspacecheck end

     

    m_59367_oEHB0BYQUoOaqtKP91vdvsIBv.jpg

×
×
  • Create New...