Merge pull request #240 from Techokami/master

Further improved irc.lua, better display for actions, computer.beep() when nick is mentioned.
This commit is contained in:
Florian Nücke 2014-04-29 21:13:03 +02:00
commit bbff237d9d

View File

@ -2,6 +2,7 @@
-- http://tools.ietf.org/html/rfc2812
local component = require("component")
local computer = require("computer")
if not component.isAvailable("internet") then
io.stderr:write("OpenIRC requires an Internet Card to run!\n")
@ -173,7 +174,14 @@ local function handleCommand(prefix, command, args, message)
sock:write("NOTICE " .. name(prefix) .. " :" .. message .. "\001\r\n")
sock:flush()
end
if string.find(message, nick) then
computer.beep()
end
if string.find(message, "\001ACTION") then
print("[" .. args[1] .. "] " .. name(prefix) .. string.gsub(string.gsub(message, "\001ACTION", ""), "\001", ""))
else
print("[" .. args[1] .. "] " .. name(prefix) .. ": " .. message)
end
elseif command == "NOTICE" then
print("[NOTICE] " .. message)
elseif command == "ERROR" then
@ -368,7 +376,11 @@ local result, reason = pcall(function()
local line = term.read(history)
if sock and line and line ~= "" then
line = text.trim(line)
if line:lower():sub(1,4) == "/me " then
print("[" .. (target or "?") .. "] You " .. string.gsub(line, "/me ", ""), true)
else
print("[" .. (target or "?") .. "] me: " .. line, true)
end
if line:lower():sub(1, 5) == "/msg " then
local user, message = line:sub(6):match("^(%S+) (.+)$")
if message then