mod_ircd: hacked around it to make it "work" again, topics should be operational once again.
--- a/mod_ircd/mod_ircd.in.lua Mon Nov 28 14:00:37 2011 +0000
+++ b/mod_ircd/mod_ircd.in.lua Mon Nov 28 15:07:20 2011 +0000
@@ -305,7 +305,7 @@
commands.NAMES(session, channel);
room:hook("subject-changed", function(changed)
- session.send((":%s TOPIC %s :%s"):format(changed.by, channel, changed.to or ""));
+ session.send((":%s TOPIC %s :%s"):format(changed.by.nick, channel, changed.to or ""));
end);
room:hook("message", function(event)
@@ -447,17 +447,13 @@
function commands.TOPIC(session, message)
if not message then return end
- local channel, topic = message:match("^(%S+) :(.*)$");
- if not channel then
- channel = message:match("^(%S+)");
- end
+ local channel, topic = message[1], message[2];
if not channel then return end
local room = session.rooms[channel];
+
if topic then
room:set_subject(topic)
- session.send((":%s TOPIC %s :%s"):format(session.nick, channel, room.subject or ""));
- else
- session.send((":%s TOPIC %s :%s"):format(session.nick, channel, room.subject or ""));
+ session.send((":%s TOPIC %s :%s"):format(room.nick, room.channel, room.subject or ""));
end
end