我是node.js的新手,我目前正在使用discord.js制作Discord机器人。一旦使用了任何bot命令,控制台就会显示DeprecationWarning。 例如:
(node:15656) DeprecationWarning: Collection#find: pass a function instead
(node:15656)
有时是另一个数字,几乎总是在变化。
这就是我的代码的样子(只有一个命令,我有多个命令,尽管我都收到了这个错误):
const botconfig = require("./botconfig.json")
const Discord = require("discord.js");
const bot = new Discord.Client();
bot.on("ready", () => {
console.log(`Launched ${bot.user.username}...`);
bot.user.setActivity("Games", { type: "PLAYING" });
});
bot.on("message", async message => {
if (message.author.bot) return;
let prefix = botconfig.prefix;
let messageArray = message.content.split(" ");
let cmd = messageArray[0];
let args = messageArray.slice(1);
let botico = bot.user.displayAvatarURL;
if (cmd == `${prefix}help`) {
let helpEmbed = new Discord.RichEmbed()
.addField(".kick", "kick a user", true)
.addField(".ban", "ban a user", true)
.addField(".unban", "unbans a user", true)
.addField(".mute", "mutes a user over a period of time", true)
.setColor("#005b5f")
.setThumbnail(botico);
message.channel.send(helpEmbed);
console.log(`command used: help`);
};
});
bot.login(botconfig.token)
答案 0 :(得分:12)
它在您的其他命令之一中。您极有可能在其他命令之一中使用了const A = new Map();
A.set('x', 123);
A.set('y', 345);
const B = new Map();
B.set('y', 567);
B.set('x', 789);
const C = new Map();
C.set('x', 121);
C.set('y', 232);
C.set('z', 434);
const aKeys = [...A.keys()];
const bKeys = [...B.keys()];
const cKeys = [...C.keys()];
console.log(aKeys.sort().toString() == bKeys.sort().toString());
console.log(aKeys.sort().toString() == cKeys.sort().toString());
console.log(bKeys.sort().toString() == cKeys.sort().toString());
之类的东西。
此内容已更新为#Collection.find('name', 'keyname')
。
就像在错误中说的那样。 #Collection.find()需要一个函数。因此,使用一个错误就会消失。