DisQ
V1

Bots

API reference for bot-related endpoints

Bot Information

Gather information about a specific bot.

GEThttps://api.disq.ink/v1/bots/:id

Path parameters

1
NameTypeRequiredDescription
IDstringtrueID of the bot you are looking for.

Bot Votes

Retrieve the people who voted for the bot during the current month.

GEThttps://api.disq.ink/v1/bots/:id/votes

Path parameters

1
NameTypeRequiredDescription
IDstringtrueID of the bot you are looking for.

Headers

1
NameTypeRequiredDescription
AuthorizationstringtrueThe bot's API token.

Bot Stats

Update your bot's statistics on our website.

POSThttps://api.disq.ink/v1/bots/:id

Path parameters

1
NameTypeRequiredDescription
IDstringtrueID of the bot you are looking for.

Headers

2
NameTypeRequiredDescription
AuthorizationstringtrueThe bot's API token.
Content-Typestringtrueapplication/json

Body payload

2
NameTypeRequiredDescription
serverCountstringfalseThe amount of servers the bot is in.
shardsstringfalseAn array of numbers containing the amount of servers the bot is in per shard.

Bot Commands

Update your bot's commands on our website. The body payload follows the Discord Application Commands structure. See the Discord Documentation for more details.

POSThttps://api.disq.ink/v1/bots/:id/commands

Path parameters

1
NameTypeRequiredDescription
idstringtrueThe id of the bot you are updating commands for.

Headers

2
NameTypeRequiredDescription
AuthorizationstringtrueThe bot's API token.
Content-Typestringtrueapplication/json

Body payload

10
NameTypeRequiredDescription
commandsarraytrueArray of command objects (1-200 items).
commands[].idstringfalseUnique identifier for the command.
commands[].namestringtrueName of the command (1-32 characters).
commands[].typenumberfalseType of command (1-4). 1=CHAT_INPUT, 2=USER, 3=MESSAGE.
commands[].descriptionstringfalseDescription of the command (max 100 characters).
commands[].name_localizationsobjectfalseLocalized names for the command.
commands[].description_localizationsobjectfalseLocalized descriptions for the command.
commands[].optionsarrayfalseArray of command options.
commands[].default_member_permissionsstringfalseDefault permissions required to use the command.
commands[].nsfwbooleanfalseWhether the command is age-restricted.

Payload example

{
  "commands": [
    {
      "name": "help",
      "type": 1,
      "description": "Get help with bot commands and features",
      "options": [
        {
          "type": 3,
          "name": "command",
          "description": "Get help for a specific command",
          "required": false
        }
      ]
    },
    {
      "name": "ban",
      "type": 1,
      "description": "Ban a user from the server",
      "default_member_permissions": "4",
      "options": [
        {
          "type": 6,
          "name": "user",
          "description": "The user to ban",
          "required": true
        },
        {
          "type": 3,
          "name": "reason",
          "description": "Reason for the ban",
          "required": false,
          "max_length": 512
        },
        {
          "type": 4,
          "name": "delete_days",
          "description": "Number of days of messages to delete",
          "required": false,
          "min_value": 0,
          "max_value": 7,
          "choices": [
            { "name": "Don't delete", "value": 0 },
            { "name": "1 day", "value": 1 },
            { "name": "7 days", "value": 7 }
          ]
        }
      ]
    },
    {
      "name": "music",
      "type": 1,
      "description": "Music commands",
      "options": [
        {
          "type": 1,
          "name": "play",
          "description": "Play a song or playlist",
          "options": [
            {
              "type": 3,
              "name": "query",
              "description": "Song name or URL",
              "required": true,
              "autocomplete": true
            }
          ]
        },
        {
          "type": 1,
          "name": "skip",
          "description": "Skip the current song"
        },
        {
          "type": 1,
          "name": "queue",
          "description": "View the current queue"
        },
        {
          "type": 1,
          "name": "volume",
          "description": "Set the volume",
          "options": [
            {
              "type": 4,
              "name": "level",
              "description": "Volume level (0-100)",
              "required": true,
              "min_value": 0,
              "max_value": 100
            }
          ]
        }
      ]
    },
    {
      "name": "settings",
      "type": 1,
      "description": "Bot settings",
      "options": [
        {
          "type": 2,
          "name": "moderation",
          "description": "Moderation settings",
          "options": [
            {
              "type": 1,
              "name": "log-channel",
              "description": "Set the moderation log channel",
              "options": [
                {
                  "type": 7,
                  "name": "channel",
                  "description": "The channel for mod logs",
                  "required": true,
                  "channel_types": [0, 5]
                }
              ]
            },
            {
              "type": 1,
              "name": "auto-mod",
              "description": "Toggle auto-moderation",
              "options": [
                {
                  "type": 5,
                  "name": "enabled",
                  "description": "Enable or disable auto-mod",
                  "required": true
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "poll",
      "type": 1,
      "description": "Create a poll",
      "options": [
        {
          "type": 3,
          "name": "question",
          "description": "The poll question",
          "required": true,
          "min_length": 1,
          "max_length": 256
        },
        {
          "type": 3,
          "name": "option1",
          "description": "First option",
          "required": true
        },
        {
          "type": 3,
          "name": "option2",
          "description": "Second option",
          "required": true
        },
        {
          "type": 3,
          "name": "option3",
          "description": "Third option (optional)",
          "required": false
        },
        {
          "type": 8,
          "name": "ping_role",
          "description": "Role to ping for the poll",
          "required": false
        }
      ]
    },
    {
      "name": "avatar",
      "type": 1,
      "description": "Get a user's avatar",
      "options": [
        {
          "type": 6,
          "name": "user",
          "description": "The user to get the avatar of",
          "required": false
        }
      ]
    },
    {
      "name": "View Avatar",
      "type": 2
    },
    {
      "name": "Report Message",
      "type": 3
    },
    {
      "name": "nsfw-command",
      "type": 1,
      "description": "An NSFW command example",
      "nsfw": true
    }
  ]
}