#javascript #discord.js
#javascript #discord.js
Вопрос:
я немного разбираюсь в java script и discord.js и у меня небольшая проблема
Я делаю забавную команду, если я упоминаю кого-то и сообщение, это создать webhook с его именем пользователя аватар и отправить сообщение, которое я хочу
Код работает, но после создания 10 webhooks я не могу продолжать использовать команды, возможно ли удалить webhook после его использования или просто удалить все webhook на канале?
Я использую node, и у меня есть install hookcord для отправки сообщения с помощью webhooks
мой код:
if (message.content.startsWith(prefix "say")) //say something like if it's a member
{
message.delete()
args[0] = message.mentions.members.first()
var usermentions = args[0]
let msg = args[1];
message.channel.createWebhook(usermentions.displayName, usermentions.user.displayAvatarURL).then(wb =>
{
var hookcord = require('hookcord');
var Hook = new hookcord.Hook()
.setLink(`https://discordapp.com/api/webhooks/${wb.id}/${wb.token}`)
.setPayload({
'title': usermentions.displayName,
'avatar': usermentions.user.displayAvatarURL,
'content': msg
})
.fire()
.then(function(response) {})
.catch(function(e) {})
})
}
Заранее спасибо за потраченное время и вашу помощь!
Ответ №1:
Да, вы можете использовать channel.fetchWebhooks()
, а затем использовать цикл forEach для удаления их всех:
if(message.content === 'delete-webbooks'){
message.channel.fetchWebhooks().then((webhooks) => {
webhooks.forEach((wh) => wh.delete());
});
}
Вы также можете заменить:
.then(function(response) {})
Автор::
.then(function(response) {
wb.delete();
})
Я думаю, что это лучшее решение.
Комментарии:
1. Спасибо вам, это работает!! но у меня снова возникает один вопрос, когда я создаю свой код типа: /say @user Привет, я бот, отображается только сообщение Привет, а не я бот, вы знаете, почему?
2. Заменить
let msg = args[1];
наlet msg = args.slice(1).join(" ");