Node.js 正在尝试从频道id获取帮会
我尝试过以下代码:Node.js 正在尝试从频道id获取帮会,node.js,discord.js,Node.js,Discord.js,我尝试过以下代码: module.exports = async (client, channel) => { if (channel.type === "dm" || channel.type === "group") return; var guild; client.guilds.forEach(e => { e.fetchAuditLogs({type: 'CHANNEL_DELETE'}) .then(audit => {
module.exports = async (client, channel) => {
if (channel.type === "dm" || channel.type === "group") return;
var guild;
client.guilds.forEach(e => {
e.fetchAuditLogs({type: 'CHANNEL_DELETE'})
.then(audit => {
if (audit.entries.first().id === channel.id) guild = e;
});
});
if (!guild) return;
};
我想获得通过事件参数传递的频道id的名称。这是在channelDelete事件中,因此我无法执行
client.channels.get(channel.id)
,因为该id在该集合中不存在。我需要从审计日志中获取信息
问题是,我觉得这是对API的过度使用,或者可能有一种更好的方法,而不必遍历这个机器人所在的每个帮会
此外,实际代码也不能按预期工作。如果(!guild)返回,它似乎到达了代码>在实际循环完成之前,这意味着它将始终返回
那么,我该如何使代码一步一步地流动,这样它就不会一直返回,或者在代码不那么密集的地方改进代码(如果此方法在API/主机上是密集的)。您可以简单地引用,而不是试图从客户机的缓存中获取公会
为了便于将来参考,若要跳过循环中的值,应使用而不是return