Implement message permission and shutup command.
This commit is contained in:
@@ -1349,6 +1349,10 @@ func setPermissions(g *group.Group, id string, perm string) error {
|
||||
c.permissions = addnew("present", c.permissions)
|
||||
case "unpresent":
|
||||
c.permissions = remove("present", c.permissions)
|
||||
case "shutup":
|
||||
c.permissions = remove("message", c.permissions)
|
||||
case "unshutup":
|
||||
c.permissions = addnew("message", c.permissions)
|
||||
default:
|
||||
return group.UserError("unknown permission")
|
||||
}
|
||||
@@ -1570,6 +1574,10 @@ func handleClientMessage(c *webClient, m clientMessage) error {
|
||||
return c.error(group.UserError("join a group first"))
|
||||
}
|
||||
|
||||
if !member("message", c.permissions) {
|
||||
return c.error(group.UserError("not authorised"))
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
|
||||
if m.Type == "chat" {
|
||||
@@ -1855,7 +1863,7 @@ func handleClientMessage(c *webClient, m clientMessage) error {
|
||||
return c.error(group.UserError("join a group first"))
|
||||
}
|
||||
switch m.Kind {
|
||||
case "op", "unop", "present", "unpresent":
|
||||
case "op", "unop", "present", "unpresent", "shutup", "unshutup":
|
||||
if !member("op", c.permissions) {
|
||||
return c.error(group.UserError("not authorised"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user