Попытка отправить сообщение по нескольким каналам при получении сообщения с помощью discord.js v12

#discord.js

Вопрос:

Я хочу отправить сообщение на несколько каналов, используя идентификаторы каналов с любого сервера. Я пытаюсь сделать discord.js код. У меня есть файл JSON, в котором есть идентификатор многих каналов . Итак, я хочу, чтобы: если в одном из каналов кто-то отправил туда канал, затем извлеките сообщение и отправьте его на каждый канал в файле JSON (кроме канала, который получил сообщение).

discord.js v12

Файл JSON выглядит так же, как

 blablabla:["id 1","id 2","id 3 ","id 4"]
 

Комментарии:

1. Добро пожаловать в StackOverflow! Пожалуйста, сначала попытайтесь решить свою проблему, а затем отправьте вопрос, чтобы получить помощь и разъяснения по любым конкретным проблемам, с которыми вы можете столкнуться.

2. Пожалуйста, не вандализируйте свои посты. Публикуя в сети Stack Exchange, вы предоставляете SE не подлежащее отзыву право распространять этот контент (в соответствии с лицензией CC BY-SA 4.0 ). Согласно политике SE, любой вандализм будет отменен.

Ответ №1:

Вы можете сделать что-то вроде этого:

 const chList = require("pathtoJSONfile");
client.on("messageCreate", (message) => {
    if (message.author.bot) return
    let currentChannel = message.channel.id
    chList.forEach((x) => {
        if (x === currentChannel) return
        client.channels.cache.get(x).send(message.content)
    }
});
 

Что именно мы здесь делаем? Итак, мы импортируем массив идентификаторов каналов из файла JSON, о котором вы упомянули, а затем проходим по этому массиву. Каждый раз, когда мы прокручиваем его, мы пытаемся получить канал и отправить содержимое исходного сообщения ( уже похоже на шпионское ПО👀), просто заботясь id о том, совпадает ли текущий канал с одним из id s в файле JSON, мы просто используем return оператор и ничего не делаем.

Некоторые моменты, которые следует отметить.

Убедитесь, что вы правильно ввели свой путь к файлу JSON, в противном случае вы можете определить массив каналов id в одном файле следующим образом:

 const chList = ["Id1","Id2"];
 

Пожалуйста, дополнительно обратите внимание, что messageCreate слушатель может discord.js v13. Если вы используете версию ниже, вы можете просто использовать message прослушиватель.