En mi IRC Bot, hay algunos comandos que quiero que solo yo pueda usar, y quiero verificar que cualquier persona que use mi nombre esté identificado con nickserv (idented) . Sin embargo, no pude encontrar una manera fácil de determinar esto, y es por eso que estoy aquí.Determinar si un usuario es ideal en el IRC
Freenode y Rizon son las principales redes de destino, si eso es importante.
Editar: Estaba al tanto de los diversos modos de usuario para usuarios ideados (¡aunque no presté suficiente atención para darme cuenta de que son diferentes!); perdón por no mencionar eso antes. La respuesta sin procesar que recibo de un usuario, sin embargo, no incluye sus modos de usuario; se ve algo como esto:
:[email protected] PRIVMSG #erasmus-testing :foo
Supongo, entonces, que estoy tratando de encontrar una manera (con varias IRCds, GRR) para conseguir esas banderas. Si, como alguien mencionó, Rizon responde si alguien está o no identificado en una consulta de WHOIS, entonces ese es el tipo de cosa que estoy buscando.
Las salidas de las llamadas varían ligeramente entre redes, por ejemplo, en Rizon, obtengo 'STATUS nick #', pero en OFTC obtengo algo como '1 (en línea, no identificado)'. El método más portátil que puedo pensar es probar primero el comando 'ACC' y escanear el resultado para un número * fuera del nick *, si no, probar el comando' STATUS' (en algunos 'ACC' usando servidores' STATUS' se usa para diferentes propósitos, así que pruébalo por última vez) y usa una lista de excepciones.** La clave: ** no escanee en busca de un formato rígido, sino que cree un analizador flexible que busque números. Además, no todas las redes tienen 'NickServ', así que haz un repliegue. – bgw
En ciertas redes, se da el modo '+ r' (como se menciona otra respuesta). Me imaginé que debería estar más arriba aquí. – Qix