Discord JS删除频道上的Webhook

时间:2020-08-16 20:05:05

标签: javascript discord.js

我通过使用Java脚本和discord.js学到了一些东西,但是我遇到了一些问题

如果我提到某人,并且我正在用他的用户名+头像创建一个Webhook并发送我想要的消息,则我正在执行一个有趣的命令

代码正常工作,但是在创建10个Webhook之后我无法继续使用命令,是否可以在使用Webhook之后将其删除,或者仅删除通道上的所有Webhook?

我正在使用节点,并且已经安装了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 个答案:

答案 0 :(得分:1)

是的,您可以使用resultJavaRDD.repartition.collect(); ,然后使用forEach循环将其全部删除:

channel.fetchWebhooks()

您还可以替换:

if(message.content === 'delete-webbooks'){
   message.channel.fetchWebhooks().then((webhooks) => {
       webhooks.forEach((wh) => wh.delete());
   });
}

作者:

.then(function(response) {})

我认为这是最好的解决方案。