Skip channel named 1 for chat_unjail (#44)

master
SX 2021-05-08 22:06:13 +03:00 committed by GitHub
parent ffbc154df2
commit ae102b03a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 2 deletions

View File

@ -79,8 +79,8 @@ beerchat.jail.chat_unjail = function(name, param)
-- Release player from chat jail
local from_channel = beerchat.get_player_channel(player_name) or beerchat.main_channel_name
local to_channel = player:get_meta():get("beerchat:jailed") or beerchat.main_channel_name
if to_channel == beerchat.jail.channel_name then
-- Always remove player from jail channel when unjailing
if to_channel == beerchat.jail.channel_name or to_channel == "1" then
-- Always remove player from jail channel when unjailing, also do not use 1 as valid channel...
to_channel = beerchat.main_channel_name
end
beerchat.set_player_channel(player_name, to_channel)

View File

@ -6,3 +6,5 @@ beerchat.colorize_channels = *
beerchat.enable_cleaner = true
beerchat.enable_announce = true
beerchat.moderator_channel_name = mod

View File

@ -90,4 +90,17 @@ describe("chat_unjail command", function()
assert.is_nil(XX:get_meta():get("beerchat:jailed"))
end)
it("restores previous channel of jailed player", function()
SX:send_chat_message("/cc notmain")
XX:send_chat_message("/jc notmain")
XX:send_chat_message("#notmain")
local oldchannel = beerchat.get_player_channel("XX")
SX:send_chat_message("/chat_jail XX")
SX:send_chat_message("/chat_unjail XX")
assert.equals("main", beerchat.get_player_channel("SX"))
assert.equals("notmain", beerchat.get_player_channel("XX"))
assert.equals("notmain", XX:get_meta():get_string("beerchat:current_channel"))
assert.is_nil(XX:get_meta():get("beerchat:jailed"))
end)
end)