Как сказал Майк, вы не отправляете данные, которые должны отправлять.Вам нужно добавить пробелы и вам нужно :
перед окончательными аргументами команды, если они имеют пробелы.Некоторые строки также отсутствуют '\r\n'
.
То есть формат для PRIVMSG
: 'PRIVMSG nick :message with spaces\r\n'
PRIVMSG
имеет только два аргумента, поэтому вам нужнопоставьте :
, чтобы указать, что остальная часть строки - это только одно значение, которое может включать пробелы.
Причина, по которой вы получаете "You have not registered"
, заключается в том, что вы должны отправлять команды USER
и NICK
перед любыми другими командами.И если команда NICK
завершается неудачно (ник конфликт), вы должны обнаружить ошибку и попробовать другую.После того, как вы отправили действительные команды USER
и NICK
, некоторые сети IRC также отправляют вам PING
, на который вы должны ответить PONG
, прежде чем сервер сочтет вас «зарегистрированным».После этого вы можете использовать другие команды.