Selective Deliveries
As our first introduction to ACLs, in this section, we will employ ACLs on our messages to perform selective deliveries.
Introducing ACLs
appliedAcls: {
plusAppliedAcls: ["read_message:user(@candice)"],
minusAppliedAcls: []
}
appliedAcls: {
plusAppliedAcls: ["read_message:any_user()"],
minusAppliedAcls: ["read_message:user(@john)"]
}
Allowing mentions in your messages
sendMessage() {
const mitter = this.props.mitter
const messageToSend = this.state.typedMessage
const privateMessagePattern = /^(@[a-zA-Z0-9]+)/ // [1]
const privateMessageMatch = messageToSend.match(privateMessagePattern)
let appliedAcls = null
if (privateMessageMatch !== null) {
appliedAcls = {
plusAppliedAcls: [ // [2]
`read_message:user(${mitter.me().identifier})`,
`read_message:user(${privateMessageMatch[0]})`
]
}
}
this.setState((prevState) => Object.assign({}, prevState, {
typedMessage: ''
}))
this.messageInput.focus()
mitter.clients().messages()
.sendMessage(this.state.activeChannel, {
senderId: mitter.me(),
textPayload: this.state.typedMessage,
timelineEvents: [
{
type: "mitter.mtet.SentTime",
eventTimeMs: new Date().getTime(),
subject: mitter.me()
}
],
appliedAcls: appliedAcls // [3]
})
}

Last updated