#node.js #visual-studio-code #discord.js
#node.js #visual-studio-code #discord.js
Вопрос:
Я пытаюсь сделать так, чтобы при перезапуске моего бота в ready.js файл, который будет искать веб-ссылки, сделанные им во всех гильдиях, в которых состоит бот, затем бот будет использовать этот веб-хук и отправлять сообщения через него. Я не смог никуда добраться, и это в JS.
Я ссылался на документацию для Discord.JS и на самом деле ничего не добились. Я попытался получить идентификатор клиента от webhook.owner
и посмотреть, совпадает ли с ним идентификатор бота. Я не уверен, как извлечь идентификатор клиента из webhook.owner
guild.fetchWebhooks()
if(webhook.owner == `${bot.user.id}`);
(предлагается)
guild.fetchWebhooks()
if(webhook.owner == `${bot.user.username}`);
(актуально)
Это единственный код, который я смог придумать, при необходимости могу добавить полный файл.
Я ожидаю, что при перезапуске бот ( bot.on
) выполнит поиск по всем гильдиям, в которых он состоит, найдет веб-хуки, которыми он владеет, и отправит сообщения через него, не делая этого другому активному веб-ху.
В итоге происходит то, что мой бот просто отправляет упоминание о боте.
Ответ №1:
Сделайте что-то вроде этого:
bot.on('ready', async () => { // on ready
await bot.guilds.forEach(async guild => { // in all guilds:
const webhooks = await guild.fetchWebhooks(); // check for Webhooks
await webhooks.forEach(async webhook => { // for all found Webhooks:
if (webhook.owner.id == bot.user.id) { // check if bot owns them
webhook.send('test'); // Do something with the Webhook example
}
});
});
});