1
0
mirror of https://github.com/minetest/minetest.git synced 2025-07-06 18:00:21 +02:00

Add chat message callback and send functions

This commit is contained in:
Perttu Ahola
2011-11-27 19:39:36 +02:00
parent ab3911ba9e
commit 05df2ee8a4
5 changed files with 98 additions and 1 deletions

View File

@ -147,3 +147,24 @@ minetest.register_node("ignore", {
air_equivalent = true,
})
--
-- Chat message processing
--
minetest.registered_on_chat_messages = {}
minetest.on_chat_message = function(name, message)
for i,func in ipairs(minetest.registered_on_chat_messages) do
ate = func(name, message)
if ate then
return true
end
end
return false
end
minetest.register_on_chat_message = function(func)
table.insert(minetest.registered_on_chat_messages, func)
end
-- END

View File

@ -19,8 +19,11 @@
-- minetest.register_on_newplayer(func(ObjectRef))
-- minetest.register_on_respawnplayer(func(ObjectRef))
-- ^ return true in func to disable regular player placement
-- minetest.register_on_chat_message(func(name, message))
-- minetest.setting_get(name)
-- minetest.setting_getbool(name)
-- minetest.chat_send_all(text)
-- minetest.chat_send_player(name, text)
--
-- Global objects:
-- minetest.env - environment reference
@ -1371,6 +1374,21 @@ end)
print("setting max_users = " .. dump(minetest.setting_get("max_users")))
print("setting asdf = " .. dump(minetest.setting_get("asdf")))
minetest.register_on_chat_message(function(name, message)
print("on_chat_message: name="..dump(name).." message="..dump(message))
local cmd = "/testcommand"
if message:sub(0, #cmd) == cmd then
print(cmd.." invoked")
return true
end
local cmd = "/help"
if message:sub(0, #cmd) == cmd then
print("script-overridden help command")
minetest.chat_send_all("script-overridden help command")
return true
end
end)
--
-- Done, print some random stuff
--