Very basic stuff done, bot now pings and has a parsing function. More stuff after I get a drink
This commit is contained in:
parent
6a951a0e1e
commit
fdee904cd6
57
init.lua
57
init.lua
@ -4,10 +4,11 @@ local serialization = require "serialization"
|
|||||||
local config = {}
|
local config = {}
|
||||||
|
|
||||||
function loadconfig()
|
function loadconfig()
|
||||||
local f = io.open("config.lua","rb")
|
local f = io.open("./config.lua","rb")
|
||||||
local content = f:read("*a")
|
local content = f:read("*a")
|
||||||
f:close()
|
f:close()
|
||||||
config = serialization.unserialize(dat)
|
print(content)
|
||||||
|
config = serialization.unserialize(content)
|
||||||
end
|
end
|
||||||
|
|
||||||
function saveconfig()
|
function saveconfig()
|
||||||
@ -16,3 +17,55 @@ function saveconfig()
|
|||||||
f:write(newconfig)
|
f:write(newconfig)
|
||||||
f:close()
|
f:close()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function reply(chan,msg)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function os.sleep(n)
|
||||||
|
os.execute("sleep ".. tostring(tonumber(n)))
|
||||||
|
end
|
||||||
|
|
||||||
|
function parse(line)
|
||||||
|
if string.find(line, "PING :") == 1 then
|
||||||
|
local _,pingid = string.match(line,"([^,]+):([^,]+)")
|
||||||
|
writeln("PONG :"..pingid)
|
||||||
|
print("Pinged: "..pingid)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function main()
|
||||||
|
print("Loading config.")
|
||||||
|
loadconfig()
|
||||||
|
print("Config loaded, resolving "..config.server)
|
||||||
|
local ip = socket.dns.toip(config.server)
|
||||||
|
print("Opening connection to "..ip)
|
||||||
|
local connection = socket.connect(ip,config.port)
|
||||||
|
function writeln(l) connection:send(l.."\n") end
|
||||||
|
connection:settimeout(10)
|
||||||
|
print("Connected!")
|
||||||
|
os.sleep(1)
|
||||||
|
connection:receive() -- drop a line
|
||||||
|
print("Logging in.")
|
||||||
|
connection:send("NICK "..config.nick.."\n")
|
||||||
|
connection:send("USER "..config.username.." "..config.hostname.." "..config.servername.." "..config.realname.."\n")
|
||||||
|
repeat
|
||||||
|
line = connection:receive()
|
||||||
|
print(line)
|
||||||
|
until line == nil
|
||||||
|
print("Sent everything relevant. Joining channels.")
|
||||||
|
for k,v in pairs(config.channels) do
|
||||||
|
connection:send("JOIN " .. v.."\n")
|
||||||
|
end
|
||||||
|
repeat
|
||||||
|
line = connection:receive()
|
||||||
|
if line ~= nil and line ~= "timeout" then
|
||||||
|
print(line)
|
||||||
|
parse(line)
|
||||||
|
end
|
||||||
|
if line == nil then line = "" end
|
||||||
|
until string.find(line,"ERROR :Closing link:") ~= nil
|
||||||
|
print(connection:receive())
|
||||||
|
end
|
||||||
|
|
||||||
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user