Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

const Discord = require('discord.js');

exports.run = (client, message, args) => {
        let text = args.join(" ");
        let o02 = message.guild.channels.find(x => x.name === "inter-serveur");
        if(!o02) {return message.channel.send("Le channel inter-serveur est introuvable")}
        if(!text) {return message.channel.send("Merci d'écrire un message qui sera envoyé à tous les serveurs où je suis.")}
        if(message.channel.name != "inter-serveur") { return message.reply("Commande a effectuer dans un channel inter-serveur")}
        client.channels.get(x => x.name === "inter-serveur").map[channel => channel.send("COUGHTEST")]
    }
exports.help = {
        name: 'is'
};

Ce que je veux

que quand on fait !is <monmessage> il soit envoyé dans tous les channels possédant le nom inter-serveur

Ce que j'obtiens

TypeError: client.channels.find(...).map is not a function
    at Object.exports.run (c:\Users\raph6\OneDrive\Bureau\ComBot\Commandes\interserveur.js:9:63)
    at module.exports (c:\Users\raph6\OneDrive\Bureau\ComBot\Events\message.js:14:17)
    at Client.emit (events.js:210:5)
    at MessageCreateHandler.handle (c:\Users\raph6\OneDrive\Bureau\ComBot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
    at WebSocketPacketManager.handle (c:\Users\raph6\OneDrive\Bureau\ComBot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65)
    at WebSocketConnection.onPacket (c:\Users\raph6\OneDrive\Bureau\ComBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (c:\Users\raph6\OneDrive\Bureau\ComBot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (c:\Users\raph6\OneDrive\Bureau\ComBot\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:210:5)
    at Receiver.receiverOnMessage (c:\Users\raph6\OneDrive\Bureau\ComBot\node_modules\ws\lib\websocket.js:789:20)

Vous l'aurez compris,c'est un problème avec le .map

3 réponses


Kareylo
Réponse acceptée

Ce que dit le code d'erreur, c'est que ton client.channels.get() retourne undefined, ce qui fait que ça plante derrière.

As-tu essayé avec la méthode "filter", plutôt ?
Discord.js - Collection Filter

Merci infiniement :D
Juste,j'ai mis message.content et le bot redit la commande d'invocation,à savoir !is. c'est possible de supprimer celle-ci pour juste garder le message sans la commande ?
Merci d'avance

Il te suffit de split ton content à l'espace et de supprimer le premier élément.

const parts = message.content.split(' ');
parts.shift();
const content = parts.join(' ');