【发布时间】:2020-11-04 11:26:50
【问题描述】:
case 'mute':
var person = message.guild.member(message.mentions.users.first() || message.guild.roles.cache.find()(args[1]));
if(!person) return message.reply("That player doesn't exist!");
let mainrole = message.guild.roles.find(role => role.name === "Verified");
let role = message.guild.roles.find(role => role.name === "Mute");
if(!muterole) return message.reply("Couldn't find the mute role.");
let time = args[2];
if(!time){
return message.reply("Please didnt specify a time!");
}
person.roles.add(mainrole.id)
person.roles.remove(role.id);
message.channel.send(`@${person.user.tag} has now been muted for ${ms(ms(time))}`)
setTimeout(function(){
person.roles.add(mainrole.id)
person.roles.remove(role.id);
console.log(role.id)
message.channel.send(`@${person.user.tag} has been unmuted!`)
}, ms(time));
break;
}
});
是我的代码。
TypeError: fn 不是函数 在客户端。 (C:\Users\nippo\Desktop\aniGuesser\index.js:64:112) 在 Client.emit (events.js:327:22) 在 MessageCreateAction.handle (C:\Users\nippo\Desktop\aniGuesser\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14) 在 Object.module.exports [as MESSAGE_CREATE] (C:\Users\nippo\Desktop\aniGuesser\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32) 在 WebSocketManager.handlePacket (C:\Users\nippo\Desktop\aniGuesser\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31) 在 WebSocketShard.onPacket (C:\Users\nippo\Desktop\aniGuesser\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22) 在 WebSocketShard.onMessage (C:\Users\nippo\Desktop\aniGuesser\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10) 在 WebSocket.onMessage (C:\Users\nippo\Desktop\aniGuesser\node_modules\ws\lib\event-target.js:125:16) 在 WebSocket.emit (events.js:315:20) PS C:\Users\nippo\Desktop\aniGuesser> 节点。 aniGuesser 在线。带来蛋糕! C:\Users\nippo\Desktop\aniGuesser\node_modules@discordjs\collection\dist\index.js:160 if (fn(val, key, this)) 错误的东西。
我决定开始制作一个机器人,所以我的朋友们认为我很聪明,所以我开始观看关于如何配置这些机器人的 youtube 系列。在此过程中,我决定发出静音命令,因为为什么不这样做,但后来我收到了这个错误。在此之前,我有“message.guild.roles.get”,并且 cmets 告诉我将其更改为 message.guild.roles.cache.find 虽然这解决了我的问题,但我现在有这个错误。顺便提一句 即使我使用粘贴箱并且只更改它周围的单词仍然有这个错误。
【问题讨论】:
-
从堆栈跟踪(错误)看来,在代码的第 64 行,您有一个名为
fn的函数,该函数之前未定义。那看起来像什么? -
我不明白你的意思,一个名为 fn 的函数。我不知道这是否意味着什么,但唯一改变的是 ;在第 64 行,它什么也没做。
-
您似乎在调用一个名为
fn的东西,就好像它是一个函数一样。这看起来像fn(),类似于您调用console.log()时所做的事情。问题出在您调用fn而它实际上不是一个函数。fn之前在你的代码中定义了吗? -
当我摆脱 .find 并用 .get 替换它时,它会说:pastebin.com/tJh4Us0Y
-
您能否编辑您的问题以包含第 64 行?您提供的代码未显示错误或
fn的来源。
标签: discord.js