Вы можете выполнить эту задачу, создав файл JSON для хранения указанных каналов каждой гильдии. Затем в вашей команде просто определите канал в JSON. После этого в любом месте вашего кода вы можете найти канал, указанный владельцем гильдии, и взаимодействовать с ним.
Имейте в виду, что база данных будет лучшим выбором из-за сравнения скорости и гораздо меньшего риска повреждения. Найдите правильный вариант для себя и своего кода и замените эту настройку JSON на базу данных.
guilds.json
настройка:
{
"guildID": {
"channel": "channelID"
}
}
Код команды:
// -- Define these variables outside of the command. --
const guilds = require('./guilds.json');
const fs = require('fs');
// ----------------------------------------------------
const args = message.content.trim().split(/ +/g); // Probably already declared.
try {
if (message.author.id !== message.guild.ownerID) return await message.channel.send('Access denied.');
if (!message.mentions.channels.first()) return await message.channel.send('Invalid channel.');
guilds[message.guild.id].channel = message.mentions.channels.first().id;
fs.writeFileSync('./guilds.json', JSON.stringify(guilds));
await message.channel.send('Successfully changed channel.');
} catch(err) {
console.error(err);
}
Где-то еще:
const guilds = require('./guilds.json');
const channel = client.channels.get(guilds[message.guild.id].channel);
if (channel) {
channel.send('Found the right one!')
.catch(console.error);
} else console.error('Invalid or undefined channel.');