![](/img/trans.png)
[英]Discord.js Bot Welcomes Member, Assign a Role and send them a DM
[英]How do I detect a mentioned member and assign a role to them with a discord bot? (Javascript)
我正在尝试建立一个Discord机器人,该机器人将在用户键入命令后为用户提供一个预制角色,称为“挂起”。 我希望命令是!suspend @user length,但是我不确定如何知道是否提到了用户。
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');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.