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 emptyCan be omitted
tagStringFunction nameFalseFalse
shortDescriptionStringDescription for a function without argumentsTrueFalse
longDescriptionStringDescription for a function with argumentsTrueFalse
argumentsArray of ArgumentsArguments 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

Argument

Field nameTypeDescriptionCan be omitted
nameStringArgument nameFalse
descriptionStringDescription for a function’s argumentTrue
typeString Argument TypesArgument type. | is used for a compound typeFalse
requiredboolArgument is requiredFalse
tupleTypesArray of ArgumentsArray of arguments which can be repeated, i.e channelID;messageID;channelID;messageID;...True
emptyBoolArgument can be emptyTrue
ellipsisBoolArgument accepts more data, i.e username1;username2;username3;...True
enumDataArray of StringsPossible options accepted as argument, i.e primary/secondary/or/etcTrue

Argument Types

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

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