我正在尝试设置一个Discord bot,它会在用户输入命令后为用户提供一个名为“Suspended”的预制角色。我希望命令是!暂停@user长度,但我不知道如何判断用户是否被提及。
const Commando = require('discord.js-commando');
const bot = new Commando.Client();
const TOKEN = 'redacted'
bot.registry.registerGroup('simple', 'Simple');
bot.registry.registerDefaults();
bot.registry.registerCommandsIn(__dirname + '/commands');
bot.on('message', function(message){
if(message.content == 'testk.1')
{
message.channel.sendMessage('Hi ' + message.author + ' nab.');
}
if(message.content == 'testk.2')
{
message.member.send("Nabwoo XD");
}
if(message.content == '!suspend', mentionsMember) //This is the part im
having an issue on
{
message.channel.sendMessage('works');
}
});
bot.on('ready',function(){
console.log("Ready");
})
bot.login(TOKEN);
如何将名为“Suspended”的角色分配给消息中提到的用户?
有很多方法可以解决这个问题。下面只是一种方法,通过空格将字符串拆分成数组,并查看是否有3个部分并确保第一部分是!suspend
,第二部分以@
开头。当然,您可以根据自己的需求制作更多产品。
if(message.content.split(" ").length === 3 && message.content.split(" ")[0] == '!suspend' && message.content.split(" ")[1].startsWith("@"))
{
var mentionsMember = message.content.split(" ")[1]; // 2nd item in array when text is split by spaces, (ex. `@user`)
message.channel.sendMessage('works');
}