plugins/ping.lua

Sun, 27 May 2018 17:34:33 +0200

author
Kim Alvefur <zash@zash.se>
date
Sun, 27 May 2018 17:34:33 +0200
changeset 144
68dc84e72bef
parent 105
4234c8789cc6
permissions
-rw-r--r--

riddim.plugins.ping: Handle JID being unknown after "resolving"


function riddim.plugins.ping(bot)
	bot.stream:add_plugin("ping");
	bot:add_plugin("resolvejid");
	bot:hook("commands/ping", function (command)
		local jid = command.param;
		if jid then
			jid = bot:resolvejid(jid, command.room);
		end
		if jid then
			bot.stream:ping(jid, function (time, jid, error)
				if time then
					command:reply(string.format("Pong from %s in %0.3f seconds", jid, time));
				else
					command:reply("Ping failed ("..(error.condition or "unknown reason")..")"..(error.text and (": "..error.text) or ""));
				end
			end);
			return true;
		end
		return "pong";
	end);
end

mercurial