我通过使用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) {})
})
}
提前感谢您的时间和帮助!
答案 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) {})
我认为这是最好的解决方案。