Files
discord.js/packages/rest
Vlad Frangu 386f206caf feat: no-de-no-de, now with extra buns (#9683)
BREAKING CHANGE: The REST and RequestManager classes now extend AsyncEventEmitter
from `@vladfrangu/async_event_emitter`, which aids in cross-compatibility
between Node, Deno, Bun, CF Workers, Vercel Functions, etc.

BREAKING CHANGE: DefaultUserAgentAppendix has been adapted to support multiple
different platforms (previously mentioned Deno, Bun, CF Workers, etc)

BREAKING CHANGE: the entry point for `@discordjs/rest` will now differ
in non-node-like environments (CF Workers, etc.)

Co-authored-by: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com>
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
Co-authored-by: suneettipirneni <suneettipirneni@icloud.com>
2023-07-17 08:27:57 +02: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
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.