rendered paste body;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Seytuff script ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
on ^1:JOIN:#: {
;
; Auto-Notice on Join.
;
if ( ($nick != $me) && (%se_anoticeenable == 1) ) { notice $nick %se_anotice }
;
; Verifica si el usuario está en la lista de notify.
;
/notifylist
;
; Protección antibots.
;
/checkantibot $chan
if ( $result == 1 ) { halt }
;
; Muestra el evento Join dependiendo del tipo de usuario.
;
var %shitcnt = $readini(%se_shitfile, "shitlist", "0")
var %i = 1
var %sline = $null
%sline = $null
%i = 1
while (%i <= %shitcnt) {
%sline = $readini(%se_shitfile, "shitlist", %i)
if ( %sline == $nick ) {
echo 9 $chan 4( $+ $time $+ ) * Shit entering zone: $nick ( $address ) | halt
}
inc %i
}
echo 9 $chan ( $+ $time $+ ) * Entering zone... $nick ( $+ $address $+ ) | halt
}
on 1:INPUT:# {
var %nick = $null
var %i = 1
;
; Autoidentificación.
;
if ( $left($1,4) == +CN.) {
var %nickid = $right($1, 1)
anickid %nickid
}
;
; Operaciones con nicks.
;
%nick = $nick($chan,%i)
while ( %nick != $null) {
%nick = $nick($chan,%i)
if (%nick == $1) {
;
; Nick Completion.
;
var %llen = $len($1) | dec %llen
if ( $right($1,1) == $chr(44) ) {
say ×<) $+ $$left($1, %llen) $+ (>×, $2- | halt
}
else {
inc %llen
say ×<) $+ $$left($1, %llen) $+ (>× $2- | halt
}
}
inc %i
}
;
; Shit list handler
;
shithdlr $1 $2 $3
;
; Notify list handler.
;
notifhdr $1 $2 $3 $4
;
; Comandos pajeros
;
$iif($1 == !time, say Hora actual: $time )
;
; Blowfish Encryption
;
var %code = $left($1, 3)
if ( %code == BWF ) {
}
}
on ^*:NICK {
;
; Protección antibots.
;
/checkantibot $chan
if ( $result == 1 ) { halt }
var %num = 1
while ( $comchan($newnick,%num) ) {
echo 9 $comchan($newnick,%num) ( $+ $time $+ ) * $nick ha mutado a $newnick $+ ...
inc %num
}
;
; Agrega el nick o actualiza la lista de seen.
;
seenadd $nick
halt
}
on ^*:QUIT {
;
; Protección antibots.
;
/checkantibot $chan
if ( $result == 1 ) { halt }
;
; Agrega el nick o actualiza la lista de seen.
;
seenadd $nick
}
on ^*:PART:# {
;
; Auto-Notice on Part.
;
if ( ($nick != $me) && (%se_anoticeenablepart == 1) ) { notice $nick %se_anoticepart }
;
; Protección antibots.
;
/checkantibot $chan
if ( $result == 1 ) { halt }
;
; Agrega el nick o actualiza la lista de seen.
;
seenadd $nick
}
on ^*:KICK:# {
;
; Protección antibots.
;
/checkantibot $chan
if ( $result == 1 ) { halt }
echo 9 $chan ( $+ $time $+ ) * $knick fue desterrado de $chan por $nick ( $+ $1- ¬¬) ...
;
; Agrega el nick o actualiza la lista de seen.
;
seenadd $knick
halt
}
on *:TEXT:*edad*:# {
notice $nick Qué te importa la edad ¬¬.
}
on ^*:NOTICE:*:* {
;
; Protección antibots.
;
/checkantibot $chan
if ( $result == 1 ) { halt }
if ( (%se_block_notice != 0) && ($nick!=$me) ) {
if ( %se_block_reply != $null) notice $nick %se_block_reply
halt
}
}
CTCP *:*:* {
if ( %se_block_ctcp != 0 ) {
if ( $nick != $me ) {
if ( %se_block_reply != $null) ctcp $nick %se_block_reply
}
else {
echo 7 $chan * Se te va a colgar el programa, n 0 0 b
}
halt
}
}
on ^1:OPEN:?:*: {
;
; Query block
;
if ( %se_queryblock == 1 ) {
if ( %se_queryblocklogging != 0 ) {
/write %se_querylogfile ( $+ $date $time $+ ) * Query abierto por $nick ( $+ $address $+ ): " $+ $gettok($rawmsg, 2, 58) $+ "
}
if (%se_queryblocknotify != 0) {
echo 7 * Se ha bloqueado un intento de invasión de $nick
}
halt
}
}
on 1:LOAD {
var %sepath = $findfile($mircdir, seytuff.ini, 1)
var %ipos = 0
if ( %sepath != $null) {
%ipos = $pos( %sepath, seytuff.ini )
if ( %ipos > 0 ) {
dec %ipos
%sepath = $left( %sepath, %ipos )
}
;
; Establece las variables globales iniciales.
;
set %se_path %sepath
set %se_version 0.1 beta [?]
set %se_inipos 0
set %se_securon 0
set %se_block_notice 0
set %se_block_ctcp 0
set %se_block_dccsend 0
set %se_block_dccchat 0
set %se_block_reply $null
set %se_queryblock 0
set %se_queryblocklogging 0
set %se_queryblocknotify 0
set %se_queryautomsg No te leo, no jodas.
set %se_anoticeenable 0
set %se_anoticeenablepart 0
set %se_anotice Seytuff Script v0.1
set %se_anoticepart asdf
set %se_shitfile %se_path $+ shitlist.txt
set %se_antibotfile %se_path $+ antibot.txt
set %se_nickfile %se_path $+ nicks.txt
set %se_notifyfile %se_path $+ notify.txt
set %se_querylogfile %se_path $+ querylog.txt
set %se_seenfile %se_path $+ seen.txt
}
}
;
; Eventos de diálogos.
;
on 1:dialog:MyDialog:INIT:1: {
/did a MyDialog %se_anotice
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Aliases ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
alias /notifylist {
var %i = 1
var %sline = $null
;
; Notifies
;
var %notifycnt = $readini(%se_notifyfile, notify, 0)
var %notiftype = $null
var %notifname = $null
var %ipos = 0
while (%i <= %notifycnt) {
;
; Lee la lista de Notify
;
%sline = $readini(%se_notifyfile, notify, %i)
;
; Extrae el tipo de notify y el nombre (Miss o Lord)
;
if ( %sline != $null ) {
%ipos = $pos( %sline, :, 1 )
dec %ipos
if ( %ipos > 0 ) {
%notifname = $left( %sline, %ipos ) | inc %ipos 2
%notiftype = $mid( %sline, %ipos + 1 )
}
}
if ( %notifname == $nick ) {
if ( %notiftype == 0 ) {
echo $chan 8( $+ $time $+ ) Lord $nick ( $address ) ha llegado.
notice $me 8( $+ $time $+ ) Lord $nick ( $address ) ha llegado.
}
else {
echo $chan 8( $+ $time $+ ) Miss $nick ( $+ $address $+ ) ha llegado.
notice $me 8( $+ $time $+ ) Miss $nick ( $+ $address $+ ) ha llegado.
}
}
inc %i
}
}
alias /securon {
;
; Activar la protección antibot en el canal actual.
;
iniexist %se_antibotfile channels $chan
if ( $result != 0) {
;
; La protección está activada en el canal actual.
;
echo 7 * El aura contra sombras ya ha sido activada en $chan
}
else {
;
; Activa la protección en el canal actual.
;
set %se_securon 1
iniadd %se_antibotfile channels $chan
; /ignore -pntikd *!*@*
if ($result == 1) {
echo 7 * $me ha invocado la protección contra sombras malignas en $chan $+ ...
}
else {
echo 7 * Los espectros han ganado esta batalla, protección no activada.
}
}
}
alias /securoff {
set %se_securon 0
; /ignore -r *!*@*
; /me sets antibots mode: Off
inidel %se_antibotfile channels $chan
if ($result == 1) {
echo 7 * La protección contra espectros ha sido eliminada en $chan
}
}
alias /iniexist {
var %i = 1
var %cnt = $readini($1, $2, 0)
var %item = $null
if ( %cnt == $null ) return 0
while (%i <= %cnt) {
%item = $readini($1,$2,%i)
if ( %item == $3 ) {
/set %se_inipos %i
/return 1
}
inc %i
}
/set %se_inipos 0
return 0
}
alias /iniadd {
;
; Agregar item a un archivo ini.
;
var %cnt = $readini($1, $2, 0)
var %newcnt = %cnt + 1
var %data = $null
/iniexist $1 $2 $3
if ( $result != 0 ) {
return 0
}
if ($4 != $null) {
%data = $3 $+ : $+ $4
}
else {
%data = $3
}
/writeini $1 $2 %newcnt %data
/writeini $1 $2 0 %newcnt
return 1
}
alias /inidel {
;
; Eliminar item de archivo ini.
;
var %cnt = $readini($1, $2, 0)
var %newcnt = %cnt - 1
var %item = $null
var %bitemfound = 0
var %itempos = 0
var %i = 1
while ( %i <= %cnt ) {
%item = $readini($1,$2,%i)
if (%item == $3) {
if (%i < %cnt) {
%itempos = %i + 1
}
else {
%itempos = %i
}
%bitemfound = 1
/writeini $1 $2 0 %newcnt
}
if ( (%bitemfound == 1) && (%itempos <= %cnt) ) {
var %tmpvar = $readini($1,$2,%itempos)
/writeini $1 $2 %i %tmpvar
inc %itempos
}
inc %i
}
if (%bitemfound == 1) {
/writeini $1 $2 %cnt $chr(0160)
}
return %bitemfound
}
alias /checkantibot {
; if ( %se_securon == 0 ) { return 0 }
/iniexist %se_antibotfile channels $1
if ($result == 0) {
return 0
}
else {
return 1
}
}
alias /seenadd {
;
; Agregar item a la lista de seen.
;
seenupdate $1
if ( $result == 1 ) { return 1 }
var %cnt = $readini(%se_seenfile, seen, 0)
if (%cnt==$null) { %cnt = 0 }
var %newcnt = %cnt + 1
var %data = $null
%data = $1 $+ : $+ $date $+ : $+ $time
/writeini %se_seenfile seen %newcnt %data
/writeini %se_seenfile seen 0 %newcnt
return 1
}
alias /seenupdate {
var %cnt = $readini(%se_seenfile, seen, 0)
if (%cnt==$null) { return 0 }
var %i = 1
var %itemdata = $null
var %itemnick = $null
while ( %i <= %cnt ) {
%itemdata = $readini(%se_seenfile, seen, %i)
%itemnick = $gettok(%itemdata,1,58)
if ( %itemnick == $1 ) {
var %data = $1 $+ : $+ $date $+ : $+ $time
/writeini %se_seenfile seen %i %data
return 1
}
inc %i
}
}
alias /notifhdr {
;
; Notify list handler.
;
if ( $1 == !notify ) {
var %notifcnt = $readini(%se_notifyfile, shitlist, 0)
if ( $2 == add ) {
iniadd %se_notifyfile notify $3 $4
if ( $result == 1 ) {
if ( $4 == 0) {
echo 7 $chan * Lord $3 ha sido nombrado nuevo miembro del clan.
}
else {
echo 7 $chan * Miss $3 ha sido nombrada doncella oficial del clan.
}
}
else {
echo 7 $chan * No se pudo agregar $3 a la lista de notify :S.
}
}
elseif ( $2 == del ) {
;
; Eliminar usuario de la lista de notify.
;
inidel %se_notifyfile notify $3
if ( $result == 0 ) {
echo 7 $chan * $3 no está en la lista de notify.
}
else {
if ( $4 == 0) {
echo 7 $chan * Lord $3 ha sido exiliado del clan.
}
else {
echo 7 $chan * Miss $3 ha sido exiliada del clan.
}
}
}
}
}
alias shithdlr {
;
; Shit list handler
;
if ( $1 == !shit ) {
var %shitcnt = $readini(%se_shitfile, shitlist, 0)
if ( $2 == add ) {
;
; Agregar usuario a la shitlist.
;
iniadd %se_shitfile shitlist $3
if ( $result == 1 ) {
echo 7 $chan * $3 added to shitlist :).
}
else {
echo 7 $chan * $3 ya está en la shitlist.
}
}
elseif ( $2 == del ) {
;
; Eliminar usuario de la shitlist.
;
var %shitnewcnt = %shitcnt - 1
if ( $3 == +last ) {
;
; Eliminar al último usuario de la shitlist.
;
var %tmpnick = $null
%tmpnick = $readini(%se_shitfile, shitlist, %shitcnt)
inidel %se_shitfile shitlist %tmpnick
if ( $result == 1 ) {
echo 7 $chan * %tmpnick se eliminó de la shitlist :(.
}
else {
echo 7 $chan * %tmpnick no se pudo eliminar de la shitlist :@.
}
}
else {
;
; Eliminar al usuario especificado de la shitlist.
;
inidel %se_shitfile shitlist $3
if ( $result == 1 ) {
echo 7 $chan * $3 se eliminó de la shitlist :(.
}
else {
echo 7 $chan * $3 no se pudo eliminar de la shitlist :@.
}
}
}
elseif ( $2 == debug ) {
/ignore -r
echo 9 * Se limpió la lista de ignores :(
}
}
}
alias anickid {
;
; Autoidentificación
;
var %nickdata = $null
var %nickpass = $null
var %nickname = $null
var %nickid = $1
var %ipos = 0
%nickdata = $readini(%se_nickfile, $network, %nickid)
if ( %nickdata != $null ) {
%ipos = $pos( %nickdata, :, 1 )
dec %ipos
if ( %ipos > 0 ) {
%nickname = $left( %nickdata, %ipos ) | inc %ipos 2
%nickpass = $mid( %nickdata, %ipos + 1 )
if ( %nickname != $null ) { /nick %nickname }
if ( (%nickname != $null) && (%nickpass != $null) ) { /ns identify %nickpass }
}
}
}
alias /test {
inidel %se_path $+ test.ini shitlist Yo-Bo7
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Menus ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
menu channel {
Seytuff %se_version
.Antibots
..$iif( %se_securon == 1, $style(1)) Activado:/securon
..$iif( %se_securon == 0, $style(1)) Desactivado:/securoff
.Query-block
..$iif( %se_queryblock == 1, $style(1)) Activado ( $+ $iif( %se_queryautomsg != $null, %se_queryautomsg) $+ ) {
/set %se_queryblock 1
/set %se_queryautomsg $$?="Mensaje para mostrarle a los que joden por query"
}
..$iif( %se_queryblock == 0, $style(1)) Desactivado:/set %se_queryblock 0
..-
..Loguear eventos
...$iif( %se_queryblocklogging == 1, $style(1)) Activado:/set %se_queryblocklogging 1
...$iif( %se_queryblocklogging == 0, $style(1)) Desactivado:/set %se_queryblocklogging 0
...-
...Ver logs:{
if ( $exists( %se_querylogfile ) == $true ) {
/run notepad.exe %se_querylogfile
}
else {
echo 7 $chan ( $+ $time $+ ) * No hay eventos guardados en el archivo.
}
}
..$iif( %se_queryblocknotify == $not(0), $style(1)) Notificar de queries bloqueados:/set %se_queryblocknotify $not(%se_queryblocknotify)
.Auto-Notice molesto
..On Joins
...$iif( %se_anoticeenable == 1, $style(1)) Activado ( $+ $iif( %se_anotice != $null, %se_anotice) $+ ): {
set %se_anoticeenable 1
set %se_anotice $$?="Nuevo mensajito molesto para los Joins"
}
...$iif( %se_anoticeenable == 0, $style(1)) Desactivado : /set %se_anoticeenable 0
..On Parts
...$iif( %se_anoticeenablepart == 1, $style(1)) Activado ( $+ $iif( %se_anoticepart != $null, %se_anoticepart) $+ ): {
set %se_anoticeenablepart 1
set %se_anoticepart $$?="Nuevo mensajito molesto para los Parts"
}
...$iif( %se_anoticeenablepart == 0, $style(1)) Desactivado :(:/set %se_anoticeenablepart 0
.Otros bloqueos
..$iif( %se_block_notice == $not(0), $style(1)) Notices:/set %se_block_notice $not(%se_block_notice)
..$iif( %se_block_ctcp == $not(0), $style(1)) CTCP's:/set %se_block_ctcp $not(%se_block_ctcp)
..$iif( %se_block_dccsend == $not(0), $style(1)) Transferencias DCC:/set %se_block_dccsend $not(%se_block_dccsend)
..$iif( %se_block_dccchat == $not(0), $style(1)) DCC Chats:/set %se_block_dccchat $not(%se_block_dccchat)
..-
..Respuesta automática
...$iif( %se_block_reply != $null, $style(1)) Activado ( $+ $iif( %se_block_reply != $null, %se_block_reply) $+ ):/set %se_block_reply $$?="Nuevo mensajito para responder a eventos"
...$iif( %se_block_reply == $null, $style(1)) Desactivado:/set %se_block_reply $null
.Notify List
..Agregar user a la lista: {
var %newnick $$?="Enter your away message:"
if ( $gettok(%newnick,2,58) == $null ) { %newnick = %newnick $+ : $+ 0 }
iniadd %se_notifyfile notify %newnick
}
..-
..$submenu($notiflst($1))
}
;
; Alias para menús dinámicos.
;
alias notiflst {
if ($1 == begin) return -
var %cnt = $readini(%se_notifyfile, notify, 0)
if ($1 <= %cnt) {
var %itemdata = $readini(%se_notifyfile, notify, $1)
return %itemdata
}
if ($1 == end) return -
}