这个JS阵列有什么问题?

时间:2020-05-31 14:38:20

标签: javascript discord discord.js

我的Discord机器人具有以下代码段。第一部分工作并将URL输出到控制台,因此我知道输出是什么。我相信问题出在我的数组和if语句上。我不是正确设置阵列还是检查阵列是否正确?

我的测试是我有一个空的Discord服务器和一个没有配置文件图片的测试帐户。我加入了该服务器,输出到控制台的是URL,URL后面有4个,因此我知道它已包含在列表中并与之完全匹配。问题在于该禁令永远不会发生,并且不会引发任何错误,因此我不确定包含部分是否将其取消。任何帮助将不胜感激!

编辑:我有一种感觉,它正在检查数组中是否所有URL都在那里,并且我需要更改代码以检查其中是否有任何URL,但是我可能是错的。

client.on("guildMemberAdd", (member) => {
	console.log(member.user.defaultAvatarURL)
});


client.on("guildMemberAdd", (member) => {
	const defaultURLs = ["https://cdn.discordapp.com/embed/avatars/0.png",
		"https://cdn.discordapp.com/embed/avatars/1.png",
		"https://cdn.discordapp.com/embed/avatars/2.png",
		"https://cdn.discordapp.com/embed/avatars/3.png",
		"https://cdn.discordapp.com/embed/avatars/4.png"]
	if (member.user.defaultAvatarURL.includes(defaultURLs)) {
        member.ban({ days: 7, reason: 'No Profile Pic' })
    }
});

1 个答案:

答案 0 :(得分:0)

回答include方法。应该是其他方式了。您可以在这里https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes

了解更多信息
client.on("guildMemberAdd", (member) => {
    const defaultURLs = ["https://cdn.discordapp.com/embed/avatars/0.png",
        "https://cdn.discordapp.com/embed/avatars/1.png",
        "https://cdn.discordapp.com/embed/avatars/2.png",
        "https://cdn.discordapp.com/embed/avatars/3.png",
        "https://cdn.discordapp.com/embed/avatars/4.png"]
     if (defaultURLs.includes(member.user.defaultAvatarURL)) { 
    member.ban({ days: 7, reason: 'No Profile Pic' }) }

});

Please see image for clarifications