Вот моя проблема: бот загружает информацию IRC в порядке, но когда ее предполагается идентифицировать, он этого не делает.IRC Bot Python | Идентифицировать прозвище
Ниже приведена соответствующая часть кода. Я думаю, проблема в строке 9, но я не могу понять, почему.
import socket
server = #ServerName
channel = #ChannelName
botnick = #BotName
password = #Password (string)
def connect(channel, password): # This function is used on connect.
ircsock.send("PRIVMSG" + " :NICKSERV Identify " + password +"\n") #Problem Here
ircsock.send("JOIN "+ channel +"\n")
ircsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ircsock.connect((server, 6667)) # Here we connect to the server using the port 6667
ircsock.send("USER "+ botnick +" "+ botnick +" "+ botnick +":Just testing .\n") # user authentication
ircsock.send("NICK "+ botnick +"\n")
connect(channel, password) #Join the channel and identify the nick using the functions we previously defined
Заранее спасибо.
Решение: Установив функцию Соединить как писал, это первая вещь, чтобы называться Затем сервер пытается подключиться до того, USER/НИК.
def create_connection():
global ircsock
ircsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ircsock.connect((server, 6667)) # Here we connect to the server using the port 6667
ircsock.send("USER "+ botnick +" "+ botnick +" "+ botnick +":This bot is a result of GStones mastery .\n") # user authentication
ircsock.send("NICK "+ botnick +"\n") # here we actually assign the nick to the bot
time.sleep(5)
connect(channel, password) # Join the channel and identify the nick using the functions we previously defined
create_connection()
Благодаря я \ OFF
Что такое 'ircsock'? –
ircsock = socket.socket (socket.AF_INET, socket.SOCK_STREAM) –
Бот входит в сервер irc, но пропускает выполнение функции подключения, поэтому NickServ запрашивает команду идентификации: "NOTICE Botman: Этот псевдоним зарегистрирован. другое прозвище или идентифицировать через/msg NickServ ident " –