If statement Discord.js v12机器人在不同的通道中说命令(通过args?)
我在寻求帮助/指导/建议。。。我有我的不和谐机器人说,命令在这里,它花了我一段时间,让它这么远和工作。我要找的是适应当前的代码,这样我就可以检查单词after.say是否是一个频道,如果是,就把信息发送到那里。表示欢迎。。。。。。。将导致机器人在反馈通道中表示欢迎,否则只需在同一通道中发送消息。我希望我已经正确地解释了我自己,但这是我的头,我试图研究尽可能多。提前感谢您抽出时间If statement Discord.js v12机器人在不同的通道中说命令(通过args?),if-statement,arguments,discord,discord.js,If Statement,Arguments,Discord,Discord.js,我在寻求帮助/指导/建议。。。我有我的不和谐机器人说,命令在这里,它花了我一段时间,让它这么远和工作。我要找的是适应当前的代码,这样我就可以检查单词after.say是否是一个频道,如果是,就把信息发送到那里。表示欢迎。。。。。。。将导致机器人在反馈通道中表示欢迎,否则只需在同一通道中发送消息。我希望我已经正确地解释了我自己,但这是我的头,我试图研究尽可能多。提前感谢您抽出时间 case 'say': if (!message.member.rol
case 'say':
if (!message.member.roles.cache.find(r => r.name === 'Moderator') && !message.member.roles.cache.find(r => r.name === 'Staff')) return message.channel.send('You dont not have the required permissions').then(msg => {
msg.delete({ timeout: 5000 })
})
else if (message.content.startsWith(".say")) {
if (message.deletable) {
message.delete();
}
if (!args[1]) return message.channel.send("Nothing to say").then(msg => {
msg.delete({ timeout: 5000 })
})
message.channel.send(`${(args.slice(1).join(" "))}`)
要检查传入消息中是否提到通道,可以使用返回对象的属性 返回消息中提到的内容 因此,要检查消息中是否至少提到一个频道: 如果message.notices.channels.size>0{ //消息中至少有一个频道提及。 }否则{ //消息中没有提到频道。 } 要向第一个频道发送消息,请提及: message.references.channels.first.sendmessage;
非常感谢,我完全走错了路去实现我想要的。我想在我的脑海里,我想我想要的是。。。。将args[2]从前面拆分,并从通道ID中删除>等。不客气,制作一个子字符串以获取通道ID以获取公会中的通道可能会起作用,但正如您所看到的,模块中已经有了更方便的方法/属性。