Plan a Discord bot deployment
Check shared versus own-app requirements, declared intents and optional channel permission data. Returns concrete setup steps. No Discord token, account, server or connection is inspected or changed.
Opening this form does not run the check.
Example JSON request
{
"bot_type": "undecided",
"requirements": [
"direct_messages",
"custom_avatar"
],
"manage_server": true,
"message_content_intent": false,
"shared_bot_in_server": false
}Supported fields and limits (JSON Schema)
{
"$defs": {
"DiscordChannelInput": {
"additionalProperties": false,
"properties": {
"id": {
"pattern": "^[0-9]{1,20}$",
"title": "Id",
"type": "string"
},
"type": {
"default": 0,
"enum": [
0,
5
],
"title": "Type",
"type": "integer"
},
"permission_overwrites": {
"items": {
"$ref": "#/$defs/DiscordOverwriteInput"
},
"maxItems": 15,
"title": "Permission Overwrites",
"type": "array"
}
},
"required": [
"id"
],
"title": "DiscordChannelInput",
"type": "object"
},
"DiscordOverwriteInput": {
"additionalProperties": false,
"properties": {
"id": {
"pattern": "^[0-9]{1,20}$",
"title": "Id",
"type": "string"
},
"type": {
"enum": [
0,
1
],
"title": "Type",
"type": "integer"
},
"allow": {
"default": "0",
"pattern": "^[0-9]{1,20}$",
"title": "Allow",
"type": "string"
},
"deny": {
"default": "0",
"pattern": "^[0-9]{1,20}$",
"title": "Deny",
"type": "string"
}
},
"required": [
"id",
"type"
],
"title": "DiscordOverwriteInput",
"type": "object"
},
"DiscordReplyInput": {
"additionalProperties": false,
"properties": {
"guild_id": {
"pattern": "^[0-9]{1,20}$",
"title": "Guild Id",
"type": "string"
},
"member_id": {
"pattern": "^[0-9]{1,20}$",
"title": "Member Id",
"type": "string"
},
"channel": {
"$ref": "#/$defs/DiscordChannelInput"
},
"role_permissions": {
"maxProperties": 15,
"patternProperties": {
"^[0-9]{1,20}$": {
"pattern": "^[0-9]{1,20}$",
"type": "string"
}
},
"title": "Role Permissions",
"type": "object"
},
"member_role_ids": {
"items": {
"pattern": "^[0-9]{1,20}$",
"type": "string"
},
"maxItems": 15,
"title": "Member Role Ids",
"type": "array"
},
"respond_in_threads": {
"default": false,
"title": "Respond In Threads",
"type": "boolean"
}
},
"required": [
"guild_id",
"member_id",
"channel",
"role_permissions"
],
"title": "DiscordReplyInput",
"type": "object"
}
},
"additionalProperties": false,
"properties": {
"bot_type": {
"default": "undecided",
"enum": [
"shared",
"own",
"undecided"
],
"title": "Bot Type",
"type": "string"
},
"requirements": {
"items": {
"enum": [
"direct_messages",
"custom_avatar",
"ai_actions",
"multiple_bots",
"welcome_messages"
],
"type": "string"
},
"maxItems": 5,
"title": "Requirements",
"type": "array"
},
"manage_server": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Manage Server"
},
"message_content_intent": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Message Content Intent"
},
"server_members_intent": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Server Members Intent"
},
"shared_bot_in_server": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Shared Bot In Server"
},
"application_id": {
"anyOf": [
{
"pattern": "^[0-9]{1,20}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Application Id"
},
"permissions": {
"anyOf": [
{
"$ref": "#/$defs/DiscordReplyInput"
},
{
"type": "null"
}
],
"default": null
}
},
"title": "DiscordReadinessInput",
"type": "object"
}Tool version: public-discord-readiness-v1