Lua socket irc twitch bot not getting pinged?

local Bot = {
   Channel = "#*twitch_channel*",
   Name = "smmchrisbot",
   Pass = "oauth:*code*",
   Server = "irc.chat.twitch.tv",
   Port = 6667
}

local socket = require("socket")

local client,err = socket.tcp()
if not client then
   error(err)
end

Bot.Client = client

function Bot.Pingpong(self)
   print("火!") --输出
   local msg = Bot.Client:receive("*l") --没收到消息?
   print(msg)
   if msg == "PING :tmi.twitch.tv" then
      Bot.Client:send("PONG :tmi.twitch.tv")
   end
end

--function Bot.Chat(self,msg)
--Bot.Client:send("PRIVMSG "..Channel.." :"..msg.."\r\n\r\n")
--end

Bot.Client:settimeout(1)

Bot.Client:connect(Bot.Server, Bot.Port)

Bot:Pingpong()
Bot.Client:send("PASS "..Bot.Pass)
Bot:Pingpong()
Bot.Client:send("NICK "..Bot.Name)
Bot:Pingpong()
Bot.Client:send("JOIN "..Bot.Channel)

while true do
   Bot:Pingpong()
   sleep(1)
   --Bot:Chat(io.read())
end

它输出"火!",但之后输出nil,一遍又一遍。有人知道是为什么吗?

点赞
用户3979429
用户3979429

翻译:

答案实际上很简单!我只需要在我的密码后面连接“\r \n”就行了!

Markdown 格式:

The answer was actually easy! I just needed to concatenate "\\r\\n" at the end of my password and stuff!

2016-06-18 18:20:38