ビルダー

discord.js provides the @discordjs/buildersopen in new window package which contains a variety of utilities you can use when writing your Discord bot. To install the package, run the following command in your terminal:

npm install @discordjs/builders
yarn add @discordjs/builders
pnpm add @discordjs/builders

フォーマッター

Formatters are a set of utility functions that format input strings into the given format.

Basic Markdown

The Formatters provide functions to format strings into all the different Markdown styles supported by Discord.

const { bold, italic, strikethrough, underscore, spoiler, quote, blockQuote } = require('@discordjs/builders');
const string = 'Hello!';

const boldString = bold(string);
const italicString = italic(string);
const strikethroughString = strikethrough(string);
const underscoreString = underscore(string);
const spoilerString = spoiler(string);
const quoteString = quote(string);
const blockquoteString = blockQuote(string);
1
2
3
4
5
6
7
8
9
10

リンク

There are also two methods to format hyperlinks. hyperlink() will format the URL into a masked markdown link, and hideLinkEmbed() will wrap the URL in <>, preventing it from embedding.

const { hyperlink, hideLinkEmbed } = require('@discordjs/builders');
const url = 'https://discord.js.org/';

const link = hyperlink('discord.js', url);
const hiddenEmbed = hideLinkEmbed(url);
1
2
3
4
5

コードブロック

You can use inlineCode() and codeBlock() to turn a string into an inline code block or a regular code block with or without syntax highlighting.

const { inlineCode, codeBlock } = require('@discordjs/builders');
const jsString = 'const value = true;';

const inline = inlineCode(jsString);
const codeblock = codeBlock(jsString);
const highlighted = codeBlock('js', jsString);
1
2
3
4
5
6

タイムスタンプ

With time(), you can format UNIX timestamps and dates into a Discord time string.

const { time } = require('@discordjs/builders');
const date = new Date();

const timeString = time(date);
const relative = time(date, 'R');
1
2
3
4
5

メンション

The Formatters also contain various methods to format Snowflakes into mentions.

const { userMention, memberNicknameMention, channelMention, roleMention } = require('@discordjs/builders');
const id = '123456789012345678';

const user = userMention(id);
const nickname = memberNicknameMention(id);
const channel = channelMention(id);
const role = roleMention(id);
1
2
3
4
5
6
7

Slash command ビルダー

The slash command builder is a utility class to build slash commands without having to manually construct objects.

コマンド

Here's a simple slash command using the builder. You can collect your commands data and use it to register slash commands.

const { SlashCommandBuilder } = require('@discordjs/builders');

const command = new SlashCommandBuilder().setName('ping').setDescription('Replies with Pong!');

// Raw data that can be used to register a slash command
const rawData = command.toJSON();
1
2
3
4
5
6

オプション

This is a command with a user option.

const command = new SlashCommandBuilder()
    .setName('info')
    .setDescription('Get info about a user!')
    .addUserOption(option => option.setName('user').setDescription('The user'));



 
1
2
3
4

サブコマンド

これは二つのサブコマンドを含むコマンドです。

const command = new SlashCommandBuilder()
    .setName('info')
    .setDescription('Get info about a user or a server!')
    .addSubcommand(subcommand =>
        subcommand
            .setName('user')
            .setDescription('Info about a user')
            .addUserOption(option => option.setName('target').setDescription('The user')))
    .addSubcommand(subcommand =>
        subcommand
            .setName('server')
            .setDescription('Info about the server'));



 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
Last Updated: 2022/4/19 3:48:55