-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
43 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--luacheck: no_unused_args | ||
|
||
--[[ TODO: | ||
* Move rest of password stuff from chatcommands. | ||
* Possibly also move channel invitation commands here. | ||
* Add simple channel ACLs. Invite command to add users, kick command to remove users. | ||
* Build simple RBAC on top of that to allow multiple managers / role based permissions for users. | ||
--]] | ||
|
||
beerchat.register_callback('after_joinplayer', function(player) | ||
-- CHECK ACTIVE CHANNEL ACL HERE AND TAKE ACTION IF NEEDED | ||
end) | ||
|
||
beerchat.register_callback('before_invite', function(name, recipient, channel) | ||
-- INJECT EVERYTHING THAT IS REQUIRED TO HAVE FULL ACCESS TO CHANNEL SO THAT | ||
-- PLAYERS WITH THE FORCE CAN MOVE ANYONE TO ANY CHANNEL, ALSO TO LOCKED CHANNELS. | ||
end) | ||
|
||
beerchat.register_callback('before_join', function(name, channel_name, options) | ||
local channel = beerchat.channels[channel_name] | ||
if channel.password and channel.password ~= "" then | ||
if not options or not options.password or options.password == "" then | ||
return false, "ERROR: This channel requires that you supply a password. " | ||
.. "Supply it in the following format: /jc my channel,password01" | ||
end | ||
if options.password ~= channel.password then | ||
return false, "ERROR: Invalid password." | ||
end | ||
end | ||
end) | ||
|
||
beerchat.register_callback('before_switch_chan', function(name, oldchannel, newchannel) | ||
-- COULD BE USED TO REVALIDATE ACCESS IF NEEDED, PROBABLY NOT NEEDED | ||
-- IF KICKING PLAYERS FROM CHANNELS IS ALSO ADDED. | ||
end) | ||
|
||
beerchat.register_callback('on_forced_join', function(name, target, channel, from_channel) | ||
-- INJECT EVERYTHING THAT IS REQUIRED TO HAVE FULL ACCESS TO CHANNEL SO THAT | ||
-- PLAYERS WITH THE FORCE CAN MOVE ANYONE TO ANY CHANNEL, ALSO TO LOCKED CHANNELS. | ||
end) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters