BDFD API

Public Bot Designer for Discord API.

API

Our API domain:

https://botdesignerdiscord.com/public/api

Endpoints

GET /function_list

Returns an array of function.

https://botdesignerdiscord.com/public/api/function_list
Response Example - 200
[
      ...,
      {
        "tag": "$aiQuota",
        "shortDescription": "Get remaining AI quota for this bot",
        "longDescription": "",
        "arguments": null,
        "intents": 0,
        "premium": true,
        "color": 0
    }, ... 
]

GET /callback_list

Returns an array of callback.

https://botdesignerdiscord.com/public/api/callback_list
Response Example - 200
[
      ...,
      {
        "name": "$onMessageDelete[channel ID]",
        "description": "Triggers command when user deletes message",
        "arguments": [
            {
                "name": "Channel ID",
                "description": "Channel ID of the log channel",
                "type": "Snowflake",
                "required": true
            }
        ],
        "intents": 0,
        "is_premium": false
    }, ... 
]

GET /function_tag_list

Returns an array of function tags.

https://botdesignerdiscord.com/public/api/function_tag_list
Response Example - 200
[
    "$addButton[]",
    "$addCmdReactions[]",
    "$addEmoji[]",
    "$addField[]",
    "$addMessageReactions[]",
    "$addReactions[]",
    "$addSelectMenuOption[]",
    "$addTextInput[]",
    "$addTimestamp",
    "$addTimestamp[]",
    "$aiQuota", 
    ... 
]

GET /callback_tag_list

Returns an array of callback tags.

https://botdesignerdiscord.com/public/api/callback_tag_list
Response Example - 200
[
    "$onJoined[]",
    "$onLeave[]",
    "$onMessageDelete[]",
    "$onBanAdd[]",
    "$onBanRemove[]",
    "$alwaysReply",
    "$messageContains[]",
    "$awaitedCommand[]",
    "$reaction[]",
    "$onInteraction[]",
    "$onInteraction"
]

GET /function/:function

Returns a function.

https://botdesignerdiscord.com/public/api/function/$c[]
Response Example - 200
{
    "tag": "$c[Comment]",
    "shortDescription": "Can be used to comment your code.",
    "longDescription": "",
    "arguments": [
        {
            "name": "Comment",
            "type": "String",
            "required": true,
            "empty": true
        }
    ],
    "intents": 0,
    "premium": false,
    "color": 0
}

GET /callback/:callback

Returns an array of callback tags.

https://botdesignerdiscord.com/public/api/callback/$onJoined[]
Response Example - 200
{
    "name": "$onJoined[channel ID]",
    "description": "Triggers command when user joins server",
    "arguments": [
        {
            "name": "Channel ID",
            "description": "Channel ID of the welcome channel",
            "type": "Snowflake",
            "required": true
        }
    ],
    "intents": 2,
    "is_premium": false
}

GET /emoji_alias_list

Returns a map, mapping emoji to a list of its aliases.

https://botdesignerdiscord.com/public/api/emoji_alias_list
Response Example - 200
{
    "#️⃣": [
        ":hash:",
        ":keycap_hash:"
    ],
    "*️⃣": [
        ":keycap_asterisk:",
        ":asterisk:"
    ],
    "0️⃣": [
        ":keycap_0:",
        ":zero:"
    ],
    "1️⃣": [
        ":keycap_1:",
        ":one:"
    ], 
    ... 
}

Intents

  • 0: None
  • 2: Member Intent
  • 256: Presence Intent

What is this?

Read more about intents in the our “Gateway Intents” guide.

Data Structures

  • Can be empty? means the field can be set to a default value.
  • Can be omitted? means the field might not be included in the response.

Function

Field nameTypeDescriptionCan be empty?Can be omitted?
tagStringFunction nameFalseFalse
shortDescriptionStringDescription for a function without parametersTrueFalse
longDescriptionStringDescription for a function with parametersTrueFalse
argumentsArray of ParametersParameters needed by a functionTrueFalse
intentsIntegerDiscord intents needed by bot to execute this functionFalseFalse
premiumBoolFunction needs premiumFalseFalse
deprecatedBoolFunction is deprecatedFalseTrue
deprecatedForStringName of the function that should be used insteadFalseTrue

Parameters

Field nameTypeDescriptionCan be omitted?
nameStringParameter nameFalse
descriptionStringDescription for a function’s parameterTrue
typeString Parameter TypesParameter type. | is used for a compound typeFalse
requiredboolParameter is requiredFalse
tupleTypesArray of ParametersArray of parameters which can be repeated, i.e Channel ID;Message ID;Channel ID;Message ID;...True
emptyBoolParameter can be emptyTrue
ellipsisBoolParameter accepts more data, i.e Username 1;Username 2;Username 3;...True
enumDataArray of StringsPossible options accepted as parameter, i.e primary/secondary/or/etcTrue

Parameter Types

Multiple types can be merged together with | (OR).
Possible parameter types:

  • String
  • Integer
  • Float
  • Snowflake
  • Bool
  • Color
  • Permission
  • Duration
  • HowMany (>, 2, <, etc)
  • URL
  • Enum
  • Tuple