Autor Tema: Addon para cazar robot  (Leído 2476 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado akw

  • Novato
  • *
  • Mensajes: 17
  • Karma: +2/-3
Re:Addon para cazar robot
« Respuesta #15 en: Febrero 08, 2020, 04:14:02 pm »
Hola

He borrado el archivo y lo he puesto de nuevo.

Hice algún cambio en el addon en ruta y hace algunas cosas y otras no.

1- Si añado el nick de forma manual en el bot si hace la excepción.
2- Si el usuario pone "no soy bot" en el privado del bot, lo borra y lo mete en la lista de excepción.
3- Si yo pongo !nobot pepe (ni quita el ban ni lo mete en la lista de excepción) es el único fallo que veo.

Código: [Seleccionar]
on *:join:#xe: {
  var %lee 1 | while ($read(backup/Sumidero.txt,%lee)) { if ($v1 == $nick) { return } | inc %lee }
  .enable #whoisban
  whois $nick
}

#whoisban off
raw 311:*: { set %realnameban $6- }
raw 319:*: { baneawhois $2- | .disable #whoisban }
#whoisban end
alias -l archivo return $shortfn(backup/Sumidero.txt)
alias baneawhois {
  var %identban $gettok($remove($address($1,0),*!),1,64)
  var %fullnameaban = Usuario Kiwi de Chat Hispano - https://chathispano.com/webchat

  if  (($chr(125) isin $1) || (QuieroChat isin %identban)) { return }
  if ((%realnameban == %fullnameaban) || (%realnameban == $1)) {
    if ((lesbianas isin $3-)) {
      mode #xe +b $address($1,2)
      kick #xe $1 1Bot spam
      .timerbotborra 1 300 mode #xe -b $address($1,2)
    }
  }
  unset %realnameban
}

on *:text:*:#xe: { tokenize 32 $strip($1-)
  if ($1 == !nobot) {
    if ($read(backup/Sumidero.txt,w,$2) != $null) { msg #xe 1[4ERROR1]4 $2- 1ya estaba en mi 4BDD | return }
  write backup/Sumidero.txt $2 | mode #xe -b *!*@ $+ $address,($2,2) | msg #xe El nick: $2- ha sido añadido como NO Bot y borrado el ban. }
  else if ($1 == !borranobot) && ($2 != $null) {
    if ($read(backup\Sumidero.txt,w,$2) != $null) { write -dl $+ $readn $archivo | msg #xe 4El nick: $2 ha sido borrado. }
    else { msg #xe 9No existe el nick: $2 }
  }
  if ($1 == !listanobot) { msg #xe Listado de nicks incluídos (Total: $lines($archivo) $+ ) | play -q $nick $archivo 1200 }
}

on *:text:*:?: {
  if (no soy bot isin $strip($1-)) {
    write backup/Sumidero.txt $nick
    mode #xe -b *!*@ $+ $gettok($address,2,64)
    msg $nick Su nick ha sido liberado como bot de spam. Pruebe a entrar de nuevo y perdone las molestias causadas.
  }
}
;EOF

« última modificación: Febrero 08, 2020, 04:46:01 pm por akw »

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 162
  • Karma: +228/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Addon para cazar robot
« Respuesta #16 en: Febrero 08, 2020, 06:34:22 pm »
ve loscambios que mencionas, en cuanto a la ruta del archivo estaba dada por el alias de:
alias -l archivo return $shortfn(backup/Sumidero.txt)
si eliminas el -l y en el estatus escribes //echo -s $archivo te da la ruta, la razon del cambio es que asi no se tendria que repetir varias veces en el codigo el identificador de $shortfn acorta la ruta, es por eso que lo puse como un alias local( es los que usan parametro -l y no puede ser solicitado de otro script o llamarse por medio de comando, solo si es solicitado donde esta escrito el codigo)
o incluso pudo usarse alias -l archivo return $+(",backup/Sumidero.txt,") o el noqt, pero depende este ultimo de la version de mirc que usas.
con lo que respecta a
Citar
3- Si yo pongo !nobot pepe (ni quita el ban ni lo mete en la lista de excepción) es el único fallo que veo.
es por que usas la sintaxis de
mode #xe -b *!*@ $+ $address,($2,2)
cuando usas el identificador de $address es el que te regresa la mascara, siendo una mascara de la forma
NickDELusuario!Ident@host.o,IPvirtual
por lo tanto agregar *!*@ antes de la $address por consecuencia te daría un resultado como :

*!*@@host.o.IPvirtual  (una sintaxis no valida para un ban a la mascara de usuario)

es como el la parte de la parte donde el usuario dice no soy bot en la frase, tienes algo similar
 mode #xe -b *!*@ $+ $gettok($address,2,64)
a diferencia delo anterior estas separando el host auxiliandote del $gettok, al tomar el segundo parámetro después de la @ y anteponer el *!*@
eso ya no es necesario por que $address te da la mascara, y con el $ial puedes obtener el nick o la ident u host.
y en el timer que modifique esta como : .timerbotborra 1 300 mode #xe -b $address($1,2)
siendo el parámetro $1 el que es enviado del raw 319
para un ejemplo mas practico, sera si en tu status cuando estas conectado pones:
//echo -s $address($me,1)
//echo -s $address($me,2)
//echo -s $address($me,3)
podrás verlo de una manera mas practica.
En tu carpeta de mirc, si lo instalaste desde un instalador(no lo copiaste o traspaste de un zip), deberias tener un archivo nombrado mirc.hlp o mirc.chm, varia de acuerdo a la version instalada, no es mas que un manual de ayuda, donde encontras los identificadores, como funciona los diversos comandos, dale una revisada cuando tengas tiempo.  ;)

Saludos.

Desconectado akw

  • Novato
  • *
  • Mensajes: 17
  • Karma: +2/-3
Re:Addon para cazar robot
« Respuesta #17 en: Febrero 08, 2020, 07:14:15 pm »
Hola.

Se lo daré, pero lo que me extraña de todo que aunque no me quite el BAN, que puede ser por el tipo de máscara o identificador que añada, pero que lo envie a la lista del Sumidero.txt, cuando por ejemplo, si pongo !borranobot (tiene la misma ruta y si lo mete en dicha carpeta)

Citar
mode #xe -b *!*@ $+ $address,($2,2)
cuando usas el identificador de $address es el que te regresa la mascara, siendo una mascara de la forma
NickDELusuario!Ident@host.o,IPvirtual
por lo tanto agregar *!*@ antes de la $address por consecuencia te daría un resultado como :

*!*@@host.o.IPvirtual  (una sintaxis no valida para un ban a la mascara de usuario)

entonces poniendo mode #xe -b $address($2,2) -> ¿seria suficiente?

Citar
a diferencia delo anterior estas separando el host auxiliandote del $gettok, al tomar el segundo parámetro después de la @ y anteponer el *!*@
eso ya no es necesario por que $address te da la mascara, y con el $ial puedes obtener el nick o la ident u host.

Como lo pusiste tú, no me quitaba el ban en "no soy bot" y cuando lo modifique si lo hacía, por eso lo deje así.


Citar
//echo -s $address($me,1)
//echo -s $address($me,2)
//echo -s $address($me,3)

Acabo de comprobarlo y tienes toda la razón.

*!*sirius@1r7.5lp.bIt1nb.virtual
*!*@1r7.5lp.bIt1nb.virtual
*!*sirius@*.5lp.bIt1nb.virtual

Citar
En tu carpeta de mirc, si lo instalaste desde un instalador(no lo copiaste o traspaste de un zip), deberias tener un archivo nombrado mirc.hlp o mirc.chm, varia de acuerdo a la version instalada, no es mas que un manual de ayuda, donde encontras los identificadores, como funciona los diversos comandos, dale una revisada cuando tengas tiempo.  ;)

Fué desde un zip y la versión mirc es la 7.43