Одной из проблем вашего кода является то, что вы переопределяете connectionMade
, не вызывая реализацию IRCClient
.IRCClient.connectionMade
выполняет несколько важных задач, таких как «регистрация» на сервере (предоставление псевдонима и т. Д.), Что необходимо перед тем, как сервер примет какие-либо дальнейшие команды.На самом деле, signedOn
никогда не будет вызван при этих обстоятельствах;сервер, вероятно, ожидает регистрации вашего бота, а затем отключает его после заданного времени ожидания, когда регистрация никогда не происходит.
(Обратите внимание, что «регистрация», на которую я ссылаюсь выше, не является регистрацией в стиле NickServ;относится к процессу отправки команд USER
и NICK
при подключении к IRC-серверу. (
Кроме того, ваш код вызывает self.join()
, чтобы присоединиться к каналу, а затем сразу же пытается отправить сообщение наэтот канал. Хотя это может работать, это не гарантируется, вместо этого вам следует переопределить joined
, чтобы ваш код запускался после того, как бот фактически присоединился к каналу. Затем вы можете отправить сообщение "привет" (или сделать что-нибудь еще).