1 cutie.input:addEventListener("input", function(evt)
2 dragonirc.input(evt.data.input)
5 function dragonirc.input(input, raw)
6 if not raw and not dragonirc:dispatchEvent(Event("input", {input = input})) then
10 if input:sub(1, 1) == "/" then
11 dragonirc.command(input:sub(2, #input):split(" "), false)
13 dragonirc.message(input, false)
17 function dragonirc.command(args, raw)
18 local cmd = table.remove(args, 1):lower()
20 if not raw and not dragonirc:dispatchEvent(Event("command", {cmd = cmd, args = args})) then
24 if dragonirc:dispatchEvent(Event("command." .. cmd, args)) then
25 dragonirc.add_line(cutie.bold
26 .. cutie.color(dragonirc.config.colors.error)
27 .. "Invalid command: /" .. cmd)
31 function dragonirc.message(msg, raw)
32 if not raw and not dragonirc:dispatchEvent(Event("message", {msg = msg})) then
36 dragonirc.add_line(cutie.bold .. "<user> " .. cutie.no_effects .. msg)
39 function dragonirc.register_command(cmd, func)
40 dragonirc:addEventListener("command." .. cmd, function(evt)
42 func(table.unpack(evt.data))