Autor Tema: Script de lista negra por comando  (Leído 302 veces)

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

Desconectado DanielGuzman07

  • Novato
  • *
  • Mensajes: 8
  • Karma: +0/-106
Script de lista negra por comando
« en: Septiembre 13, 2019, 09:22:58 pm »
Disculpen quisiera saber la solucion a este script el cual es de lista negra, con ban 4 y ban al nick, y agrega $addban, bueno pero lo agrega en la propia sala, yo quiero que agregue nicks a la lista negra del canal principal, los pueda quitar o ver la lista desde el canal de moders del canal.

on *:TEXT:$addban *:*: {
  if ($Nick isop $chan) {
    writeini bans.ini $chan $2  $2
    writeini bans.ini $chan $address($2,4)  $address($2,4) 
    notice $nick $2 es Baneado de $chan $+ .
    mode $chan +b $2
  }
}
on *:TEXT:$bans:#: {
  if ($Nick isop $chan) {
    notice $nick  $chan Bans.
    var %c 0
    var %t $ini(bans.ini, $chan, 0)
    while (%c < %t) {
      inc %c
      notice $nick $readini(bans.ini, $chan, $ini(bans.ini, $chan, %c))
    }
    notice $nick  %c bans encontrados.
  }
  else { notice $nick Tu No tienes acceso a $chan $+ .
  }
}
on *:TEXT:$delban *:*: {
  if ($Nick isop $chan) {
    remini bans.ini $chan $2
    notice $nick $2 es Desbaneado de $chan $+ .
    mode $chan -b $2
  }
}
on *:TEXT:$kb *:*: {
  if ($Nick isop $chan) { 
    writeini bans.ini $chan $2 $2
    writeini bans.ini $chan $address($2,2) $address($2,2)
    mode $chan +b $address($2,2)
    kick $2 $chan kickbanned by $nick
  }
}
on *:JOIN:#: {
  if ($readini(bans.ini, $chan, $nick)) {
    ;/msg $chan encontrado $nick para ban con nick
    mode $chan +b $address($nick, 2)
    kick $nick $chan Banned.
  }
  if ($readini(bans.ini, $chan, $address($nick, 4))) {
    ;/msg $chan encontrado $nick para ban con IP
    mode $chan +b $address($nick, 2)
    kick $nick $chan Banned
  }

Desconectado Cadaver

  • Novato
  • *
  • Mensajes: 32
  • Karma: +71/-1
  • Sexo: Masculino
    • ElChatIRC.com
Re:Script de lista negra por comando
« Respuesta #1 en: Septiembre 13, 2019, 09:46:16 pm »
Podrías explicarte mejor para entenderte? No explicas cual es la "propia sala" o la "sala principal". A ese código se le pueden hacer muchos cambios para mejorar, pero lo ideal es que te expliques mejor.

Desconectado DanielGuzman07

  • Novato
  • *
  • Mensajes: 8
  • Karma: +0/-106
Re:Script de lista negra por comando
« Respuesta #2 en: Septiembre 13, 2019, 10:32:55 pm »
Mira el codigo funciona pero estando en la propia sala... ej: se modera #mexico y se ponen los comandos en la sala... pero se ve muy notorio hasta para ver la lista(la cual te manda notice pero ejecutas el comando en la sala)... lo que yo quiero es que se escriban los comandos en la sala de opers: como #ops_mexico que sirvan para #mexico
Asi seria una manera discreta de configurar la lista negra.Eso es lo que quiero lograr, no se si me explique bien

Desconectado Quetzalcoatl

  • Novato
  • *
  • Mensajes: 30
  • Karma: +58/-1
  • HipercomputoHipermegared
    • elchatirc
Re:Script de lista negra por comando
« Respuesta #3 en: Septiembre 13, 2019, 11:47:13 pm »
Eso te debería funcionar se agregan dos alias locales donde $_chan regresa el canal donde se modera y el $_op es el canal donde están los Operadores del canal.

Se usa el if con un operador lógico or, donde si se ejecuta en el canal $_chan(si el nick es op) o si el canal es el de $_op, aplicara el codigo si se cumple alguna de esas condiciones, igual se puede agregar && en ves de ||,  para que las dos condiciones sean ciertas y el nick que solicita sea operador del canal y sea ejecutado desde el canal de _$op.

Código: [Seleccionar]
alias -l _chan return #mexico
alias -l _op return #ops_mexico
; -------- eventos
on *:TEXT:$addban *:*: {
  if (($Nick isop $_chan) || ($chan = $_op)) {
    writeini bans.ini $_chan $2  $2
    writeini bans.ini $_chan $address($2,4) $address($2,4)
    notice $nick $2 es Baneado de $_chan $+ .
    mode $_chan +b $2
  }
}
on *:TEXT:$bans:#: {
  if (($Nick isop $_chan) && ($chan = $_op)) {
    notice $nick $_chan Bans.
    var %c 0
    var %t $ini(bans.ini, $_chan, 0)
    while (%c < %t) {
      inc %c
      notice $nick $readini(bans.ini, $_chan, $ini(bans.ini, $_chan, %c))
    }
    notice $nick %c bans encontrados.
  }
  else { notice $nick Tu No tienes acceso a $_chan $+ .
  }
}
on *:TEXT:$delban *:*: {
  if (($Nick isop $_chan) || ($chan = $_op)) {
    remini bans.ini $_chan $2
    notice $nick $2 es Desbaneado de $_chan $+ .
    mode $_chan -b $2
  }
}
on *:TEXT:$kb *:*: {
  if (($Nick isop $_chan) || ($chan = $_op)) {
    writeini bans.ini $_chan $2 $2
    writeini bans.ini $_chan $address($2,2) $address($2,2)
    mode $_chan +b $address($2,2)
    kick $2 $_chan kickbanned by $nick
  }
}
on *:JOIN:#: {
  if ($readini(bans.ini, $_chan, $nick)) {
    ;/msg $chan encontrado $nick para ban con nick
    mode $_chan +b $address($nick, 2)
    kick $nick $_chan Banned.
  }
  if ($readini(bans.ini, $_chan, $address($nick, 4))) {
    ;/msg $chan encontrado $nick para ban con IP
    mode $_chan +b $address($nick, 2)
    kick $nick $_chan Banned
  }