首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为我们的FiveM服务器处理不和谐角色的不和谐社区机器人

为我们的FiveM服务器处理不和谐角色的不和谐社区机器人
EN

Stack Overflow用户
提问于 2019-12-30 13:51:52
回答 1查看 790关注 0票数 0

我正试图为我们的FiveM服务器创建一个不和谐的社区机器人来处理不和谐的角色。我希望机器人限制ROLECHANNEL,所以只有角色命令可以发布。其他垃圾我想删除,所以频道保持干净。

命令正在工作,角色被分配,但机器人也会触发message.reply('Wrong role, type ' + prefix +'roles');为什么?

代码语言:javascript
复制
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);
    }
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-30 14:20:14

由于消息只包含侦听第一个参数“!message.content.includes("fivem", "ark", "arma3", "roles", "stream",)”,所以您需要在代码中添加or块。

V2

作为拳头变体:

代码语言:javascript
复制
if(!message.content.includes("fivem") && !message.content.includes("ark") && !message.content.includes("arma3"))

或者您可以设置允许的varible数组并检查它。

代码语言:javascript
复制
    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');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59531986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档