forked from mt-mods/beerchat
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathme.lua
47 lines (44 loc) · 1.68 KB
/
me.lua
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
local me_message_string = "|#${channel_name}| * ${from_player} ${message}"
local me_override = {
params = "<Message>",
description = "Send message in the \"* player message\" format, e.g. /me eats pizza becomes |#"..
beerchat.main_channel_name.."| * Player01 eats pizza",
func = function(name, param)
local msg = param
local channel_name = beerchat.main_channel_name
if not beerchat.channels[channel_name] then
minetest.chat_send_player(name, "Channel "..channel_name.." does not exist.")
elseif msg == "" then
minetest.chat_send_player(name, "Please enter the message you would like to send.")
elseif not beerchat.playersChannels[name][channel_name] then
minetest.chat_send_player(name, "You need to join channel " .. channel_name
.. " in order to be able to send messages to it")
else
local cb_result, cb_message = beerchat.execute_callbacks('before_send_me', name, msg, channel_name)
beerchat.on_me_message(channel_name, name, msg)
if not cb_result then
if cb_message then return false, cb_message else return false end
end
for _,player in ipairs(minetest.get_connected_players()) do
local target = player:get_player_name()
-- Checking if the target is in this channel
if beerchat.is_player_subscribed_to_channel(target, channel_name) then
if not beerchat.has_player_muted_player(target, name) then
beerchat.send_message(
target,
beerchat.format_message(me_message_string, {
to_player = target,
channel_name = channel_name,
from_player = name,
message = msg
}),
channel_name
)
end
end
end
end
return true
end
}
minetest.register_chatcommand("me", me_override)