Locked & classified visibility
Two fields control who can see a logbook entry:locked— an array of role ids allowed to view/unlock the entry.classified— an array of role ids allowed to view a classified entry.
{}) means no restriction. You provide these role ids when creating an entry, and getLogbookEntries returns them back as arrays.
Legacy entries created before role-scoped visibility stored a plain boolean. When such an entry is read, its
locked / classified value is returned as the single-element array { "legacy_role" } instead of a boolean.createLogbookEntry
Creates a new logbook entry (warning, ban, mute, rank lock, etc.) for a user. Every side effect the dashboard would run also runs here: rank changes on suspensions and demotions, optional machine bans, Discord DMs to the target, Actions engine emits, and an audit trail entry.Parameters
Player | table | number
required
Who is issuing the entry. See the actor object.
Player | number | string
required
The user receiving the entry. Accepts a
Player instance or a raw UserId.table
required
Entry options.
Returns
table | nil
The created entry payload from the dashboard on success, or
nil if the request was rejected or the backend was unreachable.Example
getLogbookEntries
Fetches a user’s logbook entries, optionally filtered by type and active state.Parameters
number | string
required
The
UserId whose entries to fetch.table
Optional filters.
Returns
object[]
An array of logbook entries. Empty if none match or the request failed.
Example
checkranklock
Convenience check for whether a user currently has an active rank lock (rlock) entry. Equivalent to calling getLogbookEntries with type = "rlock" and active = true and testing for results, just shorter and faster to write.
Parameters
number | string
required
The
UserId to check.Returns
boolean
true if the user has at least one active rank lock, otherwise false.
