Files
discord.js/packages/rest
ckohen 8f4256db8a refactor(REST): remove double classing (#9722)
* refactor(REST): remove double classing

BREAKING CHANGE: `REST` and `RequestManager` have been combined, most of the properties, methods, and events from both classes can now be found on `REST`
BREAKING CHANGE: `REST#raw` has been removed in favor of `REST#queueRequest`
BREAKING CHANGE: `REST#getAgent` has been removed in favor of `REST#agent`

* chore: update for /rest changes
2023-07-25 08:40:21 +00:00
..
2023-05-03 02:14:22 +02:00
2023-05-03 02:14:22 +02:00
2023-05-03 02:14:22 +02:00
2023-04-02 01:55:39 +02:00
2022-09-08 01:46:41 +02:00
2023-07-19 11:59:42 +02:00
2022-06-19 13:19:24 +02:00


discord.js


Discord server npm version npm downloads Tests status Code coverage

Vercel Cloudflare Workers

About

@discordjs/rest is a module that allows you to easily make REST requests to the Discord API.

Installation

Node.js 16.9.0 or newer is required.

Note: native fetch (not recommended) is unavailable in this node version, either use a newer node version or use the more performant undiciRequest strategy (default)

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

Examples

Install all required dependencies:

npm install @discordjs/rest discord-api-types
yarn add @discordjs/rest discord-api-types
pnpm add @discordjs/rest discord-api-types

Send a basic message:

import { REST } from '@discordjs/rest';
import { Routes } from 'discord-api-types/v10';

const rest = new REST({ version: '10' }).setToken(TOKEN);

try {
	await rest.post(Routes.channelMessages(CHANNEL_ID), {
		body: {
			content: 'A message via REST!',
		},
	});
} catch (error) {
	console.error(error);
}

Create a thread from an existing message to be archived after 60 minutes of inactivity:

import { REST } from '@discordjs/rest';
import { Routes } from 'discord-api-types/v10';

const rest = new REST({ version: '10' }).setToken(TOKEN);

try {
	await rest.post(Routes.threads(CHANNEL_ID, MESSAGE_ID), {
		body: {
			name: 'Thread',
			auto_archive_duration: 60,
		},
	});
} catch (error) {
	console.error(error);
}

Send a basic message in an edge environment:

import { REST } from '@discordjs/rest';
import { Routes } from 'discord-api-types/v10';

const rest = new REST({ version: '10', makeRequest: fetch }).setToken(TOKEN);

try {
	await rest.post(Routes.channelMessages(CHANNEL_ID), {
		body: {
			content: 'A message via REST from the edge!',
		},
	});
} catch (error) {
	console.error(error);
}

Contributing

Before creating an issue, please ensure that it hasn't already been reported/suggested, and double-check the documentation.
See the contribution guide if you'd like to submit a PR.

Help

If you don't understand something in the documentation, you are experiencing problems, or you just need a gentle nudge in the right direction, please don't hesitate to join our official discord.js Server.