On this page
JavaScript API

require()

Whitelisted Node.js modules available in BDJS scripts.

require(moduleId) loads sandbox-approved modules.

Allowed modules

Module Purpose
canvas Image drawing (node-canvas)
@discordjs/voice Voice connections
crypto / node:crypto Cryptographic utilities
util / node:util Node utilities
url / node:url URL parsing
querystring / node:querystring Query string helpers
discord.js Builders only — Client is denied

Examples

const { EmbedBuilder } = require('discord.js');
const crypto = require('crypto');
const { createCanvas } = require('canvas');

Module reference

Module Documentation
discord.js discord.js builders
canvas canvas
@discordjs/voice voice
crypto randomBytes, randomUUID, randomInt, createHash, createHmac, timingSafeEqual
util inspect, format, formatWithOptions, types.is* predicates
url URL, URLSearchParams
querystring parse, stringify

crypto example

const crypto = require('crypto');
const id = crypto.randomUUID();
const hash = crypto.createHash('sha256').update('data').digest('hex');

See sandbox for the full whitelist and restrictions.