# HG changeset patch # User Kim Alvefur # Date 1328034542 -3600 # Node ID 37e804dfaf37c2e0b1a81c1a1ae837fbfa3db00c # Parent 076caaedab2c89c5be925fb27641129b07f8d816 Import urltitle plugin (thanks ruskie) diff -r 076caaedab2c -r 37e804dfaf37 plugins/urltitle.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/urltitle.lua Tue Jan 31 19:29:02 2012 +0100 @@ -0,0 +1,27 @@ +function riddim.plugins.urltitle(bot) + require "net.httpclient_listener"; + local http = require "net.http"; + + local function handler(message) + local url = message.body and message.body:match("https?://%S+"); + if url then + http.request(url, nil, function (data, code) + if code ~= 200 then return end + local title = data:match("]*>([^<]+)"); + + if title then + title = title:gsub("\n", ""); + if message.room then + message.room:send(title); + else + message:reply(title); + end + end + end); + end + end + bot:hook("message", handler); + bot:hook("groupchat/joined", function(room) + room:hook("message", handler) + end); +end