blob: 665a03183db795a62b5da4f6c44853324c90225c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
caps_message_count={}
minetest.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
caps_message_count[player_name] = 0
end)
minetest.register_on_leaveplayer(function(player)
local player_name = player:get_player_name()
caps_message_count[player_name] = nil
end)
minetest.register_on_chat_message(function(name, message)
if message:len()>16 and message:lower()~=message and message:upper()==message then
caps_message_count[name] = caps_message_count[name] + 1
if caps_message_count[name]>=3 then
minetest.kick_player(name,"Sending all-caps messages is not allowed.")
minetest.chat_send_all(string.format("* %s was kicked for sending too many all-caps messages.",name))
if minetest.get_modpath("irc") then irc:say(string.format("* %s was kicked for sending too many all-caps messages.",name)) end
minetest.log("action", string.format("Kicked %s for sending too many all-caps messages",name))
else
if minetest.get_modpath("notice") then
notice.send(name,"Sending all-caps messages is not allowed")
else
minetest.chat_send_player(name,"Sending all-caps messages is not allowed.")
end
minetest.log("action",string.format("%s was warned for sending an all-caps message (%u so far)",name,caps_message_count[name]))
end
end
end)
|