Versions in this module Expand all Collapse all v0 v0.1.1 Nov 19, 2024 v0.0.1 Apr 29, 2023 Changes in this version + const AllPermissions + const BanPermission + const CachedPermission + const EnterPermission + const KickPermission + const LinkChannelPermission + const MakeChannelPermission + const MovePermission + const MuteDeafenPermission + const NonePermission + const RegisterPermission + const SelfRegisterPermission + const SpeakPermission + const TempChannelPermission + const TextMessagePermission + const TraversePermission + const WhisperPermission + const WritePermission + func GroupMemberCheck(current *Context, acl *Context, name string, user User) (ok bool) + func HasPermission(ctx *Context, user User, perm Permission) bool + type ACL struct + Allow Permission + ApplyHere bool + ApplySubs bool + Deny Permission + Group string + UserId int + func (acl *ACL) IsChannelACL() bool + func (acl *ACL) IsUserACL() bool + type Channel interface + ChannelId func() int + type Context struct + ACLs []ACL + Groups map[string]Group + InheritACL bool + Parent *Context + func (ctx *Context) GroupNames() []string + type Group struct + Add map[int]bool + Inherit bool + Inheritable bool + Name string + Remove map[int]bool + Temporary map[int]bool + func EmptyGroupWithName(name string) Group + func (group *Group) AddContains(id int) (ok bool) + func (group *Group) AddUsers() []int + func (group *Group) MembersInContext(ctx *Context) map[int]bool + func (group *Group) RemoveContains(id int) (ok bool) + func (group *Group) RemoveUsers() []int + func (group *Group) TemporaryContains(id int) (ok bool) + type Permission uint32 + func (perm Permission) Clean() Permission + func (perm Permission) IsCached() bool + type User interface + ACLContext func() *Context + CertHash func() string + Session func() uint32 + Tokens func() []string + UserId func() int