2012-12-22 04:16:28 +01:00
|
|
|
|
|
|
|
minetest.register_chatcommand("msg", {
|
|
|
|
params = "<name> <message>";
|
|
|
|
description = "Send a private message to an IRC user";
|
|
|
|
privs = { shout=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
if (not mt_irc.connect_ok) then
|
|
|
|
minetest.chat_send_player(name, "IRC: You are not connected use /irc_connect.");
|
|
|
|
return;
|
|
|
|
end
|
|
|
|
local pos = param:find(" ", 1, true);
|
|
|
|
if (not pos) then return; end
|
|
|
|
local name = param:sub(1, pos - 1);
|
|
|
|
local msg = param:sub(pos + 1);
|
|
|
|
local t = {
|
|
|
|
name=name;
|
|
|
|
message=msg;
|
|
|
|
};
|
|
|
|
local text = mt_irc.message_format_out:gsub("%$%(([^)]+)%)", t)
|
|
|
|
irc.send("PRIVMSG", name, text);
|
|
|
|
end;
|
|
|
|
});
|
|
|
|
|
|
|
|
minetest.register_chatcommand("irc_connect", {
|
|
|
|
params = "";
|
|
|
|
description = "Connect to the IRC server";
|
|
|
|
privs = { irc_admin=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
if (mt_irc.connect_ok) then
|
|
|
|
minetest.chat_send_player(name, "IRC: You are already connected.");
|
|
|
|
return;
|
|
|
|
end
|
2012-12-26 07:37:46 +01:00
|
|
|
mt_irc.connect();
|
2012-12-22 04:16:28 +01:00
|
|
|
minetest.chat_send_player(name, "IRC: You are now connected.");
|
|
|
|
irc.say(mt_irc.channel, name.." joined the channel.");
|
|
|
|
end;
|
|
|
|
});
|
|
|
|
|
2012-12-31 16:53:01 +01:00
|
|
|
minetest.register_chatcommand("irc_disconnect", {
|
|
|
|
params = "";
|
|
|
|
description = "Disconnect from the IRC server";
|
|
|
|
privs = { irc_admin=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
if (not mt_irc.connect_ok) then
|
|
|
|
minetest.chat_send_player(name, "IRC: You are not connected.");
|
|
|
|
return;
|
|
|
|
end
|
|
|
|
irc.quit("Manual BOT Disconnection");
|
|
|
|
minetest.chat_send_player(name, "IRC: You are now disconnected.");
|
|
|
|
mt_irc.connect_ok = false;
|
|
|
|
end;
|
|
|
|
});
|
|
|
|
|
|
|
|
minetest.register_chatcommand("irc_reconnect", {
|
|
|
|
params = "";
|
|
|
|
description = "Reconnect to the IRC server";
|
|
|
|
privs = { irc_admin=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
if (mt_irc.connect_ok) then
|
|
|
|
irc.quit("Reconnecting BOT...");
|
|
|
|
minetest.chat_send_player(name, "IRC: Reconnecting bot...");
|
|
|
|
mt_irc.connect_ok = false;
|
|
|
|
end
|
|
|
|
mt_irc.connect();
|
|
|
|
end;
|
|
|
|
});
|
|
|
|
|
2012-12-22 04:16:28 +01:00
|
|
|
minetest.register_chatcommand("join", {
|
|
|
|
params = "";
|
|
|
|
description = "Join the IRC channel";
|
|
|
|
privs = { shout=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
mt_irc.join(name);
|
|
|
|
end;
|
|
|
|
});
|
|
|
|
|
|
|
|
minetest.register_chatcommand("part", {
|
|
|
|
params = "";
|
|
|
|
description = "Part the IRC channel";
|
|
|
|
privs = { shout=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
mt_irc.part(name);
|
|
|
|
end;
|
|
|
|
});
|
|
|
|
|
|
|
|
minetest.register_chatcommand("me", {
|
|
|
|
params = "<action>";
|
|
|
|
description = "chat action (eg. /me orders a pizza)";
|
|
|
|
privs = { shout=true };
|
|
|
|
func = function(name, param)
|
2012-12-22 21:22:45 +01:00
|
|
|
minetest.chat_send_all("* "..name.." "..param);
|
|
|
|
irc.say(mt_irc.channel, "* "..name.." "..param);
|
2012-12-22 04:16:28 +01:00
|
|
|
end,
|
|
|
|
})
|
2012-12-27 02:29:22 +01:00
|
|
|
|
|
|
|
minetest.register_chatcommand("who", {
|
|
|
|
-- TODO: This duplicates code from !who
|
|
|
|
params = "";
|
|
|
|
description = "Tell who is currently on the channel";
|
|
|
|
privs = { shout=true; };
|
|
|
|
func = function ( name, param )
|
|
|
|
local s = "";
|
|
|
|
for k, v in pairs(mt_irc.connected_players) do
|
|
|
|
if (v) then
|
|
|
|
s = s.." "..k;
|
|
|
|
end
|
|
|
|
end
|
|
|
|
minetest.chat_send_player(name, "Players On Channel:"..s);
|
|
|
|
end;
|
|
|
|
});
|