0
我已經想出瞭如何使用Discord.JS的.bulkDelete(),但是我怎麼去計算被刪除的消息呢?Discord.JS .bulkDelete()計數消息已刪除
對不起,如果你想要更多的信息,評論和我會添加它。
我已經想出瞭如何使用Discord.JS的.bulkDelete(),但是我怎麼去計算被刪除的消息呢?Discord.JS .bulkDelete()計數消息已刪除
對不起,如果你想要更多的信息,評論和我會添加它。
望着bulkDelete源不返回一個值
/**
* Bulk delete given messages that are newer than two weeks.
* <warn>This is only available when using a bot account.</warn>
* @param {Collection<Snowflake, Message>|Message[]|number} messages Messages or number of messages to delete
* @param {boolean} [filterOld=false] Filter messages to remove those which are older than two weeks automatically
* @returns {Promise<Collection<Snowflake, Message>>} Deleted messages
*/
bulkDelete(messages, filterOld = false) {
if (!isNaN(messages)) return this.fetchMessages({ limit: messages }).then(msgs => this.bulkDelete(msgs, filterOld));
if (messages instanceof Array || messages instanceof Collection) {
let messageIDs = messages instanceof Collection ? messages.keyArray() : messages.map(m => m.id);
if (filterOld) {
messageIDs = messageIDs.filter(id =>
Date.now() - Snowflake.deconstruct(id).date.getTime() < 1209600000
);
}
return this.client.api.channels[this.id].messages['bulk-delete']
.post({ data: { messages: messageIDs } })
.then(() =>
this.client.actions.MessageDeleteBulk.handle({
channel_id: this.id,
ids: messageIDs,
}).messages
);
}
throw new TypeError('MESSAGE_BULK_DELETE_TYPE');
}
所有你能做的就是重新創建批量刪除功能,或擴展你與使用對象的自己的函數返回可批量刪除的文件數量。
沿東西(未經測試)的線路:
findEglibleForDeletion(messages, filterOld = false) {
if (!isNaN(messages)) return this.fetchMessages({ limit: messages }).length;
if (messages instanceof Array || messages instanceof Collection) {
let messageIDs = messages instanceof Collection ? messages.keyArray() : messages.map(m => m.id);
if (filterOld) {
messageIDs = messageIDs.filter(id =>
Date.now() - Snowflake.deconstruct(id).date.getTime() < 1209600000
);
}
return messageIDs.length;
}
throw new TypeError('MESSAGE_BULK_DELETE_TYPE');
}
您好,感謝那個;我應該把它放在TextBasedChannel.js中,如果我應該; 「(節點:3631)UnhandledPromiseRejectionWarning:未處理的承諾拒絕(拒絕ID:1):TypeError:message.channel.findEglibleForDeletion不是函數」。感謝您的快速答覆BTW! :D –
你把它放在基於文本的通道類中嗎?如果是這樣,它應該與批量刪除一樣工作。你清除了緩存嗎? – Tschallacka