forked from minetest-mods/irc
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
1717544af0
|
@ -9,3 +9,6 @@ rm -fr "$destdir";
|
||||||
|
|
||||||
echo cp -fr Build/irc "\"$destdir\"";
|
echo cp -fr Build/irc "\"$destdir\"";
|
||||||
cp -fr Build/irc "$destdir";
|
cp -fr Build/irc "$destdir";
|
||||||
|
|
||||||
|
echo cp -f dists/* ~/Dropbox/Public/;
|
||||||
|
cp -f dists/* ~/Dropbox/Public/;
|
||||||
|
|
|
@ -7,7 +7,7 @@ cd "`dirname "$0"`/..";
|
||||||
basedir="`pwd`";
|
basedir="`pwd`";
|
||||||
cd "$t";
|
cd "$t";
|
||||||
|
|
||||||
ver=0.1.0;
|
ver=0.1.2;
|
||||||
|
|
||||||
do_make() # [PLATFORM]
|
do_make() # [PLATFORM]
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
-- *************************
|
-- *************************
|
||||||
-- ** BASIC USER SETTINGS **
|
-- ** BASIC USER SETTINGS **
|
||||||
-- *************************
|
-- *************************
|
||||||
|
@ -41,7 +40,9 @@ mt_irc.message_format_in = "<$(name)@IRC> $(message)";
|
||||||
mt_irc.debug = true;
|
mt_irc.debug = true;
|
||||||
|
|
||||||
-- Whether to automatically join the channed when player joins
|
-- Whether to automatically join the channed when player joins
|
||||||
-- (boolean, default false)
|
-- (boolean, default false)
|
||||||
|
-- For now leave this false if using autoconnect. Bot will join channel when first user
|
||||||
|
-- types the /join command in game.
|
||||||
mt_irc.connect_on_join = false;
|
mt_irc.connect_on_join = false;
|
||||||
|
|
||||||
-- Whether to automatically connect to the server on mod load
|
-- Whether to automatically connect to the server on mod load
|
||||||
|
|
31
src/init.lua
31
src/init.lua
|
@ -71,20 +71,26 @@ minetest.register_globalstep(function ( dtime )
|
||||||
end
|
end
|
||||||
irc.poll();
|
irc.poll();
|
||||||
mt_irc.cur_time = mt_irc.cur_time - mt_irc.dtime;
|
mt_irc.cur_time = mt_irc.cur_time - mt_irc.dtime;
|
||||||
local plys = minetest.get_connected_players();
|
--local plys = minetest.get_connected_players();
|
||||||
--Source of flooding in these lines
|
--if ((#plys <= 0) and (minetest.is_singleplayer())) then
|
||||||
--However, bot will not connect to a channel but can PM across minetest and IRC to users ust fine.
|
-- minetest.after(1.0, function ( )
|
||||||
-- if (#plys <= 0) then -- Just in case :)
|
-- irc.quit("Closing.");
|
||||||
-- irc.quit("Closing.");
|
-- end)
|
||||||
-- end
|
--end
|
||||||
end
|
end
|
||||||
end);
|
end);
|
||||||
|
|
||||||
|
local function do_connect ( )
|
||||||
|
end
|
||||||
|
|
||||||
minetest.register_on_joinplayer(function ( player )
|
minetest.register_on_joinplayer(function ( player )
|
||||||
|
|
||||||
irc.register_callback("connect", function ( )
|
irc.register_callback("connect", function ( )
|
||||||
irc.join(mt_irc.channel);
|
irc.join(mt_irc.channel);
|
||||||
irc.say(mt_irc.channel, "*** "..player:get_player_name().." joined the game");
|
irc.say(mt_irc.channel, "*** "..player:get_player_name().." joined the game");
|
||||||
|
for _,player in ipairs(minetest.get_connected_players()) do
|
||||||
|
mt_irc.connected_players[player:get_player_name()] = mt_irc.connect_on_join;
|
||||||
|
end
|
||||||
end);
|
end);
|
||||||
|
|
||||||
irc.register_callback("channel_msg", function ( channel, from, message )
|
irc.register_callback("channel_msg", function ( channel, from, message )
|
||||||
|
@ -134,14 +140,12 @@ minetest.register_on_joinplayer(function ( player )
|
||||||
if (not mt_irc.connect_ok) then return; end
|
if (not mt_irc.connect_ok) then return; end
|
||||||
end);
|
end);
|
||||||
|
|
||||||
mt_irc.connected_players[player:get_player_name()] = mt_irc.connect_on_join;
|
|
||||||
|
|
||||||
end);
|
end);
|
||||||
|
|
||||||
minetest.register_on_leaveplayer(function ( player )
|
minetest.register_on_leaveplayer(function ( player )
|
||||||
if (not mt_irc.connect_ok) then return; end
|
|
||||||
local name = player:get_player_name();
|
local name = player:get_player_name();
|
||||||
mt_irc.connected_players[name] = false;
|
mt_irc.connected_players[name] = false;
|
||||||
|
if (not mt_irc.connect_ok) then return; end
|
||||||
irc.say(mt_irc.channel, "*** "..name.." left the game");
|
irc.say(mt_irc.channel, "*** "..name.." left the game");
|
||||||
end);
|
end);
|
||||||
|
|
||||||
|
@ -174,7 +178,7 @@ minetest.register_chatcommand("msg", {
|
||||||
local name = param:sub(1, pos - 1);
|
local name = param:sub(1, pos - 1);
|
||||||
local msg = param:sub(pos + 1);
|
local msg = param:sub(pos + 1);
|
||||||
local t = {
|
local t = {
|
||||||
name=nick;
|
name=name;
|
||||||
message=msg;
|
message=msg;
|
||||||
};
|
};
|
||||||
local text = mt_irc.message_format_out:gsub("%$%(([^)]+)%)", t)
|
local text = mt_irc.message_format_out:gsub("%$%(([^)]+)%)", t)
|
||||||
|
@ -214,6 +218,9 @@ minetest.register_chatcommand("join", {
|
||||||
return;
|
return;
|
||||||
end
|
end
|
||||||
mt_irc.connected_players[name] = true;
|
mt_irc.connected_players[name] = true;
|
||||||
|
-- Best way I could get bot to autojoin channel was to add the irc.join function here.
|
||||||
|
-- Bot won't connect until the first user joins. The bot will not disconect if last player leaves.
|
||||||
|
irc.join(mt_irc.channel);
|
||||||
minetest.chat_send_player(name, "IRC: You are now in the channel.");
|
minetest.chat_send_player(name, "IRC: You are now in the channel.");
|
||||||
end;
|
end;
|
||||||
});
|
});
|
||||||
|
@ -242,4 +249,8 @@ if (mt_irc.connect_on_load) then
|
||||||
timeout = mt_irc.timeout;
|
timeout = mt_irc.timeout;
|
||||||
channel = mt_irc.channel;
|
channel = mt_irc.channel;
|
||||||
});
|
});
|
||||||
|
if (not mt_irc.connect_ok) then
|
||||||
|
local s = "DEBUG: irc.connect failed";
|
||||||
|
minetest.chat_send_all(s);
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user