Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Discord Bot JS-如何将角色附加到特定的Discord标记?_Javascript_Discord_Discord.js - Fatal编程技术网

Javascript Discord Bot JS-如何将角色附加到特定的Discord标记?

Javascript Discord Bot JS-如何将角色附加到特定的Discord标记?,javascript,discord,discord.js,Javascript,Discord,Discord.js,我目前正在为我的discord编程一个机器人,我想要一个我的mods可以编写的命令,将静音角色附加到特定的玩家。目前,他们直接在discord标记后面键入/mute(例如/muteDanyboy#8473),discord标记保存在一个名为commandsplit的变量中(称为“Danyboy#8473”)。 如何定位该discord标记并将mute角色附加到该用户 我使用discord.js来编程。 第23行是我想开始工作的部分,谢谢 const Discord = require("disc

我目前正在为我的discord编程一个机器人,我想要一个我的mods可以编写的命令,将静音角色附加到特定的玩家。目前,他们直接在discord标记后面键入/mute(例如/muteDanyboy#8473),discord标记保存在一个名为commandsplit的变量中(称为“Danyboy#8473”)。 如何定位该discord标记并将mute角色附加到该用户

我使用discord.js来编程。 第23行是我想开始工作的部分,谢谢

const Discord = require("discord.js");
const TOKEN = "MyToken"
const PREFIX = "/timeout24"
var bot = new Discord.Client();
const COMMAND = "/mute"

/*Confirms the bot is active */
bot.on("ready", function(){
    console.log("Bot Active");
});

/*Gives new members the "Member" role */
bot.on("guildMemberAdd", function(member) {
    member.addRole(member.guild.roles.find("name", "Member"))
});

/*The mute command */
bot.on("message", function(message) {
    if(message.author.equals(bot.user)) return;
    if(!message.content.startsWith(COMMAND)) return;
    var commandsplit = message.content.substring(COMMAND.length).split(" ");

    commandsplit.id.addRole(message.guild.roles.find("name", "Muted"))

})
bot.login(TOKEN);
请仔细阅读使用说明。addRole可设置静音角色

您的方法无法正常工作,因为您有一个用户名字符串,但是。addRole为成员使用映射(对象类型)。因此,您需要将成员存储为具有给定用户名的变量。虽然您也可以这样做,但更好的方法是使用@antify,并且它们仅被解析为对象

首先做一个if语句并检查它是否是mute命令
if(message.startsWith(${prefix}mute);
(您需要从
botconfig.json
调用前缀,或者先在邮件文件中定义前缀),然后在if语句内部使用以下代码

let muteuser = message.mentions.members.first();
let muterole = message.guild.roles.find('name',"Muted");
muteuser.addRole(muterole);
请确保您理解代码,而不仅仅是复制它


如果您需要任何帮助,请告诉我。请查看。将您的用户角色设置为“静音”(或其他),并使用将其静音。如果您ping特定用户,这将更容易。有几种方法可以做到这一点,这正是我个人喜欢的。您可以阅读文档以查找和使用其他方法