Почему? Да потому, что попробуйте написать хотя бы универсальный авто-идентификатор для NickServ. Слабо? Скажите «да плевое дело, их вон навалом». А теперь подумайте… Подумайте о том, что есть много-много стран и много-много разных сервисов и переводов, и вы просто не сможете сами определить, какие в сети есть сервисы, какие сообщения они отсылают, и что эти сообщения значат.
Вам еще это не кажется абсурдом? Тогда представьте себе, например окно ICQ-пейджера, в котором для того, чтобы поговорить с кем-то надо например набрать /speak 123456789, для того, чтобы войти надо набрать /server login.icq.com, а потом вручную ввести пароль. Глупо? А в IRC это норма.
Изначально, сервисы задумывались как боты, которые наделены специальными правами. Они могут менять ник пользователям, менять статусы и режимы канала, и многое другое. В том числе и отправлять любые NUMERIC-сообщения. Если вы не знаете, что это, то дальнейший текст не будет вам понятен.
Предлагается заменить стандартные NOTICE от сервисов специальными, и то главное, стандартизованными numeric-сообщениями. Например, идентификация пользователя может проходить примерно так:
Сервер запрашивает авторизацию:
irc.server.ru 801 Alexey NickServ Alexey :password required
Клиент отправляет пароль
NickServ IDENTIFY password
Допустим, пароль не верен, и сервер сообщает об этом:
irc.server.ru 803 Alexey NickServ Alexey :password wrong
Клиент показывает пользователю окошко с просьбой ввести в него новый пароль, и, как только этот пароль вводится, отправляет его: NickServ IDENTIFY password2
Сервер принимает пароль:
prefix 802 Alexey NickServ Alexey :password accepted
Теперь клиент может выполнить действия после идентификации (например, зайти на каналы). А не делать эти действия сразу после отправки пароля, надеясь на то, что этот пароль верен.
Пример выше – лишь малая доля того, что может дать подобная стандартизация. Все действия по управлению ником, каналом, чтению записок, можно будет легко вынести в графическую часть клиента или скрипта. Пользователю не надо будет больше помнить команды, а многие вещи смогут делаться автоматически.
Конечно, я понимаю, что все клиенты разом не станут это поддерживать , и потому включение такого режима обмена с сервисами должно происходить по запросу клиента, а пользователь должен иметь возможность вводить команды как и раньше.
Скажу вдогонку, что Anope согласилась претворить эту идею в жизнь если будет создан хотябы проект RFC. Положительно высказалась об этой идее и администрация сети RusNet.