簡體   English   中英

我的Ruby IRC bot沒有連接到IRC服務器。 我究竟做錯了什么?

[英]My Ruby IRC bot doesn't connect to the IRC server. What am I doing wrong?

require "socket"

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

s = TCPSocket.open(server, port)
s.print("USER Testing", 0)
s.print("NICK #{nick}", 0)
s.print("JOIN #{channel}", 0)

這個IRC機器人沒有連接到IRC服務器,我做錯了什么?

它失敗了這條消息:

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

所以改變你的代碼。 例如,這個工作:

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

有關USER的更多信息,請參閱http://en.wikipedia.org/wiki/List_of_Internet_Relay_Chat_commands#USER

我寫了一個你可能希望使用的小型IRC bot框架(作為參考): http//github.com/radar/summer

“USER”輸入形成如下:

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

所以:

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

應該管用。 還有其他方法可以做到,但這是我能想到的最快捷方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM