Jump to content

coders-irc_Bot

Administrators
  • Posts

    441
  • Joined

  • Last visited

  • Days Won

    7

coders-irc_Bot last won the day on November 24 2022

coders-irc_Bot had the most liked content!

About coders-irc_Bot

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

12459 profile views

coders-irc_Bot's Achievements

Collaborator

Collaborator (7/14)

  • First Post Rare
  • Collaborator Rare
  • Dedicated Rare
  • Conversation Starter Rare
  • Week One Done

Recent Badges

7

Reputation

  1. We have been grabbing the snippets from hawkee's website before it disappears as we never want to loose a lot of old snippets from various IRC scripter's
  2. IALFILL allows for a safe and consistent updating of mIRC's Internal Address List. This is useful for scripts that need to know user addresses in every channel you join. It is an alternative to the simple and dangerous "On *:JOIN:#:WHO $chan" that may cause you to lag or be disconnected for flooding (Quit: Excess Flood or Quit: RESVQ Exceeded). Exaple uses: /ialfill on (automatically update IAL as you join new channels) /ialfill off (turns off automatic update of IAL) /ialfill (manualy typed command, updates once) /ialfill 0 (temporarily sets the delay between WHO commands to 0 seconds) .ialfill (surpresses all output, use in scripts) ;r_IALFILL.mrc By Raccoon 25-Feb-2012 ;# IALFILL allows for a safe and consistent updating of mIRC's Internal Address List. ;# This is useful for scripts that need to know user addresses in every channel you join. ;# It is an alternative to the simple and dangerous "On *:JOIN:#:WHO $chan" that may cause ;# you to lag or be disconnected for flooding (Quit: Excess Flood or Quit: RESVQ Exceeded). ;# ;# This goes in your Remote Scripts section, mIRC 6.x and 7.x compatable. ;# Written by Raccoon on 25-Feb-2012. EFnet #mIRC. ;# Exaple uses: ;# /ialfill on (automatically update IAL as you join new channels) ;# /ialfill off (turns off automatic update of IAL) ;# /ialfill (manualy typed command, updates once) ;# /ialfill 0 (temporarily sets the delay between WHO commands to 0 seconds) ;# .ialfill (surpresses all output, use in scripts) ALIAS IALFILL { ; By Raccoon 25-Feb-2012 if $1 == on || $1 == auto { .enable #IALFILL_JOIN echo -qtic notice * IALFILL: Automatic Updating enabled. } elseif $1 == off { .disable #IALFILL_JOIN echo -qtic notice * IALFILL: Automatic Updating disabled. } else { ; Permit a custom delay between WHO requests. Default is 2 seconds. if $1 isnum { set -eu300 $+(%,IALFILL.,$cid,.delay) $1 } var %delay = $iif($($+(%,IALFILL.,$cid,.delay),2) isnum,$v1,2) ; Remember if any output should be displayed. (/ialfill vs .ialfill) set -eu300 $+(%,IALFILL.,$cid,.show) $show .timerIALFILL. $+ $cid 1 %delay IALFILL_next } } ; IALFILL_next is a timer and event delayed alias that is called internally. ALIAS IALFILL_next { ; By Raccoon 25-Feb-2012 var %i = 1, %n = $chan(0) ; Find next channel with incomplete IAL. WHILE %i <= %n { if !$chan(%i).ial { var %chan = $chan(%i) | BREAK } | inc %i } if %chan { .enable #IALFILL_WHO .raw WHO %chan ; Add a 30 second timeout to clean-up if WHO never happens. .timerIALFILL. $+ $cid 1 30 IALFILL_done %chan } else { var %show = $($+(%,IALFILL.,$cid,.show),2) if %show { echo -stic info * IALFILL: All channels on $network are up to date. } unset $+(%,IALFILL.,$cid,.*) } } ; Hide our /WHO output from spamming the Status Window. #IALFILL_WHO off RAW 352:*: { haltdef } ; /WHO enumeration. RAW 315:*: { IALFILL_done $2 | haltdef } ; End of /WHO list. #IALFILL_WHO end ; IALFILL_done is a call-back alias that is called internally. ALIAS IALFILL_done { ; By Raccoon 25-Feb-2012 var %chan = $1 var %show = $($+(%,IALFILL.,$cid,.show),2) .disable #IALFILL_WHO ; Make sure the IAL was successfully filled before continuing, otherwise we may try endlessly. ; The !ischan check allows for instances if the channel window is closed during /WHO. if $chan(%chan).ial || (%chan !ischan) { if %show { echo -stic info * IALFILL: %chan updated. } var %delay = $iif($($+(%,IALFILL.,$cid,.delay),2) isnum,$v1,2) .timerIALFILL. $+ $cid 1 %delay IALFILL_next } else { ; This should never, unless a server prohibits /WHO or you are extremely lagged. echo -stic notice * IALFILL: Unexpected error updating %chan $+ , giving up. unset $+(%,IALFILL.,$cid,.*) } } ; Automatcally fill IAL after joining channels, using a safe delay. ; Use /ialfill on|off to enable/disable. #IALFILL_JOIN off RAW 366:*: { .ialfill } ; End of /NAMES list. #IALFILL_JOIN end ; end of script.
  3. Automatically rejoin channels you have been banned or blocked from joining. Great for making sure your unattended client stays in all its channels, weathering through netsplits and takeovers or the occasional kick-ban. ; r_autorejoin.mrc * Version 2.2 * 21-Nov-2012 * Raccoon/EFnet ; This script has no dependencies. It belongs in the Remotes section. ;******************************************************************************* ;* Automatically rejoin channels you have been banned or blocked from joining. * ;* The script will keep retrying until you close the channel or get back in. * ;* First 12 tries at +10,+20... seconds, and then between 10-30 minutes random.* ;* Requires 'Rejoin channel when kicked' and 'Keep channels open' are enabled. * ;* Also some extras: Rejoin on Invite, and Rejoin on Freenode's /quote remove * ;* Written by Raccoon on 21-Nov-2012. #mIRC/EFNet #mSL/SwiftIRC www.hawkee.com * ;******************************************************************************* ;----- Begin "Auto-Rejoin When Blocked" by Raccoon ----- RAW 474:*: fail_join $2 until ban is lifted... RAW 471:*: fail_join $2 until limit is increased... RAW 473:*: fail_join $2 until invite-only is removed... RAW 475:*: fail_join $2 until key is removed... RAW 477:*: fail_join $2 until auth-only is removed... RAW 480:*Cannot join channel*: fail_join $2 until SSL-only is removed... RAW 489:*Cannot join channel*: fail_join $2 until SSL-only is removed... RAW 437:*temporarily unavailable*: fail_join $2 until channel becomes available... ALIAS -l fail_join { ; By Raccoon 21-Nov-2012 if ($1 ischan) { inc -eu1830 %FAILJOIN. $+ $cid $+ $1 var %n = $($+(%,FAILJOIN.,$cid,$1),2) var %t = $iif(%n isnum 1-12,$calc(%n * 10),$r(600,1800)) .timerFAILJOIN. $+ $cid $+ $1 1 %t _timer_rejoin $chsafe($1) var %str = Attempting to rejoin $2- if (%n == 1) { .timer 1 0 echo -tic notice $chsafe($1) * %str } else { haltdef } } } ALIAS -l _timer_rejoin { ; By Raccoon 21-Nov-2012 if ($1 ischan) && ($me !ison $1) { !join $1 $chan($1).key } else { unset %FAILJOIN. $+ $cid $+ $1 } } ;366 $me $chan :End of /NAMES list. RAW 366:*: { unset %FAILJOIN. $+ $cid $+ $2 } ;Use in /timers to sanitize channel names like #$($p(hacked!)). By Raccoon. ALIAS -l chsafe { return $iif($ isin $1,$!replace( $replace($1,$,`$) ,`$,$),$1) } ;*** EXTRAS *** ;Auto-rejoin open channel when Invited. Useful for mistake kick-bans. On *:INVITE:#: if ($chan ischan) { !join $chan $chan($chan).key } ;Auto-rejoin on forced part via '/quote remove $chan $nick' command on Freenode. On me:*:PART:#: { ; By Raccoon 18-Nov-2012 if $regex($1-,/requested by (\S+) \(\S+\)/) { var %r = $r(10,30) echo -stic notice * Forcibly Parted from $chan by $regml(1) $+ . Rejoining in %r seconds... .timer 1 %r !join -n $chsafe($chan) } } ;----- End "Auto-Rejoin When Blocked" by Raccoon ----- ;v1.0 27-Aug-2012 - Auto Rejoin when Banned, initial script. ;v1.1 12-Sept-2012 - Added $chsafe() to sanitize potential exploits. ;v2.0 18-Nov-2012 - Rewritten to support all blocks; +b/+l/+i/+k/netsplit. ;v2.1 18-Nov-2012 - Added support for other channel join blocks (auth/ssl/etc). ; Also threw in some extras: Rejoin on Invite, and on /remove. ;v2.2 21-Nov-2012 - Fixed: Instance of %chan should be $1 in timer's name. ;TODO: Attempt retrying channels that haven't been joined yet (no channel window). ; This will require some custom @window listing channels in queue to rejoin. ;http://www.hawkee.com/snippet/9729/ ;http://kthx.net/paste/abpw70srhzc40808ko
  4. Show someone's idle times for the server and each channel you share in common. Handy if you're being a nosy stalker. Replaces /whois in most cases. Usage: /idle Raccoon Raccoon signed on 2w1d, idle 1s, @#raccoon[1s] Query[1m5s] Chat[1m12s] @#irchelp[2h9m] +#politics[15h6m] #efnet[2w1d] ; Use: /idle <nickname> ALIAS idle { ; by Raccoon 10-July-2013 13-aug-2013 .raw WHOIS $$1 $1 .enable #idle_whois hinc -mu5 idle_whois cnt 1 .timerIDLE_WHOIS -oi 1 5 .disable #idle_whois $(|) hfree -w idle_whois } #idle_whois off RAW 319:*: { hadd -mu5 idle_whois $cid $+ $2 $+ .chans $hget(idle_whois,$cid $+ $2 $+ .chans) $3- | halt } RAW 317:*: { hadd -mu5 idle_whois $cid $+ $2 $+ .idle $3-4 | halt } RAW 318:*: { VAR %PRECISION = 2 var %nick = $2 var %chans = $hget(idle_whois,$cid $+ $2 $+ .chans) var %idles = $hget(idle_whois,$cid $+ $2 $+ .idle) var %idle = $gettok(%idles,1,32), %signon = $gettok(%idles,2,32) var %i = 1, %cidles, %rchans = %chans if ($query(%nick)) { var %cidles = $query(%nick).idle $+ :Query } if ($chat(%nick)) { var %cidles = %cidles $chat(%nick).idle $+ :Chat } WHILE $gettok(%chans,%i,32) { var %pchan = $v1 var %chan = $regsubex(%pchan,/^[^ $chantypes ]*/x,) var %cidle = $nick(%chan,%nick).idle if (%cidle != $null) { var %cidles = %cidles %cidle $+ : $+ %pchan var %rchans = $remtok(%rchans,%pchan,1,32) } inc %i } var %cidles = $sorttok(%cidles,32,n) var %i = 1, %chanidles WHILE $gettok(%cidles,%i,32) { var %pchan = $gettok($v1,2,58) var %cidle = $gettok($v1,1,58) var %chanidles = %chanidles %pchan $+ [[ $+ $dur(%cidle,%PRECISION) $+ ]] inc %i } echo -atic whois * $2 signed on $dur($calc($ctime - %signon),2) $+ , idle $dur(%idle,2) $+ , %chanidles %rchans hdel -w idle_whois $cid $+ $2 $+ .* hdec -m idle_whois cnt 1 if (!$hget(idle_whois,cnt)) { .disable #idle_whois | hfree -w idle_whois } halt } RAW *:*: halt #idle_whois end ;$duration(12345678) = 20wks 2days 21hrs 21
  5. Message Box Rename Buttons by Raccoon on 12-Sept-2013 Allows you to rename the one, two or three buttons of a standard MsgBox dialog, without having to create your own custom GUI. This script is written as a "Standard Library" and belongs in your AutoHotkey\Lib directory. Note that this function gets called immediately PRIOR your MsgBox command. Example Usage: MsgBoxRenBtn("Red","Green","Blue") MsgBox, 0x22, Pick one!, What is your favorite color? ; MsgBoxRenBtn.ahk Library Include. ; This file belongs in the \Lib directory. ;******************************************************************************* ;* Message Box Rename Buttons by Raccoon on 12-Sept-2013 * ;* * ;* Usage: (see examples at bottom) * ;* MsgBoxRenBtn(<"Text for Button 1">,["Optional Button 2"],["Optional 3"]) * ;* MsgBox, <parameters> * ;******************************************************************************* MsgBoxRenBtn(btn1="",btn2="",btn3="") { ; by Raccoon 12-Sept-2013 Static sbtn1:="", sbtn2:="", sbtn3:="", i=0 sbtn1 := btn1, sbtn2 := btn2, sbtn3 := btn3, i=0 SetTimer, MsgBoxRenBtn, 1 Return MsgBoxRenBtn: If (hwnd:=WinActive("ahk_class #32770")) { if (sbtn1) ControlSetText, Button1, % sbtn1, ahk_id %hwnd% if (sbtn2) ControlSetText, Button2, % sbtn2, ahk_id %hwnd% if (sbtn3) ControlSetText, Button3, % sbtn3, ahk_id %hwnd% SetTimer, MsgBoxRenBtn, Off } if (i >= 1000) SetTimer, MsgBoxRenBtn, Off i++ Return } ; *** End of Function *** ; --- Optional Sample Script. --- If (A_ScriptName = "MsgBoxRenBtn.ahk") ; Show Demo { ; Simple Example: Replace "OK" Button with "World". MsgBoxRenBtn("World") MsgBox, Hello ; Two Button Example: Yes/No replaced with Dogs/Cats. MsgBoxRenBtn("Dogs","Cats") MsgBox, 0x4, Pick one!, Which do you like best? IfMsgBox Yes TrayTip,, You chose Dogs! IfMsgBox No TrayTip,, You chose Cats! ; Three Button Example: Abort/Retry/Ignore replaced with Red/Green/Blue. ; Note: 0x2 is Abort/Retry/Ignore, add 0x20 for Icon Question, is 0x22. MsgBoxRenBtn("Red","Green","Blue") MsgBox, 0x22, Pick one!, What is your favorite color? IfMsgBox Abort TrayTip,, You chose Red! IfMsgBox Retry TrayTip,, You chose Green! IfMsgBox Ignore TrayTip,, You chose Blue! Sleep, 3000 } ; --- End of Optional Script Sample. --- ; End of MsgBoxRenBtn.ahk Library Include.
  6. Handy menus that display recent activity in mIRC and take you there with a click! More features to come . . . ; Recent Menu by Raccoon Jan 2015 MENU Status,Channel,Query,Menubar,@* { - $menuspeedtest Recently .Opened ..$submenu($recent_menu($1,opened)) .Viewed ..$submenu($recent_menu($1,viewed)) .Typed ..$submenu($recent_menu($1,typed)) .Spoken ..$submenu($recent_menu($1,spoken)) .Highlighted ..$submenu($recent_menu($1,highlighted)) $menuspeedtest } ALIAS -l menuspeedtest { if (!%_menuspeedtest) set -u2 %_menuspeedtest $ticks if ($mouse.key & 4) return $calc(($ticks - %_menuspeedtest) /1000) sec } ALIAS -l recent_menu { ; by Raccoon 2015 if ($1 == begin) set -u %_menu_recent $hget(recent,$2) if ($1 isnum 1-35) { var %a = $gettok(%_menu_recent,$1,32), %wid = $gettok(%a,1,58), %ticks = $gettok(%a,2,58) var %win = $window(%wid), %dur = $dur($calc(($ticks - %ticks)/1000),2) var %net = $iif(!$window(%wid).anysc,$scid($window(%wid).cid).network $(|)) if (%win) return %net %win $+ $chr(9) $+ %dur $+ : window -a %wid ;if (%a) return --- (window closed) --- $+ $chr(9) $+ %dur $+ : noop if (%a) return : } if ($1 isnum) && (!%_menu_recent.done) { set -u %_menu_recent.done $true | return - } if ($1 == end) return Clear: hdel recent $2 } ALIAS -l dur { return $regsubex($gettok($duration($1),1- $+ $2,32),/(\d+\w)\D*/g,\t) } ; by Raccoon On *:ACTIVE:*: recent_add viewed $activewid On *:INPUT:*: recent_add typed $activewid On *:OPEN:*: recent_add opened $window($target).wid On me:*:JOIN:*: recent_add opened $chan($chan).wid ALIAS -l recent_add { ; by Raccoon 2015 var %a = $hget(recent,$$1), %wid = @ $+ $$2 var %a = %wid $+ : $+ $ticks $regsubex(%a,/ %wid :\d+/xg,) if ($len(%a) > 4000) var %a = $deltok(%a,-1,32) hadd -m recent $1 %a } On *:TEXT:*:*: recent_spoke $1- On *:ACTION:*:*: recent_spoke $1- On *:NOTICE:*:#: recent_spoke $1- ALIAS -l recent_spoke { ; by Raccoon 2015 if ($1- !isnum) && ($highlight($1-)) recent_add highlighted $window($target).wid recent_add spoken $window($target).wid }
  7. Future ASCII (Unicode) Font for mIRC. ;# Future Font for mIRC. Based on font from TOIlet @ Caca Labs ;# /fut <text> ;# /fut [-m|-n target] <text> -- to message or notice target(s). ;# /fut [-cmd ["]custom["]] <text> -- send by arbitrary command. ;# Bold and Reverse control codes, work. Color support coming... fut { var %cmd = say while (-* iswm $1) { ; -switches if ($1 == -cmd) && ($regex($2-,/(?:"([^"]*)"|\S+)(.*)/)) { var %cmd = $regml(1) | tokenize 32 $regml(2) } elseif ($1 == -m) { var %cmd = msg $2 | tokenize 32 $3- } elseif ($1 == -n) { var %cmd = notice $2 | tokenize 32 $3- } else { break } ; unknown switch. } var %a, %b1, %b2, %b3 %a = $chr(32) $+ !"#$%&'()*+,-./0123456789:;<=>?@ $+ $& ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~ÄÖÜß卐卍†‡…—·☐ $+ $chr(127) %b1 = ..,.╻,╻╻,╺╋╋╸,┏┳┓,┏┓╻,┏┓..,╻,┏╸,╺┓,╻.╻,.╻.,..,...,..,.╻, %b2 = ..,.╹,..,╺╋╋╸,┗╋┓,┏━┛,┃╺╋╸,.,┃.,.┃,╺╋╸,╺╋╸,..,╺━╸,..,┏┛, %b3 = ..,.╹,..,....,┗┻┛,╹┗┛,┗━┛.,.,┗╸,╺┛,╹.╹,.╹.,.┛,...,.╹,╹., %b1 = %b1 $+ ┏━┓,╺┓.,┏━┓,┏━┓,╻.╻,┏━╸,┏━┓,┏━┓,┏━┓,┏━┓,..,..,.┏╸,...,╺┓.,┏━┓,┏━┓, %b2 = %b2 $+ ┃┃┃,.┃.,┏━┛,╺━┫,┗━┫,┗━┓,┣━┓,..┃,┣━┫,┗━┫,.╹,.╹,╺┫.,╺━╸,.┣╸,.╺┛,┃┣┛, %b3 = %b3 $+ ┗━┛,╺┻╸,┗━╸,┗━┛,..╹,┗━┛,┗━┛,..╹,┗━┛,┗━┛,.╹,.┛,.┗╸,╺━╸,╺┛.,.╹.,┗━╸, %b1 = %b1 $+ ┏━┓,┏┓.,┏━╸,╺┳┓,┏━╸,┏━╸,┏━╸,╻.╻,╻,.┏┓,╻┏.,╻..,┏┳┓,┏┓╻,┏━┓,┏━┓,┏━┓,┏━┓, %b2 = %b2 $+ ┣━┫,┣┻┓,┃..,.┃┃,┣╸.,┣╸.,┃╺┓,┣━┫,┃,..┃,┣┻┓,┃..,┃┃┃,┃┗┫,┃.┃,┣━┛,┃┓┃,┣┳┛, %b3 = %b3 $+ ╹.╹,┗━┛,┗━╸,╺┻┛,┗━╸,╹..,┗━┛,╹.╹,╹,┗━┛,╹.╹,┗━╸,╹.╹,╹.╹,┗━┛,╹..,┗┻┛,╹┗╸, %b1 = %b1 $+ ┏━┓,╺┳╸,╻.╻,╻.╻,╻.╻,╻.╻,╻.╻,╺━┓,┏━.,╻.,.━┓,┏┓,...,.┓,.┏╸,╻,╺┓.,..., %b2 = %b2 $+ ┗━┓,.┃.,┃.┃,┃┏┛,┃╻┃,┏╋┛,┗┳┛,┏╋┛,┃..,┗┓,..┃,..,...,..,.┫.,┃,.┣.,┏━┛, %b3 = %b3 $+ ┗━┛,.╹.,┗━┛,┗┛.,┗┻┛,╹.╹,.╹.,┗━╸,┗━.,.╹,.━┛,..,╺━╸,..,.┗╸,╹,╺┛.,..., %b1 = %b1 $+ ┏━┓┏━╸,┏━┓┏━╸,╻.╻┏━╸,┏━┓┏━┓,╻┏╸,╺┓╻,.╻.,.╻.,...,.....,..,...,┏┓ %b2 = %b2 $+ ┣━┫┣╸.,┃.┃┣╸.,┃.┃┣╸.,┗━┓┗━┓,┗╋┓,┏╋┛,╺╋╸,╺╋╸,...,╺━━━╸,┏┓,┏━┓,┃┃ %b3 = %b3 $+ ╹.╹┗━╸,┗━┛┗━╸,┗━┛┗━╸,┗━┛┗━┛,╺┛╹,╹┗╸,.┃.,╺╋╸,╹╹╹,.....,┗┛,┗━┛,┗┛ var %s = $replace($upper($1-),`\,卐,`/,卍,`T,†,--,—,$chr(160),$chr(32)) var %i = 1, %n = 3 while (%i <= %n) { %cmd $replace($regsubex(%s,/(*UTF8)(.)/g, $& $iif($gettok(%b [ $+ [ %i ] ],$poscs(%a,\t),44),$v1,\t)),.,$chr(160)) inc %i } if (!$event) && (!$editbox($active)) editbox -ap /fut } ; by Raccoon 2016
  8. ;# Emboss Fonts for mIRC. Based on font from TOIlet @ Caca Labs ;# /emb <text> and /enb2 <text> ;# /emb [-m|-n target] <text> -- to message or notice target(s). ;# /emb [-cmd ["]custom["]] <text> -- send by arbitrary command. ;# Bold and Reverse control codes, work. Color support coming... ;# The missing characters # $ % are not a perfect compromise. emb2 { emb -2 $1- } emb { var %cmd = say while (-* iswm $1) { ; -switches if ($1 == -cmd) && ($regex($2-,/(?:"([^"]*)"|\S+)(.*)/)) { var %cmd = $regml(1) | tokenize 32 $regml(2) } elseif ($1 == -m) { var %cmd = msg $2 | tokenize 32 $3- } elseif ($1 == -n) { var %cmd = notice $2 | tokenize 32 $3- } elseif ($1 == -2) { var %emb2 = $true | tokenize 32 $2- } else { break } ; unknown switch. } var %a, %b1, %b2, %b3 %a = $chr(32) $+ !"&'()*+,-./#$%—0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~ %b1 = ..,.┃,┛┛,┏┛┃.,┛,.┛,━.,┛.┛,.┃.,.,..,..,..┛,.╻╻.,┏┳┓,┏┓╻,...., %b2 = ..,.┛,..,┃━┏┛,.,┃.,.┃,━┏┛,━┏┛,.,━┛,..,.┛.,╺┏┏╸,┗╋┓,┏━┛,━━━┛, %b3 = ..,.┛,..,━━┛.,.,.┛,━.,┛.┛,.┛.,┛,..,.┛,┛..,╺┏┏╸,┗┻┛,╹┗┛,...., %b1 = %b1 $+ ┏━┃,━┃.,━━┃,━━┃,┃.┃,┏━┛,┏━┛,┏━┃,┏━┃,┏━┃,..,..,..┛,...,┛..,┏━┃,┏━┃, %b2 = %b2 $+ ┃┛┃,.┃.,┏━┛,━━┃,━━┃,━━┃,┏━┃,..┃,┏━┃,━━┃,.┛,.┛,┛..,━━┛,..┛,..┛,┃┛┛, %b3 = %b3 $+ ━━┛,━━┛,━━┛,━━┛,..┛,━━┛,━━┛,..┛,━━┛,━━┛,.┛,.┛,..┛,━━┛,┛..,.┛.,━━┛, %b1 = %b1 $+ ┏━┃,┏━.,┏━┛,┏━.,┏━┛,┏━┛,┏━┛,┃.┃,┛,.┛,┃.┃,┃..,┏┏.,┏━.,┏━┃,┏━┃,┏━┃.,┏━┃, %b2 = %b2 $+ ┏━┃,┏━┃,┃..,┃.┃,┏━┛,┏━┛,┃.┃,┏━┃,┃,.┃,┏┛.,┃..,┃┃┃,┃.┃,┃.┃,┏━┛,┃.┃.,┏┏┛, %b3 = %b3 $+ ┛.┛,━━.,━━┛,━━.,━━┛,┛..,━━┛,┛.┛,┛,━┛,┛.┛,━━┛,┛┛┛,┛.┛,━━┛,┛..,━━━┛,┛.┛, %b1 = %b1 $+ ┏━┛,━┏┛,┃.┃,┃.┃,┃┃┃,┃.┃,┃.┃,━━┃,┏┛,┛..,━┃,.┛.,...,┛.,.┏┛,┃,━┃.,.┛.┛ %b2 = %b2 $+ ━━┃,.┃.,┃.┃,┃.┃,┃┃┃,.┛.,━┏┛,┏┛.,┃.,.┛.,.┃,┛.┛,...,.┛,━┃.,┃,.┏┛,┛.┛. %b3 = %b3 $+ ━━┛,.┛.,━━┛,.┛.,━━┛,┛.┛,.┛.,━━┛,━┛,..┛,━┛,...,━━┛,..,.━┛,┛,━┛.,.... var %s = $replace($upper($1-),$chr(160),$chr(32),Ä,AE,Ö,OE,Ü,UE,ß,SS,--,—) var %i = 1, %n = 3 while (%i <= %n) { if (%emb2) var %b $+ %i $replace(%b [ $+ [ %i ] ],━,═,┃,║,┏,╔,┛,╝) %cmd $replace($regsubex(%s,/(*UTF8)(.)/g, $& $iif($gettok(%b [ $+ [ %i ] ],$poscs(%a,\t),44),$v1,\t)),.,$chr(160)) inc %i } if (!$event) && (!$editbox($active)) editbox -ap /emb $+ $iif(%emb2,2) } ; by Raccoon 2016
  9. Here are two Windows .cmd batch file scripts that will enable you to make your removable flash drives read-only and writeable again. Reasons for doing this?: Prevent a virus infected computer from infecting your files. Prevent a public computer's antivirus program from deleting your files. Prevent some idiot from deleting or corrupting your porn. Your porn should corrupt them! Prevent a smart tv, photo kiosk, car stereo, android, etc from adding folders and shit to your drive. These scripts basically perform a simple series of DISKPART commands, namely ATTRIBUTES DISK SET READONLY and ATTRIBUTES DISK CLEAR READONLY, upon the drive which the scripts are executed from. They must be Run As Administrator -- Right-click the files in Windows Explorer. ProTip: You obviously can't create or modify files when your drive is set to read-only. So, um, copy both files before testing this. Additionally, some drives may appear like files are being written to them, but you're probably just seeing Windows write caching. Eject and reinsert the drive to confirm that changes are impossible and discarded while the drive is set to read-only. file: disk-readonly.cmd @rem disk-readonly.cmd script by Raccoon 2016 @rem DISKPART: ATTR DISK SET/CLEAR READONLY @echo off fltmc >nul 2>&1 && ( goto admin ) || ( goto noadmin ) :noadmin echo This script must be 'Run As Administrator'. echo Exiting... echo. pause exit :admin echo Setting drive %~d0 to READONLY... echo ^>^> ARE YOU SURE? ^<^< echo. pause (echo sel vol %~d0 & echo list vol & echo attr disk set readonly & echo detail disk) | diskpart echo. echo. if %ERRORLEVEL% == 0 ( echo SUCCESS! Drive %~d0 should now be READONLY. ) else ( echo Failure setting %~d0 to READONLY. ) echo. pause end-of-script file: disk-writeable.cmd @rem disk-writeable.cmd script by Raccoon 2016 @rem DISKPART: ATTR DISK SET/CLEAR READONLY @echo off fltmc >nul 2>&1 && ( goto admin ) || ( goto noadmin ) :noadmin echo This script must be 'Run As Administrator'. echo Exiting... echo. pause exit :admin echo Setting drive %~d0 to WRITEABLE... echo ^>^> ARE YOU SURE? ^<^< echo. pause (echo sel vol %~d0 & echo list vol & echo attr disk clear readonly & echo detail disk) | diskpart echo. echo. if %ERRORLEVEL% == 0 ( echo SUCCESS! Drive %~d0 should now be WRITEABLE. ) else ( echo Failure setting %~d0 to WRITEABLE. ) echo. pause end-of-script
  10. ; filename: r_dns.mrc ; ---------------------------------------------- ; Multi DNS Reverse DNS Lookup. By Raccoon 2016 ; ---------------------------------------------- ; Usage: /dns <address/ip> (like normal) ; Suppliments regular /dns lookups if an address returns more than one IP result. ; ; Usage: /rdns <address/ip> ; Resolves all IPs associated with an address, and performs a reverse NS lookup on each IP. ; You can use optional switches from the /dns command [-46ch]. ; ; Examples: ; ; /dns irc.efnet.org ; ; * Dns resolved irc.efnet.org to 141.213.238.252 91.217.189.5 66.225.225.225 128.39.65.230 193.163.220.3 67.218.118.62 ; 209.222.22.22 198.47.99.99 194.126.217.2 195.140.202.142 ; ; /rdns irc.efnet.org ; ; * RDNS (421ms) irc.efnet.org (10): 128.39.65.230[irc.underworld.no] 195.140.202.142[efnet.port80.se] ; 91.217.189.5[efnet.portlane.se] 141.213.238.252[pegasus.us.itd.umich.edu] 66.225.225.225[irc.servercentral.net] ; 194.126.217.2[irc.efnet.fr] 193.163.220.3[irc.inet.tele.dk] 209.222.22.22[irc.choopa.net] 67.218.118.62[no-rdns] ; 198.47.99.99[irc.mzima.net] ALIAS RDNS { var %switches if (-* iswm $1) { %switches = $1 | tokenize 32 $2- } if (%RDNS) { echo -stic info * RDNS: There is already an RDNS being processed. | return } if ($0 == 0) { echo -stic info * Usage: /rdns <address/ip> or /rdns [-46ch] <address/ip> (see: /help /dns) | return } set -eu120 %RDNS $$1 set -eu120 %RDNS.tries 5 set -eu120 %RDNS.ticks $ticks set -eu120 %RDNS.queue 1 .dns -c .dns %switches %RDNS } ; by Raccoon 2016 On *:DNS: { if (%RDNS) && ( ($dns(0).addr == %RDNS) || ($v1 isin %RDNS.output) || ($dns(0).ip == %RDNS) || ($istok(%RDNS.ips,$v1,32)) ) { if (!%RDNS.addr) set -eu120 %RDNS.addr $dns(0).addr dec -eu120 %RDNS.queue var %i = 1, %n = $dns(0), %ip, %addr while (%i <= %n) { var %ip = $dns(%i).ip var %addr = $dns(%i).addr if (!$istok(%RDNS.ips,%ip,32)) { set -eu120 %RDNS.ips %RDNS.ips %ip set -eu120 %RDNS.output %RDNS.output %ip var %newipfound = $true inc %RDNS.queue 1 .dns %ip } elseif ($istok(%RDNS.output,%ip,32)) { if (%n == 1) { set -eu120 %RDNS.output $reptok(%RDNS.output,%ip,%ip $+ [[ $+ $iif(%addr,$v1,no-rdns) $+ ]],0,32) } else { noop ; not an rdns but a round robin because n > 1 } } else { noop ; discard. } inc %i } if (%newipfound) { inc %RDNS.queue 1 .dns %RDNS.addr } elseif (%RDNS.tries > 0) { if ((%RDNS.queue > 0) && (%addr == %RDNS.addr)) || (%RDNS.queue <= 0) { dec -eu120 %RDNS.tries 1 inc -eu120 %RDNS.queue 1 .dns %RDNS.addr } } elseif (%RDNS.queue <= 0) { var %ticks = $calc($ticks - %RDNS.ticks) echo -atic notice * RDNS ( $+ %ticks $+ ms) %RDNS.addr ( $+ $numtok(%RDNS.output,32) $+ ): %RDNS.output unset %RDNS.* unset %RDNS } haltdef } ; Multi-DNS -- automatically replace regular /dns output if multiple IP results. elseif ($dns(0) > 1) { var %i = 1, %n = $v1 var %address = $dns(0).addr, %ip = $dns(0).ip while (%i <= %n) { var %address = $addtok(%address,$dns(%i).addr,32) var %ip = $addtok(%ip,$dns(%i).ip,32) inc %i } echo -stic other * Dns resolved %address to %ip haltdef } } ; by Raccoon 2016 ; End of Script.
  11. ############################################################ ## The MasterMind Bot ## ## Version: 1.0 ## ## By: manish17 ## ## irc.lucidchat.net #LoveLife ## ############################################################ on *:LOAD: set %owner $input(Enter name of the bot owner:,e) write admins.txt %owner write kick.txt My master ordered.. And I followed... Nothing beyond that. write kick.txt You are busted. BOOM! BOOM! BOOM! write kick.txt GAME OVER!!!!! ;; A few messages for the compliment command.. write compliments.txt Are you really so much beautiful? Or its just my eyes... write compliments.txt I really can't stop looking at you. write compliments.txt You are like the Nightingale! write compliments.txt There is nobody in the world like you are . write compliments.txt If I had to describe you , words will fall short. ;; A few quotes . You may add more anytime. write quotes.txt We must let go of the life we have planned, so as to accept the one that is waiting for us. write quotes.txt Love is the only force capable of transforming an enemy into a friend. write quotes.txt Life is 10% what happens to you and 90% how you react to it. write quotes.txt Respect is for those who deserve it, not for those who demand it. ;; KICK COMMAND ;; KICK AN USER OUT OF THE CHANNEL on *:TEXT:@ki*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to kick out. } elseif ($2 ison $chan) { if ($3 == $null) { /kick $chan $2 12 $read(kick.txt, n) write recent.txt $nick kicked out $2 from the channel $chan . } else { /kick $chan $2 13 $3- write recent.txt $nick kicked out $2 from the channel $chan . (Reason : $3- ) } } else { notice $nick $2 is not on $chan . } } elseif ($read(admins.txt,w,$2)) { /kick $nick 11 You tried to kick my master huh ? You drunkard!!!!! write recent.txt $nick tried to kick $2 from the channel $chan . } else { notice $nick You are not allowed to use that command , $nick . Please ask any bot admin for assistance. } } ;; KICK BAN COMMAND ;; KICK-BAN AN USER FROM YOUR CHANNEL WITH THIS COMMAND. on *:TEXT:@kb*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to kick-ban. } elseif ($2 ison $chan) { if ($3 == $null) { /kickban $2 10 $read(kick.txt, n) write recent.txt $nick kick-banned $2 from the channel $chan . } else { /kick $chan $2 13 $3- /msg ChanServ $chan ban $2 write recent.txt $nick kick-banned $2 from the channel $chan . (Reason : $3- ) } } else { notice $nick $2 is not on this channel $chan. } } elseif ($read(admins.txt,w,$2)) { /kick $nick 11 You tried to kick-ban my master huh ? You drunkard!!!!! write recent.txt $nick tried to kick-ban $2 . } else { notice $nick You are not allowed to use that command , $nick . Please ask any bot admin for assistance. } } ;;BAN COMMAND ;; BAN THE USERS WHO MISBEHAVE ON YOUR CHANNEL on *:TEXT:@ba*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to uban. } else { timer 1 1 describe $chan follows the orders of the Master. timer 1 3 describe $chan is about to do something. timer 1 5 /msg ChanServ ban $chan $2 write recent.txt $nick banned $2 from $chan . } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;;UNBAN COMMAND ;; UNBAN THE USERS WHOM YOU BANNED BEFORE. on *:TEXT:@ub*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to un-ban. } else { timer 1 1 describe $chan follows the orders of the Master. timer 1 3 describe $chan is about to do something. timer 1 5 /msg ChanServ unban $chan $2 write recent.txt $nick unbanned $2 from $chan . } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; INVITE USERS TO YOUR CHANNEL ;; AN INVITE COMMAND on *:TEXT:@in*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please mention the person whom you want to invite to this channel. } else { . timer 1 1 describe $chan is about to do something. timer 1 3 /invite $2 } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;;MAKE YOUR BOT SAY SOMETHING on *:TEXT:@say*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a message. } else { . msg $chan 5 $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; MAKE YOUR BOT REACT on *:TEXT:@do*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a message. } else { . describe $chan $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; CHAT STAFF (HOP) on *:TEXT:@hop*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a user to give Half-op. } else { timer 1 1 describe $chan is about to do something really nice. timer 1 3 /cs hop #lovelife add $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; CHAT STAFF (OP) on *:TEXT:@op*:#: { if ($read(admins.txt,w,$nick)) { if ($2 == $null ) { notice $nick Please add a user to give op. } else { timer 1 1 describe $chan is about to do something really nice. timer 1 3 /cs op $chan add $2- } } else { notice $nick You are not allowed to use that command , $nick . Please ask any Bot Admin for assistance.. } } ;; ADD OR DELETE ADMINS WHO CAN CONTROL YOUR BOT ;; THIS COMMAND CAN BE USED ONLY BY THE OWNER on *:TEXT:@botadmin*:#: { if ($nick == %owner) { if ($2 == add) { if ($read(admins.txt,w,$3)) { notice $nick $3 is already in the list of Bot Admins. } else { write admins.txt $3 msg $chan 12 $3 is added successfully into the list of bot admins. } } if ($2 == del) { if ($read(admins.txt,w,$3)) { write -dl $+ $3 admins.txt msg $chan 5 $3 is successfully deleted from the list of bot admins. } } } else { notice $nick You are not allowed to use that command, $nick . Please ask any Bot Admin for assistance. } } ;; A FEW COMMANDS FOR EVERYONE TO USE :) on *:TEXT:@greet*:#: { if ($2 == $null) { notice $nick You must type an username to greet someone. } else { describe $chan 9 welcomes $2 with a pleasant smile. How have you been? You look much better :) } } on *:TEXT:@compliment*:#: { if ($2 == $null) { notice $nick You must type an username to compliment someone. } else { msg $chan 3 $2 , $read(compliments.txt,n) } } on *:TEXT:@quote*:#: { msg $chan 3 $read(quotes.txt,n) } ;; ADD QUOTES .. on *:TEXT:@addquote*:#: { if ($nick == %owner) { if ($2 == $null) { notice $nick You must type a quote. } else { write quotes.txt $2- msg $chan 9 Quote has been successfully added. } } else { notice $nick You cannot use this command. } } ;; ADD COMPLIMENTS.. on *:TEXT:@addcompliment*:#: { if ($nick == %owner) { if ($2 == $null) { notice $nick You must type a compliment. } else { write compliments.txt $2- msg $chan 9 Compliment has been successfully added. } } else { notice $nick You cannot use this command. } } ;; RECENT ACTIVITY on *:TEXT:@recent*:#: { %x = $lines(recent.txt) if (%x==0) { notice $nick No new activity } else { var %i = 1 while (%i <= %x) { msg $chan 7 $read(recent.txt,n,%i) inc %i } /write -c recent.txt } } ;; Commands List on *:TEXT:@cmds*:#: { notice $nick @usercmds : For commands that can be used by everyone. notice $nick @admincmds : For commands to be used by bot-admins. notice $nick @ownercmds : For the commands of the bot owner. } on *:TEXT:@usercmds*:#: { notice $nick @greet <user> : Greets an user. notice $nick @compliment <user> : Compliments an user! notice $nick @quote : Displays a random quote. } on *:TEXT:@admincmds*:#: { notice $nick @ki <user> <reason> : Kicks an user . If no reason is mentioned, then it displays a random reason stored. notice $nick @kb <user> <reason> : Kicks and bans an user. Displays random reason if no reason is mentioned. notice $nick @ba <user> : Bans an user. notice $nick @ub <user> : Un-bans an user. notice $nick @in <user> : Invites an user. notice $nick @say <message> : Makes the bot say something. notice $nick @do <message> : Makes the bot react. notice $nick @hop <user> : Gives HOP to an user. notice $nick @op <user> : Gives OP to an user. } on *:TEXT:@ownercmds*:#: { notice $nick @botadmin add <user> : Adds an user to the list of bot-admins. notice $nick @botadmin del <user> : Removes an user from the list of bot-admins. notice $nick @addquote <quote> : Adds a quote to the list of quotes. notice $nick @addcompliment <compliment> : Adds a compliment to the list of compliments. notice $nick @recent : Views the recent activity. } Moderating channels might be a tough job . You might have to face situations where you make some people staff and when you are away, they misuse their powers by kicking/banning innocent people. But here is an awesome bot script that will let you moderate your channel using simple commands and moreover, it will also let you track your channel . By tracking channel , I mean that it will allow you to see who was kicked by whom , etc and stuff . You can always do @cmds for command help. Commands :- @usercmds : For list of commands that can be used by everyone. @admincmds : For list of commands to be used by bot-admins. @ownercmds : For list of the commands of the bot owner. Please paste the snppet on your remotes and then try any of these commands for a detailed list of commands.
  12. ; r_idlehide.mrc -- by Raccoon 2014-2017 (2017/02/04) (2017/06/17) ; "Do you join hundreds of channels? Make your Switchbar great again!" ; This script automatically hides inactive channels from the switchbar. ; Settings can be modified by right-clicking within a channel window. ; Just set it and forget it. ; ; Commands: /idlehide /readall /showall On *:START: IdleHide start ; This alias gets called every 10 minutes. ; You can also manually type /idlehide at any time. ALIAS IdleHide { ; Initialize Variables if (%__IdleHide.On == $null) set %__IdleHide.On $true if (%__IdleHide.Timer == $null) set %__IdleHide.Timer 10 if (%__IdleHide.Never == $null) set %__IdleHide.Never #IRCHelp if (%__IdleHide.IdleMessage == $null) set %__IdleHide.IdleMessage 120 if (%__IdleHide.IdleEvent == $null) set %__IdleHide.IdleEvent 15 if (%__IdleHide.IdleRead == $null) set %__IdleHide.IdleRead 10 if (%__IdleHide.IdleTyped == $null) set %__IdleHide.IdleTyped 60 if (%__IdleHide.DebugWin == $null) set %__IdleHide.DebugWin $true ; Start Timer, or Stop Timer, and open Debug Window per settings/change. if ($1 == start) { if (%__IdleHide.On) { .timerIDLEHIDE -oi 0 $calc(%__IdleHide.Timer * 60) /IdleHide } else { .timerIDLEHIDE off | return } if (%__IdleHide.DebugWin) { window -Deiz @idlehide } } var %idlemsg = $calc(%__IdleHide.IdleMessage * 60) var %idlevnt = $calc(%__IdleHide.IdleEvent * 60) var %idlread = $calc(%__IdleHide.IdleRead * 60) var %idltype = $calc(%__IdleHide.IdleTyped * 60) ; Cycle through all the channel windows on all the server connections. var %i_con = 1 WHILE $scon(%i_con) { scon %i_con inc %i_con var %uptime = $uptime | ; seconds var %i_chan = 1 WHILE $chan(%i_chan) { var %chan = $v1 inc %i_chan var %wid = $chan(%chan).wid | ; window id var %idle = $chan(%chan).idle | ; seconds var %meidle = $nick(%chan,$me).idle | ; seconds var %state = $window(%chan).sbstate | ; 0=hidden, 1=shown var %status = $chan(%chan).status | ; joining, joined, kicked var %color = $window(%chan).sbcolor | ; event, message, highlight if (%state == 1) { ; visible in switchbar if ($istok(%__IdleHide.Never,%chan,32)) { continue } ; channels to never hide if (%wid == $activewid) { continue } ; don't hide active channel if (%status == joining) { continue } ; don't hide if waiting to join if (%status == kicked) { continue } ; don't hide if kicked if ($editbox(%chan) != $null) { continue } ; don't hide if text in editbox if (%color == highlight) { continue } ; don't hide if highlighted if (%color == message) && (%idle < %idlemsg) { continue } ; unread messages if (%color == event) && (%idle < %idlevnt) { continue } ; unread events if (%color == $null) { if (%idle < %idlread) { continue } ; has been read if ($calc(%uptime - %meidle) > 120) $& && (%meidle < %idltype) { continue } ; have recently joined or typed in } window -w2 %chan } elseif (%state == 0) { ; hidden from switchbar noop } } } } ; by Raccoon 2014-2017 On *:TEXT:*:#: { if ($window($chan).sbstate == 0) { if ($uptime < 120) && ($msgstamp || [??:??] iswm $1 || $nick == ***) { return } ; znc playback window -w3 $chan winblink $chan if ($window(@idlehide)) { echo -ti2 $v1 Show $chan < $+ $nick $+ > $1- } } } On *:ACTION:*:#: { if ($window($chan).sbstate == 0) { if ($uptime < 120) && ($msgstamp || [??:??] iswm $1 || $nick == ***) { return } ; znc playback window -w3 $chan winblink $chan if ($window(@idlehide)) { echo -ti2c action $v1 Show $chan * $nick $1- } } } On *:NOTICE:*:#: { if ($window($chan).sbstate == 0) { if ($uptime < 120) && ($msgstamp || [??:??] iswm $1 || $nick == ***) { return } ; znc playback window -w3 $chan winblink $chan if ($window(@idlehide)) { echo -ti2c notice $v1 Show $chan - $+ $nick $+ - $1- } } } On *:KICK:#: { if ($knick == $me) && ($window($chan).sbstate == 0) { window -w3 $chan winblink $chan if ($window(@idlehide)) { echo -ti2c kick $v1 Show $chan You were kicked by $nick ( $+ $1- $+ ) } } } On *:INPUT:#: { if ($window($chan).sbstate == 0) { window -w3 $chan if ($window(@idlehide)) { echo -ti2 $v1 Show $chan (me) $1- } } } MENU Channel { Idle Hide .$iif(%__IdleHide.On,$style(1) Running...,Stopped.): set %__IdleHide.On $iif(%__IdleHide.On,$false,$true) | IdleHide start .Main Timer $chr(9) %__IdleHide.Timer $+ m: set %__IdleHide.Timer $$input(Idlehide channels every ___ minutes.,et,IdleHide,%__IdleHide.Timer) .Edit Channels To Never Hide $chr(9) [#___]: set %__IdleHide.Never $$input(Never Hide These Channels (on any network). $crlf $+ Separate channels by space.,et,IdleHide,%__IdleHide.Never) .- .Hide Channels w/ Unread Text $chr(9) %__IdleHide.IdleMessage $+ m: set %__IdleHide.IdleMessage $$input(Idlehide channels with unread messages after ___ minutes.,et,IdleHide,%__IdleHide.IdleMessage) .Hide Channels w/ Unread Events $chr(9) %__IdleHide.IdleEvent $+ m: set %__IdleHide.IdleEvent $$input(Idlehide channels with unread events after ___ minutes.,et,IdleHide,%__IdleHide.IdleEvent) .Hide Channels That Have Been Read $chr(9) %__IdleHide.IdleRead $+ m: set %__IdleHide.IdleRead $$input(Idlehide channels that have been read after ___ minutes.,et,IdleHide,%__IdleHide.IdleRead) .But Don't Hide Channels I have typed In $chr(9) %__IdleHide.IdleTyped $+ m: set %__IdleHide.IdleTyped $$input(Don't hide channels that I have typed in ___ minutes.,et,IdleHide,%__IdleHide.IdleTyped) .- .$iif(%__IdleHide.DebugWin,$style(1) Debug Window Shown,Debug Window Hidden) : set %__IdleHide.DebugWin $iif(%__IdleHide.DebugWin,$false,$true) | if (%__IdleHide.DebugWin) window -aDeiz @idlehide $iif($istok(%__IdleHide.Never,$active,32),$style(1)) Never Hide $chr(58) $left($active,15) : { set %__IdleHide.Never $iif($istok(%__IdleHide.Never,$active,32),$remtok(%__IdleHide.Never,$active,0,32),$addtok(%__IdleHide.Never,$active,32)) } } ; by Raccoon 2017 ; Blink a window's switchbar icon color for visual alerts. ; /winblink <#chan|Query|@wid> [times] [delay-ms] [delay2-ms] ; Simply: /winblink #mIRC ALIAS winblink { var %win = $$1, %winc = $iif($window(%win).sbcolor,$replace($v1,message,1,highlight,2,event,3),0), %blinkc = $iif(%winc == 2,0,2) var %t = $iif($2 isnum,$v1,5), %d1 = $iif($3 isnum,$v1,500), %d2 = $iif($4 isnum,$v1,%d1), %c1 = $iif($5 isnum,$v1,%blinkc), %c2 = $iif($6 isnum,$v1,%winc) if ($$window(%win)) window -g $+ %c1 %win .timerWINBLINK2. $+ $cid $+ %win -mo 1 %d1 window -g $+ %c2 %win .timerWINBLINK1. $+ $cid $+ %win -mo $$iif($calc(%t -1) > 0,$v1) $calc(%d1 + %d2) window -g $+ %c1 %win $(|) .timerWINBLINK2. $+ $cid $+ %win -mo 1 %d1 window -g $+ %c2 %win } ; by Raccoon 2017 ALIAS readall { var %i = 1 | WHILE ($scon(%i)) { scon %i | var %j = 1 | WHILE ($window(*,%j).wid) { window -g0 @ $+ $v1 | inc %j } | inc %i } } ; by Raccoon ALIAS showall { var %i = 1 | WHILE ($scon(%i)) { scon %i | var %j = 1 | WHILE ($window(*,%j).wid) { window -w3 @ $+ $v1 | inc %j } | inc %i } } ; by Raccoon 2017 ALIAS hideall { var %i = 1 | WHILE ($scon(%i)) { scon %i | var %j = 1 | WHILE ($window(*,%j).wid) { window -w2 @ $+ $v1 | inc %j } | inc %i } } ; by Raccoon 2017 ALIAS hideallchans { var %i = 1 | WHILE ($scon(%i)) { scon %i | var %j = 1 | WHILE ($chan(%j).wid) { window -w2 @ $+ $v1 | inc %j } | inc %i } } ; by Raccoon 2017 ALIAS hideredchans { var %i = 1, %wid | WHILE ($scon(%i)) { scon %i | var %j = 1 | WHILE ($chan(%j).wid) { %wid = $v1 | if ($window(@ $+ %wid).sbcolor != message) { window -w2 @ $+ %wid } | inc %j } | inc %i } } ; by Raccoon 2017 ALIAS hac hideallchans ALIAS hrc hideredchans ;end of script
  13. ; $is_nickspam() - Nickname Highlight Spam Detector by Raccoon 2017. ; Parameters: $is_nickspam(<channel>,<text>,[M=6],[N=8]) eg: $is_nickspam($chan,$1-,6,8) or just $is_nickspam($chan,$1-) ; Where M (>=2) is minimum nickname length to regard, and N (>=1) is number of matches considered as spammy. Defaults: M = 6, N = 8. ; Returns: Number of positive nickname matches in the string, if it exceeds [N]. Returns 0 if less than [N]. ; Note: This script looks at nickname parts that contain Letters, Numbers and Underscores, to detect variously decorated spam. ; Example Usage: (Un-comment the next 5 lines to activate, and enjoy.) ; On @*:TEXT:????????????????????????????????????????????????????????????*:#: { ; if ($nick !isop $chan) && (!$($+(%,_spamban.,$cid,$chan,$nick),2)) && ($is_nickspam($chan,$1-)) { ; ban -k $chan $nick 2 Lame Highlight Spam Detected. ; inc -z $+(%,_spamban.,$cid,$chan,$nick) 5 ; } } ALIAS is_nickspam { var %chan = $$1, %text = $$2, %nicklen = $$iif($calc($3 -1) > 0,$v1,5), %nickspam = $$iif($calc($4) > 0,$v1,8) var %text = $mid($regsubex(is_nickspam,! %text !,/(*UTF8)(?:\W++|(?<!\w)(?:\w{1, $+ %nicklen $+ }|(\w++)(?=.*?\W\1(?:\W|$)))(?!\w))+/g,|),2,-1) if (%chan ischan) && ($numtok(%text,124) >= %nickspam) && ($fline(%chan,/(?<=^|\W)(?: $+ %text $+ )(?=\W|$)/i,0,3) >= %nickspam) { return $v1 } return 0 } ; by Raccoon 2017 Feb 28 - http://www.mpaste.com/p/Tu7NJh - http://hawkee.com/snippet/18055/ This script detects "Nickname Highlight Spam" in IRC. Works in both mIRC and AdiIRC.
  14. ; --- Aliases Tab --- ; /big <text> -- Big Text Font for mIRC. (Simple version) big { if (!$0) { echo -atic notice * Usage: /.big <text> (and without the dot) | return } var %big = $chr(32) $+ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~ var %big1 = .. .xx. xx..xx .xx..xx. xxxxxxx. xx..xx .xxx.. .xx ...xx xx... ...xx... ...... ... ...... .. ....xx .xxxx. .xxxx xxxxx. xxxxx. ...xxx. xxxxx .xxxx. xxxxxx .xxxx. .xxxx. .. ... ....xx ...... xx.... xxxxx .xxxx. .xxxx. xxxxx. .xxxx. xxxx.. xxxxx xxxxx .xxxx. xx...xx xxxx ....xx xx..xx xx... xx....xx xx..xx .xxxx. xxxxx. .xxxx.. xxxxx. .xxxx. xxxxxx xx..xx xx....xx xx...xx xx...xx xx..xx xxxxxx xxxxx xx.... xxxxx ..xx.. ...... xxx. ...xx .xx. xx... .xxx.xx var %big2 = .. xxxx xx..xx xxxxxxxx xx.xx... ...xx. xx.xx. xx. .xx.. ..xx. xxxxxxxx ..xx.. ... ...... .. ...xx. xx..xx xx.xx ....xx ....xx .xx.xx. xx... xx.... ...xx. xx..xx xx..xx xx .xx ..xx.. xxxxxx ..xx.. ...xx xx..xx xx..xx xx..xx xx..xx xx.xx. xx... xx... xx.... xx...xx .xx. ....xx xx.xx. xx... xxx..xxx xxx.xx xx..xx xx..xx xx..xx. xx..xx xx.... ..xx.. xx..xx xx....xx xx...xx .xx.xx. xx..xx ...xx. xx... .xx... ...xx xx..xx ...... ..xx ..xx. .xx. .xx.. xx.xxx. var %big3 = .. .xx. ...... .xx..xx. xxxxxxxx ..xx.. .xxx.x ... xx... ...xx .xx..xx. xxxxxx xxx xxxxxx .. ..xx.. xx.xxx ...xx ..xx.. .xxxx. xx..xx. xxxx. xxxxx. ..xx.. .xxxx. .xxxxx .. ... xx.... ...... ....xx ..xx. xx.xxx xxxxxx xxxxx. xx.... xx..xx xxxx. xxxx. xx.xxx xxxxxxx .xx. ....xx xxxx.. xx... xxxxxxxx xxxxxx xx..xx xxxxx. xx..xx. xxxxx. .xxxx. ..xx.. xx..xx .xx..xx. xx.x.xx ..xxx.. .xxxx. ..xx.. xx... ..xx.. ...xx ...... ...... .... xx... .xx. ...xx ....... var %big4 = .. .... ...... xxxxxxxx ...xx.xx .xx... xx..x. ... .xx.. ..xx. xxxxxxxx ..xx.. .xx ...... .. .xx... xxx.xx ...xx xx.... ....xx xxxxxxx ...xx xx..xx .xx... xx..xx ....xx xx .xx ..xx.. xxxxxx ..xx.. ..... xx.... xx..xx xx..xx xx..xx xx..xx xx... xx... xx..xx xx...xx .xx. xx..xx xx.xx. xx... xx.xx.xx xx.xxx xx..xx xx.... xx..xx. xx..xx ....xx ..xx.. xx..xx ..xxxx.. xxxxxxx .xx.xx. ..xx.. .xx... xx... ...xx. ...xx ...... ...... .... ..xx. .xx. .xx.. ....... var %big5 = .. .xx. ...... .xx..xx. .xxxxxxx xx..xx .xxx.x ... ...xx xx... ...xx... ...... xx. ...... xx xx.... .xxxx. ...xx xxxxxx xxxxx. ....xx. xxxx. .xxxx. xx.... .xxxx. .xxxx. .. xx. ....xx ...... xx.... ..xx. .xxxxx xx..xx xxxxx. .xxxx. xxxxx. xxxxx xx... .xxxxx xx...xx xxxx .xxxx. xx..xx xxxxx xx....xx xx..xx .xxxx. xx.... .xxxxxx xx..xx xxxxx. ..xx.. .xxxx. ...xx... .xx.xx. xx...xx ..xx.. xxxxxx xxxxx ....xx xxxxx ...... xxxxxx .... ...xx .xx. xx... ....... set -eu300 %_bigrb $iif(%_bigrb,$gettok($v1,2-,32) $gettok($v1,1,32),$regsubex(4 7 8 9 11 12 2 6 13,/(\d+)/g,0 $+ $chr(44) $+ \1)) var %string = $regsubex($replace($upper($1-),$chr(160),$chr(32)),/[^\Q $+ %big $+ \E]/g,) var %i = 1 while (%big [ $+ [ %i ] ]) { var %bigi = $v1 var %bigi = $regsubex(racc,%string,/(*UTF8)(.)/g,$regsubex(coon,$gettok(%bigi,$poscs(%big,\t),32) $+ $chr(32),/(x+)/g $& ,$chr(3) $+ $gettok(%_bigrb,$calc(( [[ \n ]] -1) % 9 +1),32) $+ [[ \ $+ t ]] $+ $chr(3))) $iif($show,say,echo -a) $$replace(%bigi,x,.,.,$chr(160)) inc %i } if (!$event) && (!$editbox($active)) editbox -ap /big } ; by Raccoon 2016 2017 ; Based on http://pastebin.ca/824605 (Author Unknown, 2007) ; --- Aliases Tab --- ; /huge <text> -- Hueg Text Font for mIRC. (Simple version) huge { if (!$0) { echo -atic notice * Usage: /.huge <text> (and without the dot) | return } var %huge = \x20!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u5350 var %huge1 = ... ......... ....... ........... ....yx.... ......... ........... .... ..... ..... ..... ......... ... ......... ... ......... ......... ....... ........ ........ ........ ........ ........ ......... ......... ........ ..... ..... ....... ......... ....... ......... ............ ........ ......... ......... .......... ........ ........ .......... ......... ....... ........ ........ ........ ............ ........... ........... ......... ........... ........... ........ ......... ........... ............. ........... .......... ........... ......... ..... ......... ..... ........ ......... .... ......... ......... ........ ......... ......... ...... ......... ......... ..... ....... ........ ..... .......... ......... ......... ......... ......... ........ ....... ....... ......... ............ .......... ........ ........... .......... ..... ... ..... ............. ............. var %huge2 = ... ......yxx yxx.yxx ..yxx.yxx.. .yxxxxxxx. yxx...yxx ..yxxxx.... .yxx ..yxx yxx.. ..... ......... ... ......... ... ......yxx .yxxxxxx. ..yxx.. .yxxxxx. .yxxxxx. ....yxx. yxxxxxx. ...yxx.. yxxxxxxxx .yxxxxxx. .yxxxxx. ..... ..... ....... ......... ....... ..yxxxxx. ..yxxxxxxx.. ..yxxx.. yxxxxxxx. .yxxxxxx. yxxxxxxx.. yxxxxxxx yxxxxxxx ..yxxxxxx. yxx...yxx yxxxxxx .yxxxxxx yxx..yxx yxx..... yxx......yxx yxxx....yxx ..yxxxxxx.. yxxxxxxx. ..yxxxxxx.. yxxxxxxx... .yxxxxx. yxxxxxxxx yxx.....yxx yx.........yx yxx.....yxx yxx....yxx yxx.....yxx yxxxxxxxx yxxxx yxx...... yxxxx ........ ......... yxx. ......... yxx...... ........ ......yxx ......... ...... ......... yxx...... .yxx. ....yxx yxx..... yxxx. .......... ......... ......... ......... ......... ........ ....... ....... ......... ............ .......... ........ ........... .......... .yxxx yxx yxxx. ............. yxx..yxxxxxxx var %huge3 = ... .....yxx. yxx.yxx ..yxx.yxx.. yxx.yx.yxx .....yxx. .yxx.yxx... yxx. .yxx. .yxx. yx.yx ...yxx... ... ......... ... .....yxx. yxx...yxx .yxxx.. yxx..yxx yxx..yxx ...yxxx. yxx..... ..yxx... ......yxx yxx...yxx yxx..yxx ..... ..... ....yxx ......... yxx.... .yxx..yxx .yxx....yxx. .yxxyxx. yxx...yxx yxx...yxx yxx...yxx. yxx..... yxx..... .yxx...yxx yxx...yxx ..yxx.. ....yxx. yxx.yxx. yxx..... yxxx....yxxx yxxxx...yxx .yxx...yxx. yxx...yxx .yxx...yxx. yxx...yxx.. yxx..yxx ...yxx... yxx.....yxx yxx.......yxx yxx.....yxx .yxx..yxx. .yxx...yxx. .....yxx. yxx.. .yxx..... ..yxx ..yxxx.. ......... .yxx ......... yxx...... ........ ......yxx ......... ..yxxx ......... yxx...... ..... ....... yxx..... .yxx. .......... ......... ......... ......... ......... ........ ....... .yxx... ......... ............ .......... ........ ........... .......... yxx.. yxx ..yxx ............. yxx..yxx..... var %huge4 = ... ....yxx.. ....... yxxxxxxxxxx yxx.yx.... ....yxx.. ..yxxxx.... .... yxx.. ..yxx .yxx. ...yxx... ... ......... ... ....yxx.. yxx...yxx yxxxx.. ....yxx. .....yxx ..yxyxx. yxx..... .yxx.... .....yxx. yxx...yxx yxx..yxx .yxx. .yxx. ..yxx.. yxxxxxxxx ..yxx.. .....yxx. yxx..yxx.yxx yxx..yxx yxx...yxx yxx...... yxx....yxx yxx..... yxx..... yxx....... yxx...yxx ..yxx.. ....yxx. yxxyxx.. yxx..... yxxxx..yxxxx yxxyxx..yxx yxx.....yxx yxx...yxx yxx.....yxx yxx...yxx.. yxx..... ...yxx... yxx.....yxx .yxx.....yxx. yxx.....yxx ..yxxyxx.. ..yxx.yxx.. ....yxx.. yxx.. ..yxx.... ..yxx .yxxyxx. ......... .... .yxxxxx.. yxxxxxx.. ..yxxxxx ..yxxxxxx .yxxxxxx. .yxx.. .yxxxxxx. yxxxxxxx. yxxx. ...yxxx yxx..yxx .yxx. .yxx..yxx. .yxxxxxx. .yxxxxxx. .yxxxxxx. .yxxxxxx. .yxxxxx. .yxxxxx yxxxxx. yxx...yxx yxx......yxx yxx....yxx yxx..yxx yxx.....yxx yxxxxxxxx. .yxx. yxx .yxx. ..yxxxx...yxx yxx..yxx..... var %huge5 = ... ...yxx... ....... ..yxx.yxx.. .yxxxxxxx. ...yxx... .yxx.yxx... .... yxx.. ..yxx yx.yx yxxxxxxxx ... yxxxxxxxx ... ...yxx... yxx...yxx ..yxx.. ...yxx.. ...yxxx. .yx.yxx. yxxxxxx. yxxxxxx. ....yxx.. .yxxxxxx. .yxxxxxx ..... ..... yxx.... ......... ....yxx ....yxx.. yxx.yxx..yxx yxxxxxxx yxxxxxxx. yxx...... yxx....yxx yxxxxxx. yxxxxxx. yxx..yxxxx yxxxxxxxx ..yxx.. ....yxx. yxxxx... yxx..... yxxyxxyxxyxx yxx.yxx.yxx yxx.....yxx yxxxxxxx. yxx.....yxx yxxxxxxx... .yxxxxx. ...yxx... yxx.....yxx ..yxx...yxx.. yxx.yxx.yxx ...yxxx... ...yxxxx... ...yxx... yxx.. ...yxx... ..yxx yxx..yxx ......... .... .....yxx. yxx..yxx. .yxx.... .yxx..yxx yxx...yxx yxxxxx yxx...yxx yxx...yxx .yxx. ....yxx yxx.yxx. .yxx. yxxxxyxxxx yxx...yxx yxx...yxx yxx...yxx yxx...yxx yxx..yxx yxx.... .yxx... yxx...yxx .yxx....yxx. yxx.yx.yxx .yxxyxx. .yxx...yxx. .....yxx.. yxx.. yxx ..yxx .yxx.yxx.yxx. yxxxxxxxxxxxx var %huge6 = ... ..yxx.... ....... yxxxxxxxxxx ....yx.yxx ..yxx.... yxx...yxx.. .... yxx.. ..yxx ..... ...yxx... ... ......... ... ..yxx.... yxx...yxx ..yxx.. ..yxx... .....yxx yxxxxxxx .....yxx yxx..yxx ...yxx... yxx...yxx ....yxx. ..... ..... ..yxx.. yxxxxxxxx ..yxx.. ...yxx... yxx..yxxxxx. yxx..yxx yxx...yxx yxx...... yxx....yxx yxx..... yxx..... yxx....yxx yxx...yxx ..yxx.. ....yxx. yxxyxx.. yxx..... yxx.yxxx.yxx yxx..yxxyxx yxx.....yxx yxx...... yxx..yxxyxx yxx...yxx.. .....yxx ...yxx... yxx.....yxx ...yxx.yxx... yxxyxxxxyxx ..yxxyxx.. ....yxx.... ..yxx.... yxx.. ....yxx.. ..yxx ........ ......... .... .yxxxxxx. yxx...yxx yxx..... yxx...yxx yxxxxxxx. .yxx.. yxx...yxx yxx...yxx .yxx. ....yxx yxxxxx.. .yxx. yxxyxxxyxx yxx...yxx yxx...yxx yxx...yxx yxx...yxx yxx..... .yxxxx. .yxx... yxx...yxx ..yxx..yxx.. yxxyxxxyxx ..yxxx.. ..yxx.yxx.. ...yxx.... .yxx. yxx .yxx. yxx...yxxxx.. .....yxx..yxx var %huge7 = ... ......... ....... ..yxx.yxx.. yxx.yx.yxx .yxx..... yxx....yxx. .... .yxx. .yxx. ..... ...yxx... ... ......... ... .yxx..... yxx...yxx ..yxx.. .yxx.... yxx..yxx ....yxx. yxx..yxx yxx..yxx ..yxx.... yxx...yxx ...yxx.. .yxx. .yxx. ....yxx ......... yxx.... ......... .yxx........ yxx..yxx yxx...yxx yxx...yxx yxx...yxx. yxx..... yxx..... .yxx...yxx yxx...yxx ..yxx.. yxx.yxx. yxx.yxx. yxx..... yxx..yx..yxx yxx...yxxxx .yxx...yxx. yxx...... .yxx..yxxx. yxx....yxx. yxx..yxx ...yxx... .yxx...yxx. ....yxxxx.... yxxxx.yxxxx .yxx..yxx. ....yxx.... .yxx..... yxx.. .....yxx. ..yxx ........ ......... .... yxx..yxx. yxx..yxx. .yxx.... .yxx..yxx yxx...... .yxx.. .yxxxxxxx yxx...yxx .yxx. ....yxx yxx.yxx. .yxx. yxx.yx.yxx yxx...yxx yxx...yxx yxxxxxxx. .yxxxxxxx yxx..... ....yxx .yxxyxx yxx...yxx ...yxxyxx... yxxxxyxxxx .yxxyxx. ...yxxxx... .yxx...... yxx.. yxx ..yxx ............. .....yxx..yxx var %huge8 = ... yxx...... ....... ..yxx.yxx.. .yxxxxxxx. yxx...yxx .yxxxxxxyxx .... ..yxx yxx.. ..... ......... yxx ......... yxx yxx...... .yxxxxxx. yxxxxxx yxxxxxxx .yxxxxx. ....yxx. .yxxxxx. .yxxxxx. .yxx..... .yxxxxxx. ..yxx... ..... ..yx. ....... ......... ....... .yxx..... ..yxxxxxxx.. yxx..yxx yxxxxxxx. .yxxxxxx. yxxxxxxx.. yxxxxxxx yxx..... ..yxxxxxx. yxx...yxx yxxxxxx .yxxxx.. yxx..yxx yxxxxxxx yxx......yxx yxx....yxxx ..yxxxxxx.. yxx...... ..yxxxxxx.. yxx.....yxx .yxxxxx. ...yxx... ..yxxxxxx.. .....yxx..... .yxx...yxx. yxx....yxx ....yxx.... yxxxxxxxx yxxxx ......yxx yxxxx ........ yxxxxxxxx .... .yxxxxxxx yxxxxxx.. ..yxxxxx ..yxxxxxx .yxxxxxx. .yxx.. ......yxx yxx...yxx yxxxx yxx.yxx yxx..yxx yxxxx yxx....yxx yxx...yxx .yxxxxxx. yxx...... ......yxx yxx..... yxxxxx. ..yxxx. .yxxxxxx. ....yxxx.... .yxx..yxx. yxx..yxx ....yxx.... yxxxxxxxx. .yxxx yxx yxxx. ............. yxxxxxxx..yxx var %huge9 = ... ......... ....... ........... ....yx.... ......... ........... .... ..... ..... ..... ......... .yx ......... ... ......... ......... ....... ........ ........ ........ ........ ........ ......... ......... ........ ..... ..... ....... ......... ....... ......... ............ ........ ......... ......... .......... ........ ........ .......... ......... ....... ........ ........ ........ ............ ........... ........... ......... .......yxx. ........... ........ ......... ........... ............. ........... .......... ........... ......... ..... ......... ..... ........ ......... .... ......... ......... ........ ......... ......... ...... .yxxxxxx. ......... ..... .yxxxx. ........ ..... .......... ......... ......... yxx...... ......yxx ........ ....... ....... ......... ............ .......... ........ ...yxx..... .......... ..... ... ..... ............. ............. var %huge = %huge $+ \x80\x81\x82\x83\x84\x85\x86\x87\x88\x89 var %huge1 = %huge1 ...yxxx......yxxx... ...yxxx......yxxx... .......yxxxxx....... .yxxx......yxxx .........yxx....... .....yxxx..... ......yxxx...... ........yxxx........ .......yxxxxx....... .....yxxx..... var %huge2 = %huge2 .yxxx.yxx..yxx.yxxx. .yxxxxxxx..yxxxxxxx. ....yxxxyxxxyxxx.... ..yxxx....yxxx. ........yxxx....... .....yxxx..... .....yxxyxx..... ......yxxx.......... ....yxxx....yxxx.... .....yxxx..... var %huge3 = %huge3 yxx.....yxxx.....yxx yxxxxxxxxxxxxxxxxxxx ..yxx...yxxx...yxx.. ...yxxx...yxxx. ..yxx...yxxx....... yxxxxxxxxxxxxx yxxxxxxxxxxxxxxx ....yxxx....yxxx.... ..yxxxyxxxyxxxyxxx.. .....yxxx..... var %huge4 = %huge4 yxx......yx......yxx yxxxxxxxxxxxxxxxxxxx yxx.....yxxx.....yxx ....yxxx.yxxx.. .yxxxyxxyxxx.yxx... yxxxxxxxxxxxxx .yxxyx....yxyxx. ......yxxxyxxxyxxx.. yxx.yxxyxxxxxyxx.yxx .....yxxx..... var %huge5 = %huge5 .yxx............yxx. .yxxxxxxxxxxxxxxxxx. yxx...yxxxxxxx...yxx ...yxyxxxyxxx.. yxxxyxxxyxxxyxxxyxx .....yxxx..... ..yxx......yxx.. yxxx....yxxx....yxxx yxx..yxx....yxx..yxx .....yxxx..... var %huge6 = %huge6 ...yxx........yxx... ...yxxxxxxxxxxxxx... yxx.yxxxyxxxyxxx.yxx .yxxxxxxxxxyxxx yxxxyxxxyxxxyxxxyxx .....yxxx..... .yxxyx....yxyxx. ..yxxxyxxxyxxx...... yxxyxxxxxxxxxxxxxyxx yxxxxxxxxxxxxx var %huge7 = %huge7 .....yxx....yxx..... .....yxxxxxxxxx..... ..yxxxx.yxxx.yxxxx.. yxxxxxxxxxxxxxx .yxxxxxxxxxxxxxxxxx .....yxxx..... yxxxxxxxxxxxxxxx ....yxxx....yxxx.... ..yxx..yxxyxx..yxx.. yxxxxxxxxxxxxx var %huge8 = %huge8 .......yxxyxx....... .......yxxxxx....... ....yxxxyxxxyxxx.... .yxxxxxxxxxxxx. ...yxxxxxxxxxxxxx.. .....yxxx..... .....yxxyxx..... ..........yxxx...... ....yxxxyxxxyxxx.... .....yxxx..... var %huge9 = %huge9 .........yx......... .........yx......... .......yxxxxx....... ..yxxxxxxxxxx.. .....yxxxxxxxxx.... .....yxxx..... ......yxxx...... ........yxxx........ .......yxxxxx....... .....yxxx..... var %string = $replacex($1-,:heart:,\x80, :love: ,\x81, :peace: ,\x82, :psign: ,\x83, :finger: ,\x84, :cross: ,\x85, :jew: ,\x86, :nazi: ,\x87, :satan: ,\x88, :anti: ,\x89, $chr(160),$chr(32)) var %huge = $regsubex(%huge,/\\x([0-9a-fA-F]{2})|\\u([0-9a-fA-F]{4})/g,$chr($base(\1,16,10))) var %string = $regsubex(%string,/\\x([0-9a-fA-F]{2})|\\u([0-9a-fA-F]{4})/g,$chr($base(\1,16,10))) var %string = $regsubex(%string,/[^\Q $+ %huge $+ \E]/g,) set -eu300 %_hugerb1 $iif(%_hugerb1,$gettok($v1,2-,32) $gettok($v1,1,32),$regsubex(4 8 9 11 12 13 15,/(\d+)/g,0 $+ $chr(44) $+ \1)) set -eu300 %_hugerb2 $iif(%_hugerb2,$gettok($v1,2-,32) $gettok($v1,1,32),$regsubex(5 7 3 10 2 6 14,/(\d+)/g,0 $+ $chr(44) $+ \1)) var %i = 1 while (%huge [ $+ [ %i ] ]) { var %hugei = $v1 var %bigi = $regsubex(racc,%string,/(*UTF8)(.)/g,$regsubex(coon,$gettok(%hugei,$poscs(%huge,\1),32) $+ $chr(32),/(x+)|(y+)/gF $& ,$chr(3) $+ $gettok($iif( [[ \ $+ 1 ]] ,%_hugerb1,%_hugerb2),$calc(( [[ \n ]] -1) % 7 +1),32) $+ [[ \ $+ 1 $+ \ $+ 2 ]] $+ $chr(3))) $iif($show,say,echo -a) $$replace(%bigi,x,.,y,.,.,$chr(160),$chr(3) $+ $chr(3),$chr(3)) inc %i } if (!$event) && (!$editbox($active)) editbox -ap /huge } ; by Raccoon 2017 @ http://hawkee.com/snippet/18623/ ; Based on hueg font by LIFELIKE (rip); irssi script hueg.pl 'make text hueg LOL' ; https://github.com/acidvegas/irssi/blob/master/.irssi/scripts/autorun/hueg.pl ; Extra credit 'modded by ma0 and others' @ https://pastebin.com/8Q6iu4UB ; Extra credit mirccloud (IRCCloud) javascript port by bzb @ https://github.com/erm/mirccloud
  15. 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 ⚽🏐🏀🏒
×
×
  • Create New...