Jump to content

chain

Administrators
  • Posts

    5,984
  • Joined

  • Last visited

  • Days Won

    17

Everything posted by chain

  1. Version 1.0.0

    0 downloads

    This addon is for the IRC user who connects to MANY servers using Server list from official website of mirc.
  2. Version 1.0.0

    2 downloads

    Scan channels for clones. Auto-notification of clones when they join via text in channel, popup window, or popup dialog. Quick Scanning of a channel via a popup.
  3. Version 1.0.0

    0 downloads

    Another addon that scan clones using mirc popups.
  4. Version 1.0.0

    0 downloads

    Old mirc addon that connects to a webpage and search for something using socksopen. You can modify for your website or learn from the code.
  5. Version 1.0.0

    0 downloads

    When someone types !Seen in a chan, if you have this enabled, you will relay whatever event you have recorded for that nick.
  6. Version 1.0.0

    3 downloads

    Advanced !seen script. Dialog Control what the seen script will log: Kicks, Bans, Joins, Parts, Quits and Nick Changes
  7. Version 1.0.0

    1 download

    !seen script with dialog box
  8. Version 1.0.0

    1 download

    This mirc addon will scan the server from open proxies.
  9. Version 1.0.0

    8 downloads

    This addon monitors your trivia bot activity, and if the trivia stops, the addon will start again. The addon is only for romanian trivia MTriviaPro.
  10. Version 1.0.0

    1 download

    KTE Theme Engine - with this mirc addon, you can create new schema styles for your irc script. This is compatible with MTS.
  11. ; ======================================= ; Nienqster - 03 May 2021 ; Top10 Channel Stats Script ;; Downloaded from www.PremiumChat.ro ; ======================================= /* Commands: !stats [nick] => Overall stats for $nick|$2 in $network@#Channel !top10 => Overall top 10 chatters in $network@channel !tstats [nick] => Today's stats about $nick|$2 !ttop10 => Today's top 10 chatters in $network@#Channel !delstats <nick> => Removing statistics about $2 in $network@#Channel !clearstats => Removing all statistics collected for $network@#Channel */ ; Binding all channel text to the parsing routine ; NB! No more "on text" events /* Version history: 21.02.2007 v1.2 bugfix release. (Fixed output bug resulting top9 instead of top10) */ ON *:TEXT:*:#: { if %stats_module == On { IF ($1 == %c $+ top10) { IF (%stats_floodpro >= 3) { halt } inc -u30 %stats_floodpro 1 msg $chan $maketop10($network $+ @ $+ $chan) unset %stats_top10_* window -c @top10source } IF ($1 == %c $+ ttop10) { IF (%stats_floodpro >= 3) { halt } inc -u30 %stats_floodpro 1 msg $chan $maketodaytop10($network $+ @ $+ $chan) unset %stats_top10_* window -c @top10source } IF ($1 == %c $+ stats) { IF (%stats_floodpro >= 3) { halt } inc -u30 %stats_floodpro 1 IF ($2) { msg $chan $getstats($network $+ @ $+ $chan $+ @ $+ $2) } IF (!$2) { msg $chan $getstats($network $+ @ $+ $chan $+ @ $+ $nick) } } IF ($1 == %c $+ tstats) { IF (%stats_floodpro >= 3) { halt } inc -u30 %stats_floodpro 1 IF ($2) { msg $chan $gettodaystats($network $+ @ $+ $chan $+ @ $+ $2) } IF (!$2) { msg $chan $gettodaystats($network $+ @ $+ $chan $+ @ $+ $nick) } } IF ($1 == %c $+ delstats) && ($2) && ($level($address($nick,2)) == 500) { remove-stats-nick $network $+ @ $+ $chan $+ @ $+ $2 .msg $chan Erasing entries for nick $2 } IF ($1 == %c $+ clearstats) && ($level($address($nick,2)) == 500) { remove-stats-channel $network $+ @ $+ $chan .msg $chan Channelstats erased. } IF ($left($1,1) == %c) { hinc -m totalcommands $network $+ @ $+ $chan $+ @ $+ $nick 1 hinc -m todaytotalcommands $network $+ @ $+ $chan $+ @ $+ $nick 1 } hinc -m totalwords $network $+ @ $+ $chan $+ @ $+ $nick $numtok($1-,32) hinc -m totalletters $network $+ @ $+ $chan $+ @ $+ $nick $len($1-) hinc -m totallines $network $+ @ $+ $chan $+ @ $+ $nick 1 hinc -m todaytotalwords $network $+ @ $+ $chan $+ @ $+ $nick $numtok($1-,32) hinc -m todaytotalletters $network $+ @ $+ $chan $+ @ $+ $nick $len($1-) hinc -m todaytotallines $network $+ @ $+ $chan $+ @ $+ $nick 1 } } ; Action counting ; Will add all used words in action to the total spoken words as well ON *:ACTION:*:#: { if %stats_module == on { hinc -m totalactions $network $+ @ $+ $chan $+ @ $+ $nick 1 hinc -m totalwords $network $+ @ $+ $chan $+ @ $+ $nick $numtok($1-,32) hinc -m totalletters $network $+ @ $+ $chan $+ @ $+ $nick $len($1-) ;-- hinc -m todaytotalactions $network $+ @ $+ $chan $+ @ $+ $nick 1 hinc -m todaytotalwords $network $+ @ $+ $chan $+ @ $+ $nick $numtok($1-,32) hinc -m todaytotalletters $network $+ @ $+ $chan $+ @ $+ $nick $len($1-) } } ALIAS statsave { hsave -i totalwords chanstats.dat totalwords hsave -i totalletters chanstats.dat totalletters hsave -i totalcommands chanstats.dat totalcommands hsave -i totalactions chanstats.dat totalactions hsave -i totallines chanstats.dat totallines } ALIAS todaystatclear { hfree -w todaytotal* hmake todaytotalwords 10 hmake todaytotalletters 10 hmake todaytotalcommands 10 hmake todaytotalactions 10 hmake todaytotallines 10 } ALIAS statload { hmake totalwords 10 hmake totalletters 10 hmake totalcommands 10 hmake totalactions 10 hmake totallines 10 hload -i totalwords chanstats.dat totalwords hload -i totalletters chanstats.dat totalletters hload -i totalcommands chanstats.dat totalcommands hload -i totalactions chanstats.dat totalactions hload -i totallines chanstats.dat totallines } alias clearstats { var %stats_clearconfirm = $input(Are you sure you want to completely clear the statistics database?,yvqd,Channelstats :: Dreambot 5.6) IF (%stats_clearconfirm == $yes) { hfree -sw total* hmake totalwords 10 hmake totalletters 10 hmake totalcommands 10 hmake totalactions 10 hmake totallines 10 todaystatclear } } ALIAS remove-stats-nick { var %stats-remnick = $1 $+ * hdel -w totalwords %stats-remnick hdel -w totalletters %stats-remnick hdel -w totalcommands %stats-remnick hdel -w totalactions %stats-remnick hdel -w totallines %stats-remnick hdel -w todaytotalwords %stats-remnick hdel -w todaytotalletters %stats-remnick hdel -w todaytotalcommands %stats-remnick hdel -w todaytotalactions %stats-remnick hdel -w todaytotallines %stats-remnick statsave } ALIAS remove-stats-channel { var %stats-remchan = $1 $+ * hdel -w totalwords %stats-remchan hdel -w totalletters %stats-remchan hdel -w totalcommands %stats-remchan hdel -w totalactions %stats-remchan hdel -w totallines %stats-remchan hdel -w todaytotalwords %stats-remchan hdel -w todaytotalletters %stats-remchan hdel -w todaytotalcommands %stats-remchan hdel -w todaytotalactions %stats-remchan hdel -w todaytotallines %stats-remchan statsave } ALIAS getstats { IF ($hget(totalwords, $1) != $null) { IF ($hget(totalwords, $1) != $null) { var %t.words = $hget(totalwords, $1) } ELSE { var %t.words = 0 } IF ($hget(totalletters, $1) != $null) { var %t.letters = $hget(totalletters, $1) } ELSE { var %t.letters = 0 } IF ($hget(totalcommands, $1) != $null) { var %t.commands = $hget(totalcommands, $1) } ELSE { var %t.commands = 0 } IF ($hget(totallines, $1) != $null) { var %t.lines = $hget(totallines, $1) } ELSE { var %t.lines = 0 } IF ($hget(totalactions, $1)) { var %t.actions = $hget(totalactions, $1) } ELSE { var %t.actions = 0 } return [ $+ $gettok($1,3,64) $+ ] Spoken words: %t.words ( $+ %t.letters letters) Commands used %t.commands $+ . %t.lines lines and %t.actions actions. halt } return I have no stats about $gettok($1,3,64) halt } ALIAS gettodaystats { IF ($hget(todaytotalwords, $1) != $null) { IF ($hget(todaytotalwords, $1) != $null) { var %t.words = $hget(todaytotalwords, $1) } ELSE { var %t.words = 0 } IF ($hget(todaytotalletters, $1) != $null) { var %t.letters = $hget(todaytotalletters, $1) } ELSE { var %t.letters = 0 } IF ($hget(todaytotalcommands, $1) != $null) { var %t.commands = $hget(todaytotalcommands, $1) } ELSE { var %t.commands = 0 } IF ($hget(todaytotallines, $1) != $null) { var %t.lines = $hget(todaytotallines, $1) } ELSE { var %t.lines = 0 } IF ($hget(todaytotalactions, $1)) { var %t.actions = $hget(todaytotalactions, $1) } ELSE { var %t.actions = 0 } return [ $+ $gettok($1,3,64) $+ ] Spoken words today: %t.words ( $+ %t.letters letters) Commands used today %t.commands $+ . %t.lines lines and %t.actions actions. halt } return I have no stats about $gettok($1,3,64) halt } ALIAS maketop10 { ; Save the hash table into .dat ; I know that this will make answer delayed especially in bigger channels... but well.... i dont care. ; This is about the best way to ensure that we will get the most recent result and also to ensure that we have backup of the hashtables. statsave ; Loading total spoken words into window window -hk0n @top10source clear @top10source var %stats_findbegin = $read(chanstats.dat, s, [totalwords]) var %stats_looppoint = $calc($readn + 1 ) WHILE (!%stats_loophalt) { var %stats_putline = $read(chanstats.dat, %stats_looppoint) IF ($left(%stats_putline,1) != $chr(91)) && ($left(%stats_putline,$len($1)) == $1) { var %statscleanline = $gettok($read(chanstats.dat, %stats_looppoint),3,64) aline @top10source %statscleanline } ELSEIF ($left(%stats_putline,1) == $chr(91)) { var %stats_loophalt = true } inc %stats_looppoint } ; Filtering the window filter -cetuww 2 61 @top10source @top10source * ; Now lets read the first 10 lines and store it to variables (%stats_top10_xx) ; Thats it if we have 10 lines of course ; If we have less then we will output only existing numbers of lines. var %stats_loop10 = 1 WHILE (!%statssecondloophalt) { IF ($line(@top10source, %stats_loop10)) { set -e %stats_top10_ [ $+ [ %stats_loop10 ] ] $gettok($line(@top10source, %stats_loop10),1,61) ( $+ $gettok($line(@top10source, %stats_loop10),2,61) $+ ) inc %stats_loop10 } IF (!$line(@top10source, %stats_loop10)) || (%stats_loop10 >= 11) { var %statssecondloophalt = true } } IF (%stats_loop10 != 12) { var %stats_loop10 = $calc(%stats_loop10 - 1) } return Top %stats_loop10 chatters by total spoken words: %stats_top10_1 %stats_top10_2 %stats_top10_3 %stats_top10_4 %stats_top10_5 %stats_top10_6 %stats_top10_7 %stats_top10_8 %stats_top10_9 %stats_top10_10 } ALIAS maketodaytop10 { window -hk0n @top10source clear @top10source hsave -i todaytotalwords tempstats.dat totalwords var %stats_loopline = 1 WHILE (%stats_loopline <= $lines(tempstats.dat)) { IF ($gettok($read(tempstats.dat,%stats_loopline),1,64) == $gettok($1,1,64)) && ($gettok($read(tempstats.dat,%stats_loopline),2,64) == $gettok($1,2,64)) { aline -p @top10source $gettok($read(tempstats.dat,%stats_loopline),3,64) } inc %stats_loopline } filter -cetuww 2 61 @top10source @top10source * var %stats_loop10 = 1 WHILE (!%statssecondloophalt) { IF ($line(@top10source, %stats_loop10)) { set -e %stats_top10_ [ $+ [ %stats_loop10 ] ] $gettok($line(@top10source, %stats_loop10),1,61) ( $+ $gettok($line(@top10source, %stats_loop10),2,61) $+ ) inc %stats_loop10 } IF (!$line(@top10source, %stats_loop10)) || (%stats_loop10 >= 11) { var %statssecondloophalt = true } } IF (%stats_loop10 != 12) { var %stats_loop10 = $calc(%stats_loop10 - 1) } .remove tempstats.dat return Todays top %stats_loop10 chatters by total spoken words: %stats_top10_1 %stats_top10_2 %stats_top10_3 %stats_top10_4 %stats_top10_5 %stats_top10_6 %stats_top10_7 %stats_top10_8 %stats_top10_9 %stats_top10_10 } ON *:CONNECT: timerresettodaystats -o { statload if %stats_module == $null { set %stats_module on } timerresettodaystats 23:59 1 60 dailystatsflush} ON *:EXIT: { echo -a ::: Stats ::: Storing stats. statsave } ALIAS dailystatsflush: disconnect server { timerresettodaystats 23:59 0 60 /todaystatclear todaystatclear /MSG $chan todaystats cleared when the bot resets} This script is to view a monthly and daily Top10 chatters of a channel. !stats [nick], !top10, !tstats [nick], !clearstats, !delstats
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WebClient Ban Subsitution ; ; ; ; This script works in two phases: ; ; 1) - Detect when a site ban is placed on irccloud/mibbit/kiwiirc. ; ; - Unban the site ban that could possibly affect multiple clients. ; ; - Set variable and wait for the kick to determine the banned client. ; ; ; ; 2) - After the kick takes place, make sure the variable matches the client. ; ; - Once verified, place an ident ban for the client who got kicked. ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Author: psycho ; ; Network: Undernet / irc.undernet.org ; ; Channel: #psycho ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Credits ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; simo for the original idea ; ; Ouims for helping with the regex code. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; on *:LOAD:{ echo -at You just loaded the irccloud/mibbit/kiwiirc ban replacement script echo -at This Script does not require additional configuration echo -at Simply load it and wait for the magic to happen. } on *:UNLOAD:{ echo -at What the hell?? echo -at Alrighty then! } ON *:BAN:#:{ if ($nick(#,$me,@%&~)) { if ($regex($banmask,/(mibbit|irccloud|kiwiirc|192.184.9.108|192.184.9.110|192.184.9.112|192.184.8.73|192.184.10.9|192.184.10.118|107.161.19.109|207.192.75.252|64.62.228.82|78.129.202.38|87.98.219.117|107.161.19.53|109.169.31.4|109.169.29.95|195.154.53.5|195.154.52.250|212.83.148.225)/i)) { mode $chan -b $banmask | set %webchatc $addtok(%webchatc,$banmask,32) } if ($regex($banmask,/([su]id\D|^\*!~?\*@(?:\*$|\?+))/i)) { mode $chan -b $banmask } } } ON ^*:KICK:#:{ if ($istok(%webchatc,$address($knick,2),32)) && ($nick(#,$me,@%&~)) { mode # +b $+($gettok($address($knick,0),1,64),@*) set %webchatc $remtok(%webchatc,$address($knick,2),32) } }
×
×
  • Create New...