Fix incorrect API usage or irc mod.
[insidethebox.git] / mods / announce / init.lua
blob83caa7f8cd2d2bb856144668a06fe3028291d29d
2 --[[
4 announce mod for minetest
6 Copyright (C) 2019 Auke Kok <sofar@foo-projects.org>
8 Permission to use, copy, modify, and/or distribute this software for
9 any purpose with or without fee is hereby granted, provided that the
10 above copyright notice and this permission notice appear in all copies.
12 THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
13 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY
15 SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
17 AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
18 OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20 ]]--
22 announce = {}
24 function announce.all(msg)
25 minetest.log("action", msg)
26 minetest.chat_send_all(msg)
27 if irc then
28 irc.say(msg)
29 end
30 end
32 function announce.player(name, msg)
33 minetest.log("action", "announce to " .. name .. ": " .. msg)
34 minetest.chat_send_player(name, msg)
35 if irc and irc.joined_players[name] then
36 irc.say(name, msg)
37 end
38 end
40 function announce.admins(msg)
41 minetest.log("action", "admin announce: " .. msg)
42 if not irc then
43 return
44 end
45 local irclist = minetest.settings:get("announce_irc_admins")
46 if irclist == "" then
47 return
48 end
49 local admins = string.split(string.gsub(irclist, " ", ""), ",")
50 for _, name in pairs(admins) do
51 if irc.joined_players[name] then
52 irc.say(name, msg)
53 end
54 end
55 end