Skip to main content

Bot manifest reference

Description: Defines your Bot's metadata, deployment configuration, settings, and permissions.

Example:

{
"id": "ACj4U-eThgmjXUOBAjk_jw",
"version": "1.0.0",
"package": {
"server": {
"launch": "dist/myBotMain.js",
"deploy": [
"dist"
],
"node_modules": [
"node_modules"
]
}
}
}
[Required] Property id

Title: Id

Typestring
RequiredYes
Defined inid.schema.json

Description: Unique identifier obtained from the Root Developer Portal.

Example:

{
"id": "ACj4U-eThgmjXUOBAjk_jw"
}
[Required] Property version

Title: Version

Typestring
RequiredYes
Defined inversion.schema.json

Description: Semantic version string (e.g., MAJOR.MINOR.PATCH). Your version number must be unique for each release; that is, you cannot republish a new package with a previously-used version number.

Example:

{
"version": "1.0.0"
}
[Required] Property package

Title: Package

Typeobject
RequiredYes
Additional propertiesNot allowed
Defined inpackage.bot.schema.json

Description: Deployment and startup configuration for your Bot.

Example:

{
"package": {
"server": {
"launch": "dist/myBotMain.js",
"deploy": [
"dist"
],
"node_modules": [
"node_modules"
]
}
}
}
[Required] Property server
Typeobject
RequiredYes
Additional propertiesNot allowed

Description: Configuration for launching and packaging your server.

[Required] Property launch
Typestring
RequiredYes

Description: Entry point (must be a .js file).

Example:

"dist/myBotMain.js"
[Required] Property deploy
Typearray of string
RequiredYes

Description: List of folders to include in deployment.

Each item of this array must beDescription
deploy items-
deploy items
Typestring
RequiredNo

Example:

[
"dist"
]
[Required] Property node_modules
Typearray of string
RequiredYes

Description: List of node_modules folders that must be deployed.

Each item of this array must beDescription
node_modules items-
node_modules items
Typestring
RequiredNo

Example:

[
"node_modules"
]
[Optional] Property settings

Title: Settings

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined insettings.schema.json

Description: Configurable global settings available to community administrators during and after installation.

Example:

{
"groups": [
{
"key": "general",
"title": "General",
"items": [
{
"key": "notifyOnJoin",
"title": "Notify on new join",
"description": "Send a message when someone joins the raid.",
"required": false,
"confirmation": "Update",
"checkbox": {
"defaultValue": true
}
}
]
}
]
}
[Required] Property groups
Typearray of object
RequiredYes

Description: Logical grouping of settings fields.

Each item of this array must beDescription
groups items-

groups items

Typeobject
RequiredNo
Additional propertiesAny type allowed
[Required] Property key
Typestring
RequiredYes

Description: Machine-friendly identifier for this group.

Examples:

"general"
"notifications"
[Required] Property title
Typestring
RequiredYes

Description: Human-readable title shown above this group.

Examples:

"General Settings"
"Notification Preferences"
[Required] Property items
Typearray of object
RequiredYes

Description: List of individual setting definitions in this group.

Each item of this array must beDescription
items items-
items items
Typeobject
RequiredNo
Additional propertiesNot allowed
[Required] Property key
Typestring
RequiredYes

Description: Machine-friendly setting identifier.

Examples:

"maxRaidSize"
"notifyOnJoin"
[Required] Property title
Typestring
RequiredYes

Description: Label shown to the user for this setting.

Examples:

"Maximum raid size"
"Notify on new join"
[Optional] Property description
Typestring or null
RequiredNo

Description: Optional explanatory text for this setting.

Examples:

"Set the upper limit for raid participants."
null
[Required] Property required
Typeboolean
RequiredYes

Description: Whether the user must provide a value.

Examples:

true
false
[Required] Property confirmation
Typestring
RequiredYes

Description: Text for the button users click to save this setting.

Examples:

"Save"
"Update"
[Optional] Property text
Typeobject or null
RequiredNo

Description: Configuration for a free-form text input.

[Optional] Property defaultValue
Typestring or null
RequiredNo

Description: Default text pre-filled in the input.

Examples:

"Enter a title..."
null
[Optional] Property regex
Typestring or null
RequiredNo

Description: Regular expression the input must match.

Examples:

"^[a-z0-9\\-]+$"
null
[Optional] Property number
Typeobject or null
RequiredNo

Description: Configuration for a numeric input.

[Optional] Property minValue
Typenumber or null
RequiredNo

Description: Minimum allowed value.

Examples:

1
null
[Optional] Property maxValue
Typenumber or null
RequiredNo

Description: Maximum allowed value.

Examples:

100
null
[Optional] Property step
Typenumber or null
RequiredNo

Description: Increment step.

Examples:

1
null
[Optional] Property defaultValue
Typenumber or null
RequiredNo

Description: Default numeric value.

Examples:

10
null
[Optional] Property checkbox
Typeobject or null
RequiredNo

Description: Configuration for a boolean checkbox.

[Optional] Property defaultValue
Typeboolean or null
RequiredNo

Description: Initial state of the checkbox.

Examples:

true
false
[Optional] Property member
Typeobject or null
RequiredNo

Description: Select one or more community members.

[Optional] Property multiSelect
Typeboolean
RequiredNo

Description: Allow multiple selections.

Examples:

false
true
[Optional] Property userIds
Typearray of string
RequiredNo

Description: Pre-selected user IDs.

Each item of this array must beDescription
userIds items-
userIds items
Typestring
RequiredNo

Example:

[
"user-123",
"user-456"
]
[Optional] Property role
Typeobject or null
RequiredNo

Description: Select one or more community roles.

[Optional] Property multiSelect
Typeboolean
RequiredNo

Description: Allow multiple role selections.

Examples:

false
true
[Optional] Property communityRoleIds
Typearray of string
RequiredNo

Description: Pre-selected role IDs.

Each item of this array must beDescription
communityRoleIds items-
communityRoleIds items
Typestring
RequiredNo

Example:

[
"role-abc",
"role-def"
]
[Optional] Property roleAndMember
Typeobject or null
RequiredNo

Description: Combined selector for users and roles.

[Optional] Property userIds
Typearray of string
RequiredNo
Each item of this array must beDescription
userIds items-
userIds items
Typestring
RequiredNo

Example:

[
"user-1"
]
[Optional] Property communityRoleIds
Typearray of string
RequiredNo
Each item of this array must beDescription
communityRoleIds items-
communityRoleIds items
Typestring
RequiredNo

Example:

[
"role-x"
]
[Optional] Property channel
Typeobject or null
RequiredNo

Description: Select one or more channels.

[Optional] Property multiSelect
Typeboolean
RequiredNo

Description: Allow multiple channels.

Example:

true
[Optional] Property channelIds
Typearray of string
RequiredNo
Each item of this array must beDescription
channelIds items-
channelIds items
Typestring
RequiredNo

Example:

[
"chan-1",
"chan-2"
]
[Optional] Property channelGroup
Typeobject or null
RequiredNo

Description: Select one or more channel groups.

[Optional] Property multiSelect
Typeboolean
RequiredNo

Description: Allow multiple groups.

Example:

false
[Optional] Property channelGroupIds
Typearray of string
RequiredNo
Each item of this array must beDescription
channelGroupIds items-
channelGroupIds items
Typestring
RequiredNo

Example:

[
"grp-1"
]
[Optional] Property select
Typeobject or null
RequiredNo

Description: Select from a custom list of options.

[Optional] Property multiSelect
Typeboolean
RequiredNo

Description: Allow multiple options.

Example:

false
[Optional] Property options
Typearray of object
RequiredNo

Description: List of label/value pairs.

Each item of this array must beDescription
options items-
options items
Typeobject
RequiredNo
Additional propertiesNot allowed
[Required] Property label
Typestring
RequiredYes

Description: User-facing option text.

Examples:

"Low"
"Medium"
"High"
[Required] Property value
Typestring
RequiredYes

Description: Machine value for the option.

Examples:

"low"
"medium"
"high"
[Optional] Property timestamp
Typeobject or null
RequiredNo

Description: Raw timestamp object (ISO 8601).

Example:

{
"$date": "2025-08-05T00:00:00Z"
}
[Optional] Property time
Typeobject or null
RequiredNo

Description: Time-of-day field (HH:MM:SS).

[Optional] Property defaultValue
Typestring or null
RequiredNo

Description: Default time value.

Examples:

"09:30:00"
null
[Optional] Property date
Typeobject or null
RequiredNo

Description: Date field object (YYYY-MM-DD).

[Optional] Property date
Typeobject or null
RequiredNo

Description: Raw date object.

Example:

{
"$date": "2025-08-05"
}
[Optional] Property color
Typeobject or null
RequiredNo

Description: Color picker field (hex code).

[Optional] Property defaultValue
Typestring or null
RequiredNo

Description: Default color value.

Examples:

"#ff0000"
null
[Optional] Property button
Typeobject or null
RequiredNo

Description: Action button displayed in settings.

[Optional] Property title
Typestring
RequiredNo

Description: Text shown on the button.

Example:

"Reset settings"
[Optional] Property permissions

Title: Permission

Typeobject
RequiredNo
Additional propertiesNot allowed
Defined inpermissions.schema.json

Description: The permissions your code requires in order to function correctly.

Example:

{
"permissions": {
"channel": {
"channelFullControl": true,
"channelView": true
},
"community": {
"communityFullControl": false
}
}
}
[Optional] Property community
Typeobject
RequiredNo
Additional propertiesNot allowed

Description: Permissions scoped to the community level.

[Optional] Property communityChangeMyNickname
Typeboolean
RequiredNo
Defaultfalse

Description: Change your own nickname.

[Optional] Property communityChangeOtherNickname
Typeboolean
RequiredNo
Defaultfalse

Description: Change nicknames of other members.

[Optional] Property communityCreateBan
Typeboolean
RequiredNo
Defaultfalse

Description: Ban members from the community.

[Optional] Property communityCreateChannelGroup
Typeboolean
RequiredNo
Defaultfalse

Description: Create new channel groups.

[Optional] Property communityCreateInvite
Typeboolean
RequiredNo
Defaultfalse

Description: Generate new community invites.

[Optional] Property communityFullControl
Typeboolean
RequiredNo
Defaultfalse

Description: All community-level permissions.

[Optional] Property communityKick
Typeboolean
RequiredNo
Defaultfalse

Description: Remove members from the community.

[Optional] Property communityManageApps
Typeboolean
RequiredNo
Defaultfalse

Description: Install or remove apps in the community.

[Optional] Property communityManageAuditLog
Typeboolean
RequiredNo
Defaultfalse

Description: View or clear the audit log.

[Optional] Property communityManageBans
Typeboolean
RequiredNo
Defaultfalse

Description: Unban or list banned members.

[Optional] Property communityManageCommunity
Typeboolean
RequiredNo
Defaultfalse

Description: Manage overall community settings.

[Optional] Property communityManageEmojis
Typeboolean
RequiredNo
Defaultfalse

Description: Upload or remove custom emojis.

[Optional] Property communityManageInvites
Typeboolean
RequiredNo
Defaultfalse

Description: Revoke or list existing invites.

[Optional] Property communityManageRoles
Typeboolean
RequiredNo
Defaultfalse

Description: Create or update community roles.

[Optional] Property channel
Typeobject
RequiredNo
Additional propertiesNot allowed

Description: Permissions scoped to individual channels.

[Optional] Property channelAppKick
Typeboolean
RequiredNo
Defaultfalse

Description: Remove apps from the channel.

[Optional] Property channelCreateFile
Typeboolean
RequiredNo
Defaultfalse

Description: Create new files in channels.

[Optional] Property channelCreateMessage
Typeboolean
RequiredNo
Defaultfalse

Description: Send new messages.

[Optional] Property channelCreateMessageAttachment
Typeboolean
RequiredNo
Defaultfalse

Description: Attach files to messages.

[Optional] Property channelCreateMessageMention
Typeboolean
RequiredNo
Defaultfalse

Description: Mention users in messages.

[Optional] Property channelCreateMessageReaction
Typeboolean
RequiredNo
Defaultfalse

Description: React to messages.

[Optional] Property channelDeleteMessageOther
Typeboolean
RequiredNo
Defaultfalse

Description: Delete messages sent by others.

[Optional] Property channelFullControl
Typeboolean
RequiredNo
Defaultfalse

Description: All channel permissions.

[Optional] Property channelMakeMessagePublic
Typeboolean
RequiredNo
Defaultfalse

Description: Convert private messages to public.

[Optional] Property channelManageFiles
Typeboolean
RequiredNo
Defaultfalse

Description: Upload or download files in channels.

[Optional] Property channelManagePinnedMessages
Typeboolean
RequiredNo
Defaultfalse

Description: Pin or unpin messages.

[Optional] Property channelMoveUserOther
Typeboolean
RequiredNo
Defaultfalse

Description: Move other users between voice channels.

[Optional] Property channelUseExternalEmoji
Typeboolean
RequiredNo
Defaultfalse

Description: Use emojis from other servers.

[Optional] Property channelVideoStreamMedia
Typeboolean
RequiredNo
Defaultfalse

Description: Stream video in channels.

[Optional] Property channelView
Typeboolean
RequiredNo
Defaultfalse

Description: Ability to view channel content.

[Optional] Property channelViewFile
Typeboolean
RequiredNo
Defaultfalse

Description: View files shared in channels.

[Optional] Property channelViewMessageHistory
Typeboolean
RequiredNo
Defaultfalse

Description: Read past messages.

[Optional] Property channelVoiceDeafenOther
Typeboolean
RequiredNo
Defaultfalse

Description: Deafen other users in voice channels.

[Optional] Property channelVoiceKick
Typeboolean
RequiredNo
Defaultfalse

Description: Kick users from voice channels.

[Optional] Property channelVoiceMuteOther
Typeboolean
RequiredNo
Defaultfalse

Description: Mute other users in voice channels.

[Optional] Property channelVoiceTalk
Typeboolean
RequiredNo
Defaultfalse

Description: Speak in voice channels.