2010-03-01 14 views

risposta

8

non è riuscito con questo messaggio:

:irc.shakeababy.net 461 * USER :Not enough parameters 

quindi modificare il codice. Ad esempio, questo funziona:

require "socket" 

server = "irc.rizon.net" 
port = "6667" 
nick = "Ruby IRC Bot" 
channel = "#0x40" 

s = TCPSocket.open(server, port) 
print("addr: ", s.addr.join(":"), "\n") 
print("peer: ", s.peeraddr.join(":"), "\n") 
s.puts "USER testing 0 * Testing" 
s.puts "NICK #{nick}" 
s.puts "JOIN #{channel}" 
s.puts "PRIVMSG #{channel} :Hello from IRB Bot" 

until s.eof? do 
    msg = s.gets 
    puts msg 
end 

Per ulteriori informazioni su utente, vedere http://en.wikipedia.org/wiki/List_of_Internet_Relay_Chat_commands#USER

1

L'ingresso "USER" è formato come:

"USER misc misc misc :misc\r\n" 

Quindi:

s.print("USER #{nick} #{nick} #{nick} :#{nick}\r\n", 0) 

dovrebbe funzionare. Ci sono altri modi per farlo, ma questo è il modo più veloce con cui potrei arrivare.

Problemi correlati