#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
прослушиватель.