This file documents the Minetest IRC mod API.
In order to allow your mod to interface with this mod, you must add irc
to your mod's depends.txt
file.
irc.say([name,] message) Sends to either the channel (if is nil or not specified), or to the given user (if is specified). Example: irc.say("Hello, Channel!") irc.say("john1234", "How are you?")
irc.register_bot_command(name, cmdDef) Registers a new bot command named . When an user sends a private message to the bot with the command name, the command's function is called. Here's the format of a command definition (): cmdDef = { params = " ...", -- A description of the command's parameters description = "My command", -- A description of what the command does. (one-liner) func = function(user, args) -- This function gets called when the command is invoked. -- is a user table for the user that ran the command. -- (See the LuaIRC documentation for details.) -- It contains fields such as 'nick' and 'ident' -- is a string of arguments to the command (may be "") -- This function should return boolean success and a message. end, }; Example: irc.register_bot_command("hello", { params = "", description = "Greet user", func = function(user, param) return true, "Hello!" end, });
irc.joined_players[name] This table holds the players who are currently on the channel (may be less than the players in the game). It is modified by the /part and /join chat commands. Example: if irc.joined_players["joe"] then -- Joe is talking on IRC end
irc.register_hook(name, func) Registers a function to be called when an event happens. is the name of the event, and is the function to be called. See HOOKS below for more information Example: irc.register_hook("OnSend", function(line) print("SEND: "..line) end)
This mod also supplies some utility functions:
string.expandvars(string, vars)
Expands all occurrences of the pattern "$(varname)" with the value of
'varname' in the table. Variable names not found on the table
are left verbatim in the string.
Example:
local tpl = "$(foo)
In addition, all the configuration options decribed in README.txt
are
available to other mods, though they should be considered read-only. Do
not modify these settings at runtime or you might crash the server!
The irc.register_hook
function can register functions to be called
when some events happen. The events supported are the same as the LuaIRC
ones with a few added (mostly for internal use).
See src/LuaIRC/doc/irc.luadoc for more information.