MIRC Scripting - Cómo asignar niveles de acceso

12 - Cómo asignar niveles de acceso

[editar]
Tutorial creado por t0m|ta. Extraido de: http://www.tomatoma.ws/subsecciones.php?forum_id=18&catid=20&todos=1
08 de Marzo de 2006
Podrás encontrar la sección en Tools/Remote/users. Aquí es dónde asignas difentes niveles de acceso para otros usuarios. Puedes asignar niveles a amigos y enemigos. Esta lista de usuarios da mucho juego. Es importante, porque de esta forma puedes controlar, tus reacciones ante las cosas que hace la gente, reaccionado de forma diferente ante gente diferente.

Supongamos que te construyes un evento (luego lo veremos) que kickee a todo el que diga "gilipollas" en tu canal. Pero es posible, que sólo quieras kickear a algunos de los usuarios del canal y a otros no, digamos que quieres kikear a los que no conoces de nada, y en cambio a tus "amiguetes" les dejas decir "gilipollas" impunemente; en cambio a otros puede que no sólo no quieras kikearlos, sino además banearlos. Pues todo esto lo puedes hacer dándoles diferentes niveles de acceso a unos y a otros.

Ahora vamos a aprender cómo funciona esta lista de usuarios:

 

Access Levels

Los niveles de acceso se asignan tanto a los usuarios cómo a los eventos y sirven para limitar el acceso de los usuarios a ciertos eventos.

El nivel de acceso por defecto es uno. Todos los usuarios pueden acceder a los eventos de nivel 1. A medida que incrementas el nivel de acceso de un usuario, mayor será el número de eventos a los que pueda acceder.

También puedes cambiar el nivel de acceso por defecto para que usuriarios que no están en tu lista puedan acceder a más eventos de los habituales.

 

Users

En la sección "users" (la encontrarás el Tools) puedes especificar una lista de usuarios y sus niveles de acceso, usando la siguiente sintaxis:
[nivel1,nivel2,...,nivelN]:useraddress
3,5,6:tomatoma!yomisma@*.readysoft.es

El primer nivel es un nivel de acceso general, que signica que el usuario puede acceder a los eventos de nivel 3 o inferior. Los demás, son niveles de acceso que el usuario debe tener especificados para poder acceder al evento. Es decir que el usuario podrá acceder a todos los eventos de nivel 3, a los de nivel 5 y a los de nivel 6 pero NO a los eventos que requieren un nivel de acceso 4 porque no le hemos asignado ese nivel.

Si quieres forzar que el primer nivel de acceso sera también específico en vez de general, tienes que anteponerle un signo =

Código:
=3,5,6:tomatoma!yomisma@*.readysoft.es

Ahora este usuario sólo puede acceder a los eventos que requieran niveles 3,5 y 6 pero no a los demás.

 

Eventos

Esto es una introducción, después los veremos, en profundidad.
En general la sintaxis de un evento es:
prefijo nivel:evento:órdenes

ctcp 1:AYUDA:/msg $nick Búscate la vida en
http://www.tomatoma.ws

Este evento CTCP es accesible a todos los usuarios pues tiene un nivel 1, así si cualquiera te mandara un /CTCP AYUDA le mandarías el mensajito.

Niveles con nombre
También puede nombrar los niveles en vez de darles números y funcionarán igual que los números, aunque són más fáciles de leer y comprender
amigo: tomatoma!yomisma@*.readysoft.es
on @amigo:JOIN:#canal:/mode $chan +o $nick

Este evento trata la palabra amigo cóom un nivel de acceso. Así cuando la persona a la que hayas dado el nivel amigo entre en el canal que hayas especificado, le darás automáticamente el op.


Limitar el acceso

Puedes limitar algunos eventos a los usuarios con un cierto nivel de acceso, anteponiendo el signo más al definir el evento.
10: tomatoma!yomisma@*.readysoft.es

ctcp +5:ayuda:/msg $nick You have accessed a level +5 event

Así el usuario que hemos definido cómo de nivel 10 no puede acceder a este evento pese a tener un nivel superior, puesto que al añadirle el signo + lo hemos limitado a los usuarios que tengan un nivel 5.

Puedes impedir a los usuarios con niveles de acceso superiores puedan poner en marcha eventos que requieren niveles inferiores usando el signo =.

Código:
10: tomatoma!yomisma@*.readysoft.es

ctcp 2:AYUDA:/msg $nick Has accedido a un evento de nivel 2

ctcp 5:AYUDA:=

El usuario no puede acceder a estos eventos, porque el evento de nivel 5 que hemos establecido le impide acceder a los eventos de AYUDA que tengan un nivel inferior a 5.

Puedes impecir la puesta en marcha de un evento iniciado por ti mismo, usando el signo de exclamación.

ctcp !2:AYUDA:/msg $nick has accedido a un evento de nivel 2 Tu no podrías acceder a este evento, independientemente de tu nivel de acceso.

Puedes hacer que ciertos eventos sólo se ejecuten si eres operador, anteponiendo el signo "

Código:
10: tomatoma!yomisma@*.readysoft.es

on @2:JOIN:#canal:/mode $chan +o $nick

Cuando el usuario entre en el canal que hayas especificado y tú tengas status de operador ejecutarás la orden /MODE, dando OP al usuario, pero si no eres operador, el evento no se pondrá en marcha.

Puedes impedir que órdenes para un cierto nivel de acceso se ejecuten, usando el signo de exclamación. You can prevent commands for a certain event level from being processed by using a ! exclamation mark as the command.

Código:
ctcp 5:PING:echo PING!

ctcp 5:*:!

La ! al final de la línea le dice al remoto que pare la ejecución de cualquier otra orden de nivel 5

 

Haciendo Grupos

Puedes crear grupos de eventos separados en tus scripts, utilizando el signo #

Código:
#group1 on
...
[lista de eventos]
...
#group1 end

Puedes usar las órdenes /enable y /disable para activar o desactivar grupos concretos de eventos. Un grupo de eventos desactivado será ignorado, la apariencia de un grupo desactivado:

Código:
#group1 off
...
[ Lista de Eventos]
...
#group1 end


Los grupos no se pueden anidar.

Ordenando las definiciones

Muchos de los prefijos y controles son sensibles al órden númerico. Lo más seguro es ordenar los eventos empezando con los niveles de acceso más bajos e ir incrementándolos numéricamente a medida que vas haciendo el script. Lo cual te facilitará mucho la tarea de saber qué eventos van a saltar y cuándo.
[editar]

4 opiniones

busco un remote

hola .. estoy buscando un remote o un alias que sea capaz de grabar en un determinado lugar, por ejemplo un .txt , lo que se le diga que guarde, por ejemplo.... si alguien dice algo en determinado canal .. ke lo guarde en un .txt ke .. gracias...
Alguien que me ayude es urgente.

Tengo un gran problema y quisiera que alguien me ayudara esque me dejaran hacer un programa con la estructura if then else y este programa tiene que realizar busqueda de unos votantes espero que me puedan ayudar por que lo tengo que entregar mañana.
El mejor y mas directo manual de scripting.

Me ha costado encontrarlo pues esta un poco escondido pero me ha sorprendido por su sencillez. Mu bueno. Gracias, lo recomendare siempre que tenga ocasion. Gracias de nuevo.
Siguen siendo.

Lo mejor... Regards.

Tutoriales relacionados con 'MIRC Scripting'

MIRC dispone de un lenguaje de programación propio, que permite convertirlo en una de las... Más »
Este artículo está basado en "A Scripting Guide to mIRC 6. 0" de blue-elf belf@mircscripter.... Más »
Estudiamos una por una las posibilidades de personalización del mIRC, los sonidos, las grabaciones, las... Más »
Estudiamos los diferentes menús del mIRC, y vemos algunas opciones de configuración sencillas que nos... Más »

Autor y licencia de 'MIRC Scripting'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.