我试图创建一个带有参数和提及的命令。我所做的是,我想把文本频道作为一个论点。 我可能解释得不太好
例如,我添加了带有语法的命令:<prefix> <message> <#channel>
但我无法在参数 [2] 中提及通道。
我尝试了什么:
let msg = args[1];
let channel = message.mentions.channels.first(args[2]); // It quite not make any sense, right?
message.channel.send(`Message: ${msg} \nIn channel: ${channel}!`);
它只是崩溃了。这里有一点帮助!
答案 0 :(得分:1)
它崩溃的原因是因为您使用了错误的“args[]”,对于let msg = args[1];
,它应该设置为args[0]
。现在对于频道,您可以使用 args[1]
或
您可以尝试使用 message.mentions
因此您可以执行以下操作:
let channel = message.mentions.channels.first();
完整代码:
let msg = args[0]; //Get the first word from the message
let announceChannel = message.mentions.channels.first(); //Get the announcement channel
message.channel.send(`Message: ${msg} \nIn channel: ${announceChannel}!`); //Let the sender know the announcement has been sent
announcementChannel.send(msg); //Send the announcement