Utiliser un proxy
Ce guide vous montrera comment configurer un proxy avec discord.js. Cela peut être nécessaire si vous déployez votre bot sur un serveur avec un pare-feu qui autorise uniquement le trafic externe via le proxy.
Proxier discord.js nécessite deux composants : un proxy REST et un proxy WebSocket.
Préalables
Pour obtenir ces deux composants, vous pouvez utiliser les paquets undici et global-agent :
npm install undici global-agentConfiguration du proxy pour les appels REST
Le paquet @discordjs/rest qui gère les requêtes HTTP dans discord.js utilise le paquet undici. En conséquence, vous pouvez fournir une configuration ProxyAgent personnalisée au constructeur du client :
const { ProxyAgent } = require('undici');
const { Client } = require('discord.js');
const client = new Client({
// ...other client options
rest: {
agent: new ProxyAgent('http://my-proxy-server:port'),
},
});
client.login('your-token-goes-here');Pour plus d'informations sur le ProxyAgent d'undici, veuillez vous référer à la documentation undici.
Configuration du proxy pour la connexion WebSocket
Pour configurer un proxy pour WebSocket, vous pouvez utiliser le paquet global-agent. Vous devrez importer et appeler la fonction bootstrap() et définir les globals GLOBAL_AGENT requis comme illustré ci-dessous :
const { ProxyAgent } = require('undici');
const { Client } = require('discord.js');
const { bootstrap } = require('global-agent');
bootstrap();
global.GLOBAL_AGENT.HTTP_PROXY = 'http://my-proxy-server:port';
global.GLOBAL_AGENT.HTTPS_PROXY = 'https://my-proxy-server:port';
const client = new Client({
// ...other client options
rest: {
agent: new ProxyAgent('http://my-proxy-server:port'),
},
});
client.login('your-token-goes-here');API REST
Les API REST sont extrêmement populaires sur le web et vous permettent de récupérer gratuitement les données d'un site s'il dispose d'une API disponible via...
Personnalisation du Cache
Parfois, vous aimeriez pouvoir personnaliser le comportement de mise en cache de discord.js afin de réduire l'utilisation de la mémoire.