Javascript 带有args的命令不';t在discord.js v12中工作
我试图做的是让命令像这样工作:Javascript 带有args的命令不';t在discord.js v12中工作,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我试图做的是让命令像这样工作:/changeicon(这里是服务器id) 我的代码: client.on(“message”,message=>{ 如果(!message.author.id==config.ownerID)返回; 如果(message.content=='/changeicon'){ var guild=client.guilds.cache.get(args[0]); guild.setIcon('./icon.jpg') }}) 这不起作用,它只是不运行命令,什么也没有发
/changeicon(这里是服务器id)
我的代码:
client.on(“message”,message=>{
如果(!message.author.id==config.ownerID)返回;
如果(message.content=='/changeicon'){
var guild=client.guilds.cache.get(args[0]);
guild.setIcon('./icon.jpg')
}})
这不起作用,它只是不运行命令,什么也没有发生,没有崩溃,也没有错误日志。这有很多问题:
message.author.id
转换为布尔值,这就好像您正在检查config.ownerID
是否等于false
/changeicon 1234567624
,则无法正常工作
args
变量,因此很难帮助您。
如果它是一个字符串,那么您将获得该字符串的第一个字符
client.guilds.cache.get(
仅当公会被缓存时才起作用(如果自上次重启bot以来该公会收到任何消息)
使用client.guilds.fetch(“id”)
client.on("message", message => {
if(message.author.id !== config.ownerID) return;
if(message.content.startsWith('/changeicon ')){
var guild = await client.guilds.fetch(args[0]);
guild.setIcon('./icon.jpg')
}
})
您不应该将
message.author.id
转换为带有!
的布尔值。如果(message.author.id!==config.ownerID),请使用if
。此外,如果消息不完全是/changeicon
,您的机器人将什么也不做。请尝试阅读上的基础知识,因为您似乎没有实现args
数组。正如@Zslot Meszaros所说,您可以检查/changeicon
。如果使用其他输入,则不会触发if语句“将我重定向到其他网站并不能真正帮助我“你为什么这么认为?你的代码充满了错误,我提供的链接可以解决你的问题。StackOverflow不是一个免费的代码编写服务。如果你在开始发布之前花些时间阅读网页,了解网站的工作方式,你会发现你在这里的体验会更好。”。