If statement Discord.js v12机器人在不同的通道中说命令(通过args?)

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

我在寻求帮助/指导/建议。。。我有我的不和谐机器人说,命令在这里,它花了我一段时间,让它这么远和工作。我要找的是适应当前的代码,这样我就可以检查单词after.say是否是一个频道,如果是,就把信息发送到那里。表示欢迎。。。。。。。将导致机器人在反馈通道中表示欢迎,否则只需在同一通道中发送消息。我希望我已经正确地解释了我自己,但这是我的头,我试图研究尽可能多。提前感谢您抽出时间

        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以获取公会中的通道可能会起作用,但正如您所看到的,模块中已经有了更方便的方法/属性。