Autor Tema: Limite de usuarios.  (Leído 1844 veces)

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

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Limite de usuarios.
« en: Febrero 11, 2021, 08:28:40 am »
Hola.

Tengo una pregunta, es posible hacer un código que ponga el límite a 100 usuarios en el canal, pero cuando llegue a 100 vaya sumando +10 usuarios por cada entrada?

O sea cuando entre el usuario y sean 100 usuarios el bot ponga +110 y si sale o cierra uno y se pone en 99 usuarios o menos se vuelva a poner a 100.

Pero si en cambio sobrepasa los 100 por cada usuario que entre el límite suba a 10 usuarios más.


¿Es posible?

Muchisimas gracias de antemano.

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Re:Limite de usuarios.
« Respuesta #1 en: Febrero 20, 2021, 03:25:37 am »
Hola.

Se me olvido mencionar como tengo el código:

Código: [Seleccionar]
on *:join:#test:{
if ($nick($chan,0) >= 100) {
halt
}
else {
.timer 1 10 /mode #test +l $calc($nick($chan,0) + 10)
}
}

- Pero como pido en el primer post, que tenga siempre puesto el límite a 100, y solo lo modifique cuando llegue a 100 los usuarios del canal.

- Cuando pase eso, que los vaya subiendo a 10 usuarios más de los que están, o sea de 101 ponga 111 el límite y si pasa a 99 que ponga 100 de nuevo.

¿Es posible?

¡Muchas gracias!

Desconectado _M3xiC4n0_

  • Novato
  • *
  • Mensajes: 26
  • Karma: +30/-0
Re:Limite de usuarios.
« Respuesta #2 en: Febrero 20, 2021, 07:09:21 am »
No se si te entendí pero cuando sean 99 ponga el limite a 100 en caso del contrario que incremente en 10?
pero ¿que pasa si son menos de 100, debería estar el limite? o solo habrá un limite cuando sean mas de 100?

quizás eso te sirva me base en el código que pusiste pero le cambie los if's así como una comparación si existe el modo de +l en el canal así como si el limite supera los 100 lo fije a 100, de lo contrario(cuando sean = o mas de 100) haga el incremento
Código: [Seleccionar]
on *:join:#test:{
 if ($nick($chan,0) < 100) {
  if (($chr(108) isin $chan($chan).mode) && ($gettok($chan(#chan).mode,2,32) > 100 ) { mode $chan +l 100 }
 }
 else { .timerSube_Limite $+ $chan 1 10 mode $chan +l $calc($nick($chan,0) + 10)
 }
}

PD: NO LO PROBÉ POR QUE NO TENGO EN DONDE HACERLO   ;D :D

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Re:Limite de usuarios.
« Respuesta #3 en: Febrero 21, 2021, 08:14:28 am »
Buenas noches.

Lo he probado yo, y me da un error en la línea 3.

Código: [Seleccionar]
* /if: invalid format (line 3, Limitador.mrc)
Muchas gracias!!!

Desconectado _M3xiC4n0_

  • Novato
  • *
  • Mensajes: 26
  • Karma: +30/-0
Re:Limite de usuarios.
« Respuesta #4 en: Febrero 21, 2021, 09:49:41 am »
le falta un cierre de paréntesis en la condición

Código: [Seleccionar]
if (($chr(108) isin $chan($chan).mode) && ($gettok($chan(#chan).mode,2,32) > 100)) { mode $chan +l 100 }

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Re:Limite de usuarios.
« Respuesta #5 en: Febrero 21, 2021, 10:08:34 am »
Buenas tardes.

Lo acabo de comprobar.

Código: [Seleccionar]
on *:join:#test:{
  if ($nick($chan,0) < 100) {
    if (($chr(108) isin $chan($chan).mode) && ($gettok($chan(#chan).mode,2,32) > 100)) { mode $chan +l 100 }
  }
  else { .timerSube_Limite $+ $chan 1 1 mode $chan +l $calc($nick($chan,0) + 10)
  }
}

Y cuando entro a un canal solo para probarlo.

No pone ningun límite.
« última modificación: Febrero 21, 2021, 10:16:03 am por rayco »

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 201
  • Karma: +241/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Limite de usuarios.
« Respuesta #6 en: Febrero 21, 2021, 04:18:58 pm »
Es que no tienes que entrar a cualquier canal tienes que entrar a #test y obviamente debe estar en relación a los limites del código de igual a 100 o mayor que 100, tener un limite superior a 100 y para que reajuste el limite en los usuarios.
Creo que es a lo que se refieren en el PD de :


PD: NO LO PROBÉ POR QUE NO TENGO EN DONDE HACERLO   ;D :D

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Re:Limite de usuarios.
« Respuesta #7 en: Febrero 21, 2021, 09:34:42 pm »
Buenas noches.

Lo probe en el canal #test.

Y en teoría, cuando entra con ese código deberá poner el modo +l 100 y cuando se sobrepasen de eso van subiendo 10 usuarios y si baja de 100 usuarios en el canal, pone el límite a 100 de nuevo.

Pero cuando meto el nick con ese código, no lo pone a 100 el límite de usuarios.

Un saludo.

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 201
  • Karma: +241/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Limite de usuarios.
« Respuesta #8 en: Febrero 22, 2021, 03:34:36 am »
Rayco

la segunda condición del segundo if estaba mal, prueba eso, a mi me anduvo por lo menos en lo que respecta a si existe un limite previo, de lo contrario no pondrá nada a menos que ya exista un +l en el canal o el canal supere o sea igual a 100 en sus usuarios.
Código: [Seleccionar]
on *:join:#test:{
  if ($nick($chan,0) < 100) {
    if (($chr(108) isin $chan($chan).mode) && ($gettok($chan($chan).mode,2,32) < 100)) { mode $chan +l 100 }
  }
  else { .timerSube_Limite $+ $chan 1 1 mode $chan +l $calc($nick($chan,0) + 10)
  }
}

Saludos.

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Re:Limite de usuarios.
« Respuesta #9 en: Febrero 22, 2021, 06:35:03 am »
Buenos días.

Muchisimas gracias.

Y se puede hacer, para cuando el bot  entre al canal si no está el límite en 100 o más ponga el mismo el límite en 100?

Un saludo.

Desconectado hank

  • Novato
  • *
  • Mensajes: 19
  • Karma: +0/-8
Re:Limite de usuarios.
« Respuesta #10 en: Febrero 24, 2021, 11:53:55 pm »
Hola.

Muy buen código enhorabuena.

y como rayco, se podría incluir que cuando entre el bot se ponga ese límite?

Saludos!

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 201
  • Karma: +241/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Limite de usuarios.
« Respuesta #11 en: Febrero 26, 2021, 07:06:27 pm »
Solo se tendría que meter un if para verificar si, NO existe el limite (mode +l)

Código: [Seleccionar]
if ($chr(108) !isin $chan($chan).mode) { mode $chan +l 100 }
la inserción de esa linea depende a criterio y seria antes o después de (<--- solo una ves en el código a elección)
  if ($nick($chan,0) < 100) {

antes obligara a que siempre, que entre un nick verifique si el limite esta en el canal y si no esta un limite definido previamente, entonces lo pondrá por defecto a 100
si se coloca después, solo se verificara la condición anterior cuando exista un limite inferior a 100

Desconectado hank

  • Novato
  • *
  • Mensajes: 19
  • Karma: +0/-8
Re:Limite de usuarios.
« Respuesta #12 en: Febrero 26, 2021, 08:51:51 pm »
Buenas noches.

Pues sinceramente no me he enterado de nada xDDDDDD

¿Cómo podría añadir o hacer esa if para que compruebe si está el límite?

¿Y si no está, que lo ponga?

Muchas gracias!

Desconectado rayco

  • Miembro Junior
  • **
  • Mensajes: 82
  • Karma: +1/-73
Re:Limite de usuarios.
« Respuesta #13 en: Febrero 28, 2021, 10:49:25 pm »
Buenas noches.

Va perfecto, pero me he dado cuenta que cuando baja de 100 usuarios el canal, el límite no lo pone en 100 si no, en el límite que puso anteriormente.

O sea, si lo pone el límite 110 usuarios porque llegaron a 100 usuarios, y si baja los usuarios del canal a 99 sigue teniendo el límite a 110 (y me gustaría en ese caso que lo vuelva a poner en 100).

¿me explico?

Código: [Seleccionar]
on *:join:#canal:{
  if ($nick($chan,0) < 100) {
    if ($chr(108) !isin $chan($chan).mode) { mode $chan +l 100 }
    if (($chr(108) isin $chan($chan).mode) && ($gettok($chan($chan).mode,2,32) < 100)) { mode $chan +l 100 }
   
  }
  else { .timerSube_Limite $+ $chan 1 1 mode $chan +l $calc($nick($chan,0) + 10)
  }
}

Muchisimas gracias!  ;D

Desconectado Quetzalcoatl

  • Miembro de pleno derecho
  • ***
  • Mensajes: 201
  • Karma: +241/-2
  • HipercomputoHipermegared
    • elchatirc
Re:Limite de usuarios.
« Respuesta #14 en: Marzo 01, 2021, 12:02:11 am »
Eso debe funcionarte, ya que previamente no se había mencionado que si el canal no tuviera el limite lo asignara.

le falta un cierre de paréntesis en la condición

Código: [Seleccionar]
if (($chr(108) isin $chan($chan).mode) && ($gettok($chan(#chan).mode,2,32) > 100)) { mode $chan +l 100 }

la otra condición(del anterior post con <) es cuando el numero +l sea menor a 100, ejemplo que sea un #prueba +ntl 30 lo pondria a 100, pero como estaba en un inicio,  es lo que te cumple las condición de que si el numero de usuarios en el canal es menor a 100 y existe un limite que esta en mas de 100(#pueba +ntl 120) te lo reajuste a 100.

Código: [Seleccionar]
on *:join:#canal:{
  if ($nick($chan,0) < 100) {
    if ($chr(108) !isin $chan($chan).mode) { mode $chan +l 100 }
    if (($chr(108) isin $chan($chan).mode) && ($gettok($chan($chan).mode,2,32) > 100)) { mode $chan +l 100 }
   
  }
  else { .timerSube_Limite $+ $chan 1 1 mode $chan +l $calc($nick($chan,0) + 10)
  }
}

Igual puedes quitar el && ($gettok($chan(#chan).mode,2,32) > 100)
para solo te lo asigne a 100, si es que no quieres que si tenga un limite superior o inferior pre asignado, solo que cumpla la condición de que ya tenga un limite, ya que el disparador seria el primer if de
  if ($nick($chan,0) < 100)


Código: [Seleccionar]
on *:join:#canal:{
  if ($nick($chan,0) < 100) { mode $chan +l 100 }
  else { .timerSube_Limite $+ $chan 1 1 mode $chan +l $calc($nick($chan,0) + 10) }
}

Que prácticamente seria casi el que pusiste en un inicio. :P

saludos rayco
« última modificación: Marzo 01, 2021, 12:24:32 am por Quetzalcoatl »

 

anything