Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Discord社区机器人,用于处理Discord角色的FiveM服务器_Discord_Discord.js - Fatal编程技术网

Discord社区机器人,用于处理Discord角色的FiveM服务器

Discord社区机器人,用于处理Discord角色的FiveM服务器,discord,discord.js,Discord,Discord.js,我正在尝试为我们的FiveM服务器创建一个discord社区bot,用于处理discord角色。 我希望bot限制ROLECHANNEL,因此只能发布角色命令。我希望删除其他垃圾,以便频道保持干净 命令正在运行,角色已分配,但bot也会触发消息。reply('error role,type'+prefix+'roles')为什么 client.on('message', message => { if (message.channel.id === ROLECHANNEL) {

我正在尝试为我们的FiveM服务器创建一个discord社区bot,用于处理discord角色。 我希望bot限制ROLECHANNEL,因此只能发布角色命令。我希望删除其他垃圾,以便频道保持干净

命令正在运行,角色已分配,但bot也会触发
消息。reply('error role,type'+prefix+'roles')为什么

client.on('message', message => {

if (message.channel.id === ROLECHANNEL) {
    if (message.author.bot) return;

    if (!message.content.includes("fivem", "ark", "arma3", "roles", "stream",)) {
        message.delete([1]);
        message.reply('Wrong role, type ' + prefix +'roles');
    }
    if(message.content.startsWith(prefix + "fivem")){
        message.delete([1]);
        let fivemrole = message.member.guild.roles.find("name", "fivem");
        message.member.addRole(fivemrole);
        message.channel.send('Gives ' + message.author + ' fivem role...');

    }
    if(message.content.startsWith(prefix + "arma3")){
        message.delete([1])
        let armarole = message.member.guild.roles.find("name", "Arma3");
        message.member.addRole(armarole);
        message.channel.send('Gives ' + message.author + ' Arma3 role...');

    }
    if(message.content.startsWith(prefix + "ark")){
        message.delete([1]);
        let arkrole = message.member.guild.roles.find("name", "Ark");
        message.member.addRole(arkrole);
        message.channel.send('Gives ' + message.author + ' Ark role...');

    }
    if(message.content.startsWith(prefix + "stream")){
        message.delete([1]);
        let streamerrole = message.member.guild.roles.find("name", "Streamer");
        message.member.addRole(streamerrole);
        message.channel.send('Gives ' + message.author + ' Streamer role...');

    }
    if (message.content.startsWith(prefix + "roles")) {
        message.delete([1]);
        message.channel.send('Help: ' + message.author + ' roles are. ' + roles);
    }
};

您在这部分中遇到的问题
!message.content.包括(“fivem”、“ark”、“arma3”、“角色”、“流”)
因为消息包含仅侦听第一个参数“fivem”,所以需要在代码中添加

V2

作为第一个变体:

if(!message.content.includes("fivem") && !message.content.includes("ark") && !message.content.includes("arma3"))
或者您可以设置允许的可变数组并进行检查

    let allowedCommands = ["fivem", "ark", "arma3", "roles", "stream"]
if (!allowedCommands.find(command => message.content.indexOf(command) !== -1)) {
    message.delete([1]);
    message.reply('Wrong role, type ' + prefix +'roles');
}

if(!message.content.includes(“fivem”| |“ark”| |“arma3”| |“roles”| |“stream”,)
像这样吗?我在回答中写了一些例子:)非常感谢,这是一个很好的解决方法。解决了问题。很高兴为您提供帮助:)